Нам нужно в счет-фактуре в графе "Документ об отгрузке № п/п 1-8 № 05989 от 28.09.2021;" вставить условие для номера.
Если в заказе поле "Тема" = "Испытание СИЗ", тогда в счет-фактуре вместо номера документа об отгрузке пишем "б/н".
Вот так: "Документ об отгрузке № п/п 1-8 № б/н от 28.09.2021;"
Иначе, как сейчас по умолчанию.
Нужно использовать условыный вывод
${
formatter.printIfElse(
formatter.findAttribute([Заказ покупателя], 'Тема').entityValue.name == 'Испытание СИЗ',
[Замена номера отгрузки на 'б/н'],
formatter.getDemandsDocumentInfo(o)
)
}
где:
-
ЗаказПокупателя -
o.getDemands().iterator().next().getInvoicesOut().iterator().next().getCustomerOrder()
-
Замена номера отгрузки на 'б/н' - тут нужно заменить в выводе формулы
formatter.getDemandsDocumentInfo(o)
, наименование отгрузки на "б/н", следующей формулойformatter.getDemandsDocumentInfo(o).repalce([Номер отгрузки], 'б/н')
Номер отгрузки -
o.getDemands().iterator().next().name
получаем формулу
formatter.getDemandsDocumentInfo(o).repalce(o.getDemands().iterator().next().name, 'б/н')
Подставляем оба значения в итоговую формулу:
${
formatter.printIfElse(
formatter.findAttribute(
o.getDemands().iterator().next().getInvoicesOut().iterator().next().getCustomerOrder(),
'Тема'
).entityValue.name == 'Испытание СИЗ',
formatter.getDemandsDocumentInfo(o).replace(o.getDemands().iterator().next().name, 'б/н'),
formatter.getDemandsDocumentInfo(o)
)
}
Убираем лишние символы:
${formatter.printIfElse(formatter.findAttribute(o.getDemands().iterator().next().getInvoicesOut().iterator().next().getCustomerOrder(),'Тема').entityValue.name == 'Испытание СИЗ',formatter.getDemandsDocumentInfo(o).replace(o.getDemands().iterator().next().name, 'б/н'),formatter.getDemandsDocumentInfo(o))}