Bernet @ Вчера, 21:30
,
Спасибо за инфу уважаемые друзья...
Ну в принципе, все что изложено выше я знал ... и в том числе по поводу этого:
Цитата(Batchir @ 30.07.20, 15:34)
можно использовать функции общих модулей конфигурации.
Но, знал кроме как раз вот этого вопроса:
Цитата(Batchir @ 30.07.20, 15:34)
В выражениях вычисляемого поля есть ограничение - в нем нельзя использовать вычисляемые поля
И я, конечно же, догадывался что именно так ... просто хотел как раз именно сей вопрос и уточнить.
Ну а что касается:
Цитата(Bernet @ 30.07.20, 21:30)
Но вы можете вынести её в какой-то общий модуль, сделать экспортную функцию и сделать вызов в выражении вычисления вычисляемого поля, тогда повторяться не нужно будет
Не очень согласен ... будет... Ибо даже с применением глобальных экспортных функций все равно в выражениях для разных вычисляемых полей нужно будет указывать одни и те же значения аргументов вызываемой оттуда функций
К примеру, выражение без экспортной функции для конкретного выше изложенного простого примера выглядит так
Цитата
Путь к данным: "РАСЧЕТ_ЮрЛица_Задолежнность_Квтч"
Выражение: "ЮрЛица_Квтч_Приход+ЮрЛицаИП_Квтч_Приход-ЮрЛица_Квтч_Расход+ЮрЛицаИП_Квтч_Расход"
А уже с применением функции вот так:
Цитата
Путь к данным: "РАСЧЕТ_ЮрЛица_Задолежнность_Квтч"
Выражение: "СКД.Задолженность(ЮрЛица_Квтч_Приход,ЮрЛицаИП_Квтч_Приход,ЮрЛица_Квтч_Расход,ЮрЛицаИП_Квтч_Расход)"
Это если на пример создать модуль: "СКД" и там примитивненько прописать так:
Функция НачисленоОплачено(Доля_ЮрЛица,Доля_ЮрЛицаИП) Экспорт
Возврат Доля_ЮрЛица+Доля_ЮрЛицаИП;
КонецФункции
Функция Задолженность(ЮрЛица_Приход,ЮрЛицаИП_Приход,ЮрЛица_Расход,ЮрЛицаИП_Расход) Экспорт
//==================
Начислено=НачисленоОплачено(ЮрЛица_Приход,ЮрЛицаИП_Приход);
Оплачено=НачисленоОплачено(ЮрЛица_Расход,ЮрЛицаИП_Расход);
//==================
Возврат Начислено-Оплачено;
КонецФункции
Функция ПроцентОплаты(ЮрЛица_Приход,ЮрЛицаИП_Приход,ЮрЛица_Расход) Экспорт
//==================
Начислено=НачисленоОплачено(ЮрЛица_Приход,ЮрЛицаИП_Приход);
Оплачено=НачисленоОплачено(ЮрЛица_Расход,ЮрЛицаИП_Расход);
//==================
Если Начислено=0 Тогда
Возврат 0;
Иначе
Возврат Окр(Оплачено/Начислено*100,2);
КонецЕсли;
//==================
КонецФункции
Т.е. все равно нужно повторять те же "ЮрЛица_Квтч_Приход",ЮрЛица_Квтч_Расход, и т.д. С разницей только в том, что при первом пишешь без функции, а при втором внутри функции. И это из-за ограничения ... которая все таки дает неудобство... хоть и малое.
Хотя, не смотря на это, с применением функций все таки удобнее ... чем например в вырождениях писать вот так:
Цитата
ВЫБОР
КОГДА ЮрЛица_Квтч_Приход+ЮрЛицаИП_Квтч_Приход=0 ТОГДА
0
ИНАЧЕ
Окр((ЮрЛица_Квтч_Расход+ЮрЛицаИП_Квтч_Расход)/(ЮрЛица_Квтч_Приход+ЮрЛицаИП_Квтч_Приход)*100,2)
КОНЕЦ
И конечно тут вместо этого удобнее через функцию... на пример функцию: "ПроцентОплаты".
Так что ладно ... хоть так и то дело.
Всем огромное спасибо! Пока!