Показать сообщение отдельно
Старый 10.01.2020, 17:45   #282  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
Столкнулся с такой проблемой: нужно выводить значение в ячейку xls-отчет по условию - если журнал разнесен, то выводится значение из транзакции, если не разнесен - ячейка должна оставаться пустой.
Т.к. IF требует, чтобы оба параметра были одного типа, пишу выражение
IF('$СomingJournals'.'$JournalHeader'.Posted=NoYes.Yes, @.'$InventLine'.Qty, VALUE(""))
валидация проходит, но при выполнении возникает ошибка.
Меняю выражение на
IF('$СomingJournals'.'$JournalHeader'.Posted=NoYes.Yes, @.'$InventLine'.Qty, VALUE("0"))
но тогда в ячейку выводится значение 0,00 (у ячейки установлен числовой формат) - это не устраивает заказчика; он хочет, чтобы ячейка была именно пустой.
Единственное до чего додумался - оба параметра конвертировать в строковый тип
IF('$СomingJournals'.'$JournalHeader'.Posted=NoYes.Yes, NUMBERFORMAT(@.'$InventLine'.Qty, "F2", "ru"), "")
но (когда журнал разнесен) вывод значения в строковом представлении и трактуется Экселем как строка, т.е. не суммируется и т.п.
Может кто-то уже решал такую задачу и может что-то подсказать?
Т.е. в общем случае: по условию выводить значение в ячейку или вообще ничего не выводить.
null в качестве второго параметра IF не воспринял.