Шаблоны xls документов

Мы добавили возможность создавать собственные шаблоны документов в формате XLS. На данный момент доступно создание документов для следующих объектов

  • Заказы
  • Накладные
  • Счета
  • Возвраты

Для создания своего шаблона переходим в раздел Служебные - Шаблоны документов там вы видите стандартные шаблоны созданные нами и можете создать свои собственные. Для создания собственных шаблонов скачайте один из шаблонов (нужного типа Заказ, Накладная, Счет) предоставленных нами и нажмите кнопку Создать

В форме редактирования заполняем поля

  • Название - как он будет называться в списке для выбора документа
  • Группа - для какого объекта он будет доступен (Заказ, Накладная, Счет, Возврат)
  • Активен - будет ли шаблон отображаться в списке на печать
  • Показывать в клиентской части - может ли клиент сформировать документ по данному шаблону (актуально для счетов и накладных)
  • Регион - в каком регионе показывать шаблон
  • Тип клиента - можно сделать разные шаблоны для Юр. лиц и Физ. лиц
  • Файл шаблона - загружаем скачанный вами файл. Файл строго формата xls 97-2003, другие форматы не поддерживаются и будут приводить к ошибке формирования документа.

Нажимаем сохранить.

Теперь шаблон появится среди списка доступных на печать в разделе Накладные и Заказы - По группам. 

В результате получаем сформированный файл

Технические подробности о переменных

В каждом типе документа доступен корневой объект

  • Заказы - order
  • Накладные - invoice
  • Счета - bill
  • Возврат - product_return_reason_request

У этих объектов есть зависимые объекты и собственные поля, ниже подробно опишем каждый из типов объектов

invoice - накладная

  • id - id документа в системе
  • createdAt - дата создания
  • sum - сумма
  • sumNds - сумма НДС
  • 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 - цена за единицу
  • qnt - количество
  • sum - сумма
  • sumWithoutNds - сумма без ндс
  • ndsSum - сумма с ндс

customer - клиент

  • id - id клиента
  • updCompileName - имя клиента для УПД (без id клиента)
  • email - адрес электронной почты
  • balance - баланс
  • compileName - имя клиента
  • urType - тип клиента 0 - юр. лицо, 1 - физ. лицо
  • contact - ссылка на объект contact (Контакты)
  • essential - ссылка на объект essential (Реквизиты)
  • deliveryAddress - ссылка на объект address (адрес доставки)
  • officialAddress - ссылка на объект address (юр. адрес / адрес регистрации)

contact - контакты

  • phone - основной номер телефона
  • cellPhone - добавочный номер телефона
  • skype - скайп
  • email - email (только для регион)

address - адрес

  • shortAddress - адрес краткий
  • fullAddress - адрес полный

region - регион

  • name - название региона
  • nds - уровень НДС в регионе
  • contact - ссылка на объект contact (Контакты)
  • essential - ссылка на объект essential (Реквизиты)
  • deliveryAddress - ссылка на объект address (Адрес Доставки)
  • officialAddress - ссылка на объект address (Юр. адрес)

essential - реквизиты

  • companyName - название компании
  • ceoName - ФИО директора
  • buhName - ФИО бухгалтера
  • inn - инн
  • kpp - кпп
  • bik - бик
  • bank - Наименование банка
  • cityBank - Год банка
  • loroAccount - Счет
  • ogrn - ОГРН
  • okpo - ОКПО
  • korrSchet - Корр счет банка
  • shortEssential - краткие реквизиты

order - заказ

  • id - ID заказа
  • customer - ссылка на объект customer (Клиент)
  • region - ссылка на объект region (Регион)
  • createdAt - дата создания
  • orderId - ID заказа в разрезе клиента
  • sum - сумма
  • qnt - количество
  • currentQnt - количетсво актуальное
  • sumRublej - сумма в рублях
  • sumGriven - сумма в гривнах
  • sumTenge - сумма в тенге
  • dateWords - дата словами (17 декабря 2017)
  • monthWord - месяц словами
  • monthNum - месяц номер (v1.1)
  • year - год
  • day - день
  • positionCount - количество позиций
  • positionCountWord - количество позиций словами
  • orderItems - ссылка на массив объектов order_item

delivery_type - тип доставки

  • id - ID типа доставки
  • name - название типа доставки

delivery_point - точка выдачи

  • id - ID типа доставки
  • name - название типа доставки
  • title - описание

