Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Вопрос по программированию в 1С: как рассчитать сумму и цену.

Вопрос по программированию в 1С: как рассчитать сумму и цену.
Я
   АнтонМ
 
04.06.18 - 23:31
Имеется информационная база с документами. Нужно в общем модуле создать функцию, с помощью которой автоматически будет рассчитываться сумма и цена. При этом нужно, чтобы сумма вычислялась с помощью произведения количества и цены, а цена вычислялась с помощью деления суммы и количества. При этом в пользовательском режиме нужно, чтобы цена вычислялась с помощью изменения значения суммы. Как сделать?
 
 
   Сергиус
 
1 - 04.06.18 - 23:36
(0)В какой момент должны происходить данные вычисления?
   Cyberhawk
 
2 - 04.06.18 - 23:43
На работу устраиваешься или в универе такое задают?
   АнтонМ
 
3 - 04.06.18 - 23:58
(1) Перед проведением документа.
   Красный рассвет
 
5 - 05.06.18 - 01:21
(3) Эт-та вряд ли (с)
   Franchiser
 
6 - 05.06.18 - 01:53
Сделать функцию в событии приизменении()
   fgaabbb
 
7 - 05.06.18 - 04:33
взять книгу Радченко "Практическое пособие для разработчика" - там такой пример подробно разбирается. Скачай учебную версию 1С, там в архиве она есть + много еще чего.
   0xFFFFFF
 
9 - 05.06.18 - 08:08
(8) Убивец мисты? :)))
   impulse9
 
10 - 05.06.18 - 08:22
(9) жалкая пародия
 
 Рекламное место пустует
   Leon01
 
11 - 05.06.18 - 08:34
Что значит убивец?
   Dotoshin
 
12 - 05.06.18 - 08:37
(11) Конкурент...
   Leon01
 
13 - 05.06.18 - 08:45
Этот форум? Там с десяток почитателей сидят!
   АнтонМ
 
14 - 05.06.18 - 09:46
(7) В книге Радченко такой пример как раз не разбирается. Там разбирается с процедурой, а это я и так знаю как сделать. А мне нужно именно с функцией, чтобы функция сама выбирала, что ей рассчитывать сумму или цену.
   bolder
 
15 - 05.06.18 - 09:50
(14) Милейший ,так напишите.Что,кстати собрались функцией возвращать,цену или сумму?)))
   АнтонМ
 
16 - 05.06.18 - 11:03
В том то и дело, что функция должна знать что нужно ей возвращать цену или сумму. Т. е. в зависимости от того элемента формы, к которому обращаемся, функция должна решать, что ей возвращать.
   Малыш Джон
 
17 - 05.06.18 - 11:07
(16) если ты реально думаешь, что это функция должна что-то знать, то ты не тем занимаешься.

Ты сам сначала реши, что в каком случае возвращать, а уже потом реализуй эту логику в функции.
   Timon1405
 
18 - 05.06.18 - 11:08
"сама выбирала", каким-то ИИ попахивает уже
   Cyberhawk
 
19 - 05.06.18 - 11:09
"функция должна знать" // Остановить моторику!
   Малыш Джон
 
20 - 05.06.18 - 11:15
А ведь так подумать, декларативный подход был бы оочень популярен в учете вообще, и в 1С в частности)
   АнтонМ
 
21 - 05.06.18 - 11:17
В задании было написано так: в зависимости от того, откуда функцию поманили, она должна возвращать либо Сумму, либо Цену!!!
   Малыш Джон
 
22 - 05.06.18 - 11:18
(21) а в голове какие мысли по этому поводу? Суть зависимости вырисовывается? Или это ты тоже на бедную функцию спихнешь?)
   АнтонМ
 
23 - 05.06.18 - 11:24
(22) Во первых я не на какую функцию не спихивал!!! Во вторых я прекрасно понимаю, что в функции нужно прописать условие, что если обращаемся к одному элементу формы, то рассчитывает цену, если к другому, то сумму. Только как в ней обратиться к этим элементам формы?
   Mankubus
 
24 - 05.06.18 - 11:26
(23) у функции есть параметры. туда можно что-то передать
   FIXXXL
 
25 - 05.06.18 - 11:27
(23) "в ней" не надо
передавай параметром при вызове функции данные и вариант расчета
   LeoKeyn
 
26 - 05.06.18 - 11:31
(21) Параметр на возврат поставь, а в функции по Если делай две ветки вычислений
   АнтонМ
 
27 - 05.06.18 - 11:38
Т. е. в зависимости от того, к какому параметру обратились и нужно вывести либо сумму, либо цену?
   igorPetrov
 
28 - 05.06.18 - 11:41
(27) Ты там хто?
   hhhh
 
29 - 05.06.18 - 12:06
(27) как-то так пробуй
Процедура СуммаПриИзменении()

      Цена = РассчитатьЦенуИлиСумму("Цена");

КонецПроцедуры


Процедура ЦенаПриИзменении()

      Сумма = РассчитатьЦенуИлиСумму("Сумма");

КонецПроцедуры


Функция РассчитатьЦенуИлиСумму(ЧтоРассчитываем)

   Если ЧтоРассчитываем = "Цена" Тогда
       Возврат Сумма / Количество;
   ИначеЕсли ЧтоРассчитываем = "Сумма" Тогда
       Возврат Цена * Количество;
   Иначе 
       Возврат 0;
   КонецЕсли;
КонецФункции
   LeoKeyn
 
30 - 05.06.18 - 12:07
(29) собственно это и имел ввиду))) вот тебе и думающая функция:-)
   koks16v
 
31 - 05.06.18 - 12:14
(2) да по ходу скорей в школе
   Dotoshin
 
32 - 05.06.18 - 12:48
(16) Ну сделай тогда функцию с тремя параметрами - цена, сумма и количество.
Дальше проверяй если сумма не нулевая, значит надо посчитать и вернуть цену, если цена не нулевая, значит надо вернуть сумму. Как-то так...
   fgaabbb
 
33 - 06.06.18 - 05:31
гы. а что, прямо-таки огроменная разница между функцией и процедурой? ТС, ви-таки в ВУЗ ходили или хотя бы ЦПШ? Если сейчас пришел выяснять на мисту.... в Радченко прекрасный пример, как надо делать. Если этого примера не хватает - программирование не твое, займись чем-нибудь попроще.
 
 
   Адинэснег
 
34 - 06.06.18 - 07:08
начался июнь, система образования очередной изрыгнуло погромистов...
учись-учись студент, а то выдавит в консультанты, будешь по мистам хабропосты ползать пиарить...
   Серёжа_программист
 
35 - 06.06.18 - 07:29
Хотя бы Радченко для начала читали бы да, а если читать  сложно то видеокурсы Чистова "Быстрый старт"
   Segate
 
36 - 06.06.18 - 08:36
(29) Наркоманство.

Функция РассчитатьЦенуИлиСумму( Количество, сумма= неопределено, Цена=неопределено)

   Если ЗначениеЗаполнено(Сумма) Тогда//Считаем цену

       Возврат Сумма / Количество;
   ИначеЕсли ЗначениеЗаполнено(Цена) Тогда//Считаем количество

       Возврат Цена * Количество;
   Иначе//ничего не считаем

       Возврат 0;
   КонецЕсли;
КонецФункции


Список тем форума
Рекламное место пустует  Рекламное место пустует
Миста — веселый ресурс со своими эксклюзивными тараканами Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует