Мы добавили возможность создавать собственные шаблоны документов в формате XLS. На данный момент доступно создание документов для следующих объектов
Заказы
Накладные
Счета
Возвраты
Для создания своего шаблона переходим в раздел Служебные - Шаблоны документов там вы видите стандартные шаблоны созданные нами и можете создать свои собственные. Для создания собственных шаблонов скачайте один из шаблонов (нужного типа Заказ, Накладная, Счет) предоставленных нами и нажмите кнопку Создать
В форме редактирования заполняем поля
Название - как он будет называться в списке для выбора документа
Группа - для какого объекта он будет доступен (Заказ, Накладная, Счет, Возврат)
Активен - будет ли шаблон отображаться в списке на печать
Показывать в клиентской части - может ли клиент сформировать документ по данному шаблону (актуально для счетов и накладных)
Регион - в каком регионе показывать шаблон
Тип клиента - можно сделать разные шаблоны для Юр. лиц и Физ. лиц
Файл шаблона - загружаем скачанный вами файл. Файл строго формата xls 97-2003, другие форматы не поддерживаются и будут приводить к ошибке формирования документа.
Нажимаем сохранить.
Теперь шаблон появится среди списка доступных на печать в разделе Накладные и Заказы - По группам.
В результате получаем сформированный файл
Технические подробности о переменных
В каждом типе документа доступен корневой объект
Заказы - order
Накладные - invoice
Счета - bill
Возврат - product_return_reason_request
ПКО - balance_pko
У этих объектов есть зависимые объекты и собственные поля, ниже подробно опишем каждый из типов объектов
invoice - накладная
id - id документа в системе
createdAt - дата создания
sum - сумма
sumNds - сумма НДС
sumWithoutNds - сумма без НДС
qnt - количество единиц товара, не путать с количеством позиций документа
positionCount - количество позиций заказа
positionCountWord - количество позиций документа словами
monthNum - месяц номер (v1.1)
monthWord - месяц создания документа словами
year - год создания документа
day - день создания документа
ndsPercent - процент ндс
no - номер документа
sumRublej - сумма словами рублей
sumGriven - сумма словами гривен
sumTenge - сумма словами тенге
dateWords - дата словами, наприме 12 декабря 2017 года
customer - ссылка на объект типа customer (Пользователь)
region - ссылка на объект типа region (Регион)
invoiceItems - список позиций документа
invoice_item - позиция накладной
oem - номер детали
makeName - производитель детали
detailName - название детали
price - цена за единицу
priceWithoutNds - цена без НДС
qnt - количество
sum - сумма
sumWithoutNds - сумма без ндс
ndsSum - сумма с ндс
gtd - номер накладной
countryDigitalCode - код страны
countryCode - буквенный код
countryShortName - короткое наименование страный
countryFullName - полное наименование страны
customer - клиент
id - id клиента
updCompileName - имя клиента для УПД (без id клиента)
${order.region.essential.companyName} - выводим название компании
${order.sumRublej} - выводим сумму заказов в рублях
Как выводить список позиций?
Для этого используется оператор цикла <jx:forEach items="${order.orderItems}" var="order_item" varStatus="status"> где
order.orderItems массив переменных для перебора
order_item - наименование переменной в цикле
status - переменная информации о цикле
Цикл необходимо закрыть оператором </jx:forEach> . Операторы начала цикла и конца цикла должны быть проставлены в пустых строках до и после строки шаблона таблицы списка.