order_item - позиции заказа

  • id - id позиции
  • cost - цена продажи
  • sum - сумма
  • firstCost - цена закупки
  • qnt - количество заказано
  • currentQnt - текущее актуальное количество
  • qntAccept  - количество подтвердили
  • qntIncome  - количество выдали
  • status - статус текстом
  • statusCode - код группы статуса
  • comment - комментарий клиента
  • oem - номер детали
  • makeName - бренд
  • detailName - название
  • min_delivery_day - минимальный срок доставки
  • max_delivery_day - максимальный срок доставки
  • customerTitle - название клиента
  • lastStatusChangeAt - дата последнего изменения статуса
  • createdAt - дата создания позиции
  • userCommitId - id менеджера отправившего в статус В работе
  • commitUserName  - имя менеджера отправившего в работу
  • userOrderId - id менеджера создавшего заказ
  • userOrderName  - имя менеджера создавшего заказ

bill - счет

  • customer - ссылка на объект customer (Клиент)
  • region - ссылка на объект region (Регион) 
  • id  - id счета
  • ndsPercent - ндс процентов 
  • sumNds - сумма ндс
  • createdAt - дата создания
  • sum - сумма
  • qnt - количество единиц товара
  • sumRublej - сумма словами в рублях
  • sumGriven - сумма словами в гривнах
  • sumTenge  - сумма словами в тенге
  • dateWords - дата словами
  • monthNum - месяц номер (v1.1)
  • monthWord - месяц
  • year - год
  • day - день
  • positionCount - количество строк
  • positionCountWord - количество строк словами
  • billItems - массив элементов счета объекты bill_item

bill_item - позиции счета

  • id - id позиции
  • sum - сумма
  • ndsSum - сумма ндс
  • sumWithoutNds - сумма без ндс
  • cost - цена за единицу
  • qnt - количество
  • oem - номер
  • makeName - бренд
  • detailName - название

product_return_reason_request - документ возврата

  • id - ID возврата
  • customer - ссылка на объект customer (Клиент сделавший возврат)
  • region - ссылка на объект region (Регион оформления возврата)
  • productReturnReason - ссылка на объект product_return_reason (Тип причины возврата)
  • orderItem - ссылка на объект order_item (Позиция на возврат)
  • returnSum - сумма к возврату с учетом процента удержания
  • returnCost - возврат за одну позицию с учетом процента удержания
  • returnQnt - количество к возврату
  • dateWords - дата словами
  • monthNum - месяц номер (v1.1)
  • monthWord - месяц
  • year - год
  • day - день

product_return_reason - тип возврата

  • id - id типа возврата
  • name - название
  • percent_retention - процент удержания

basket_bundle - корзина на печать (v 1.07)

  • region - ссылка на объект region (Регион печати корзины)
  • user - ссылка на объект user (Менеджер печатающий корзину)
  • baskets - позиции корзины, массив объектов basket
  • sum - сумма число
  • qnt - сумма единиц товара
  • sumRublej - сумма словами в рублях
  • sumGriven - сумма словами в гривнах
  • sumTenge  - сумма словами в тенге
  • dateWords - дата словами
  • monthNum - месяц номер (v1.1)
  • monthWord - месяц
  • year - год
  • day - день
  • position_count - количество строк
  • position_count_word - количество строк прописью

basket - элементы корзины (v 1.07)

  • oem - номер детали
  • oem_mask - номер скрытый
  • make_name - бренд
  • detail_name - название
  • cost - цена
  • qnt - количество
  • min_delivery_day - минимальный срок доставки
  • max_delivery_day - максимальны срок доставки
  • sum - сумма позиций

Примеры вывода переменных

  • ${order.orderId} - выводим номер заказа в разрезе пользователя
  • ${order.dateWords} - выводим дату заказа словами
  • ${order.customer.shortEssential} - выводим реквизиты пользователя
  • ${order.region.essential.companyName} - выводим название компании
  • ${order.sumRublej} - выводим сумму заказов в рублях

Как выводить список позиций?

Для этого используется оператор цикла <jx:forEach items="${order.orderItems}" var="order_item"  varStatus="status"> где

  • order.orderItems массив переменных для перебора
  • order_item - наименование переменной в цикле
  • status - переменная информации о цикле

Цикл необходимо закрыть оператором </jx:forEach> . Операторы начала цикла и конца цикла должны быть проставлены в пустых строках до и после строки шаблона таблицы списка.

Для тех кому удобней посмотреть