- Платформа PARTS SOFT /
- Возможности /
- Шаблоны документов и переменные
Шаблоны документов и переменные
В разделе админпанели Служебные → Шаблоны документов можно создавать собственные шаблоны документов в формате XLS
Используется jXLS 1.X для создания Excel 2007 или 2010
Список шаблонов
Здесь отображаются как стандартные шаблоны, предустановленные нами, так и ваши собственные.
1. Скачать файл шаблон в XLS-формате.
2. Отредактировать параметры шаблона
3. Удалить шаблон
4. Добавить новый шаблон
Создание шаблона
Для добавления нового шаблона (например, для бланка заказа):
ШАГ 1. В списке шаблонов найдите подходящий под ваш тип документов и скачайте его (иконка с документом). В нашем случае Стандарт - Бланк заказа.
ШАГ 2. Подготовьте файл шаблона. После этого вернитесь в раздел админпанели Служебные → Шаблоны документов и нажмите кнопку Создать.
ШАГ 3. Отредактируйте параметры шаблона:
Настройка | Описание |
---|---|
Наименование |
Название шаблона для списка из раздела в Служебные → Шаблоны документов. |
Группа |
Выберите группу документов, для печати которых сможет применяться шаблон:
|
Регион |
Определяет привязку шаблона к конкретным регионам. Выбрать шаблон смогут только:
Если поле оставить пустым, то данный шаблон будет доступен во всех регионах. |
Тип клиента |
Определяет привязку шаблона к типу клиента: Физ.лицо или Юр.лицо. По умолчанию указан вариант Любой (для всех типов клиентов). Например, если для шаблона счета выбрано Физ.лицо, то менеджер сможет выбрать его только для печати счета клиента - частного лица. Аналогичное поведение будет и для клиента на сайте (при условии, что для шаблона включена опция Показывать в клиентской части) — в разделе Счета личного кабинета при нажатии на кнопку Скачать. |
Активен | Включите галочку, чтобы данный шаблон можно было выбрать для печати документа в админпанели. Если шаблон настраивается для бланка заказа, то он будет доступен при нажатии на кнопку Печать в разделе админпанели Заказы → По группам. |
Показывать в клиентской части |
Включите галочку, чтобы данный шаблон можно было выбрать для печати документа на сайте. |
Файл шаблона |
Выберите и загрузите подготовленный файл шаблона (см шаг 1 текущей инструкции). Файл должен быть в формате XLS 97-2003. Другие форматы не поддерживаются.
|
ШАГ 4. Сохраните изменения. Теперь шаблон появится среди доступных на печать.
Вывод списка позиций, даты заказа, названия компании и других параметров
Для этого используются переменные. Например:
-
${order.orderId}
— номер заказа клиента -
${order.dateWords}
— дата заказа словами -
${order.customer.shortEssential}
— реквизиты клиента -
${order.region.essential.companyName}
— название компании -
${order.sumRublej}
— сумма заказов в рублях
Для списка позиций используется оператор цикла <jx:foreach items="${order.orderItems}" var="order_item"></jx:foreach>
где
-
order.orderItems
— массив переменных для перебора -
order_item
— наименование переменной в цикле -
status
— переменная информации о цикле
Цикл необходимо закрыть оператором </jx:foreach>
. Операторы начала цикла и конца цикла должны быть проставлены в пустых строках до и после строки шаблона таблицы списка.
В результате получаем:
Подробнее о переменных в шаблонах
Для каждой группы документов в шаблоне присутствует корневой объект:
-
Заказы —
order
-
Накладные —
invoice
-
Счета —
bill
-
Возврат —
productReturnReasonRequest
-
ПКО —
balancePko
У этих объектов есть зависимые объекты и собственные поля:
invoice
— накладная
-
id
— ID документа в системе -
createdAt
— дата создания -
sum
— сумма -
sumNds
— сумма НДС -
sumWithoutNds
— сумма без НДС -
qnt
— количество единиц товара, не путать с количеством позиций документа -
weight
— сумма веса позиций по накладной -
positionCount
— количество позиций заказа -
positionCountWord
— количество позиций документа словами -
monthNum
— месяц номер (v1.1) -
monthWord
— месяц создания документа словами -
year
— год создания документа -
day
— день создания документа -
ndsPercent
— процент ндс -
no
— номер документа -
autosDescription
— если накладная создана из заказа к которому привязан автомобиль, переменная выведет название автомобиля -
sumRublej
— сумма словами рублей -
sumGriven
— сумма словами гривен -
sumTenge
— сумма словами тенге -
dateWords
— дата словами, например 12 декабря 2017 года -
documentCreatedAt
— дата документов по данным поставщика -
documentCreatedAtWords
— дата документов по данным поставщика словами -
customer
— ссылка на объект типа customer (Пользователь) -
region
— ссылка на объект типа region (Регион) -
invoiceItems
— список позиций документа
invoiceItem
— позиция накладной
-
oem
— номер детали -
makeName
— производитель детали -
detailName
— название детали -
price
— цена за единицу -
priceWithoutNds
— цена без НДС -
qnt
— количество -
sum
— сумма -
sumWithoutNds
— сумма без ндс -
ndsSum
— сумма с ндс -
gtd
— номер накладной -
countryDigitalCode
— код страны -
countryCode
— буквенный код -
countryShortName
— короткое наименование страны -
countryFullName
— полное наименование страны -
weight
— вес детали -
tnvdCode
— код ТНВД -
currency
— код валюты (накладные поставщиков) -
currencyCode
— цифровой код валюты (накладные поставщиков) -
unit
— единица измерения (накладные поставщиков) -
orderItemComment
— комментарий позиции клиентского заказа (добавлено 03.11.2021) -
stockBatchesAsLabel
— в какой ячейке на складе находилась позиция (добавлено 11.06.2024)
customer
— клиент
-
id
— ID клиента -
updCompileName
— имя клиента для УПД (без ID клиента) -
email
— адрес электронной почты -
balance
— баланс -
compileName
— имя клиента -
contractComment
— Основание (договор, доверенность) -
urType
— тип клиента 0 — юр. лицо, 1 — физ. лицо -
contact
— ссылка на объект contact (Контакты) -
essential
— ссылка на объект essential (Реквизиты) -
deliveryAddress
— ссылка на объект address (адрес доставки) -
officialAddress
— ссылка на объект address (юр. адрес / адрес регистрации) -
clientCoef
— клиентский коэффициент наценки -
staticStockCell
— ячейка склада (информационная)
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
— ссылка на массив объектов orderItems -
deliveryType
— ссылка на объект deliveryType -
deliveryPoint
— ссылка на объект deliveryPoint -
orderAddress
— ссылка на объект adress -
loadOrderClientNumber
— номер заказа из файла заказа клиента -
clientFileCells
— двухмерный массив ячеек файла оптового заказа (если подгружался). Пример вызова ${order.clientFileCells[2][4]} - weight - сумма веса всех позиций заказа
deliveryType
— тип доставки
-
id
— ID типа доставки -
name
— название типа доставки
deliveryPoint
— точка выдачи
-
id
— ID типа доставки -
name
— название типа доставки -
title
— описание
orderItem
— позиции заказа
-
id
— ID позиции -
cost
— цена продажи -
sum
— сумма -
firstCost
— цена закупки -
qnt
— количество заказано -
currentQnt
— текущее актуальное количество -
qntConfirmed
— количество подтвердили -
qntAccept
— количество подтвердили накладной -
qntAcceptOrConfirmed
— если есть количество подтверждено накладной — выдается оно, если нет — количество подтвержденное через веб—сервис/файлом ответа/через ответ на сайте -
qntIncome
— количество выдали -
answereQnt
— количество для ответа клиенту -
status
— статус текстом -
statusCode
— код группы статуса -
comment
— комментарий клиента -
oem
— номер детали -
makeName
— бренд -
detailName
— название -
minDeliveryDay
— минимальный срок доставки -
maxDeliveryDay
— максимальный срок доставки -
customerTitle
— название клиента -
lastStatusChangeAt
— дата последнего изменения статуса -
createdAt
— дата создания позиции -
userCommitId
— ID менеджера отправившего в статус В работе -
commitUserName
— имя менеджера отправившего в работу -
userOrderId
— ID менеджера создавшего заказ -
userOrderName
— имя менеджера создавшего заказ -
column(1—20)
— если заказ подгружался из excel, то в этих ячейках значения столбцов строки заказа. -
stockBatchesAsLabel
— в какой ячейке на складе находилась позиция (добавлено 11.06.2024) - detailComment - комментарий из позиции прайс-листа
- searchComment - комментарий из прайс-листа
- weight - вес позиции
- requestedMakeName - запрашиваемый бренд
- requestedOem - запрашиваемый номер
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
— массив элементов счета объекты billItem -
order
— объект типа Order (если счет привязан к заказу)
billItem
— позиции счета
id — ID позиции
sum — сумма
ndsSum — сумма ндс
sumWithoutNds — сумма без ндс
cost — цена за единицу
qnt — количество
oem — номер
makeName — бренд
detailName — название
- detailComment - комментарий из позиций прайс-листа
- searchComment - комментарий из прайс-листа
productReturnReasonRequest
— документ возврата
-
id
— ID возврата -
customer
— ссылка на объект customer (Клиент сделавший возврат) -
region
— ссылка на объект region (Регион оформления возврата) -
productReturnReason
— ссылка на объект productReturnReason (Тип причины возврата) -
orderItem
— ссылка на объект orderItem (Позиция на возврат) -
invoices
— накладные по которым был выдан товар (может быть несколько) -
returnSum
— сумма к возврату с учетом процента удержания -
returnCost
— возврат за одну позицию с учетом процента удержания -
returnQnt
— количество к возврату -
dateWords
— дата словами -
monthNum
— месяц номер (v1.1) -
monthWord
— месяц -
year
— год -
day
— день
productReturnReason
— тип возврата
-
id
— ID типа возврата -
name
— название -
percentRetention
— процент удержания
basketBundle
— корзина на печать (v 1.07)
-
customer
— ссылка на объект customer (доступна только для клиентской части, при использовании клиентского коэффициента рекомендуем проводить проверку на пустоту. Например ${basket.cost * (basket_bundle.customer != null ? basket_bundle.customer.clientCoef : 1)}) -
region
— ссылка на объект region (Регион печати корзины) -
user
— ссылка на объект user (Менеджер печатающий корзину) -
baskets
— позиции корзины, массив объектов basket -
sum
— сумма число -
qnt
— сумма единиц товара -
sumRublej
— сумма словами в рублях -
sumGriven
— сумма словами в гривнах -
sumTenge
— сумма словами в тенге -
dateWords
— дата словами -
monthNum
— месяц номер (v1.1) -
monthWord
— месяц -
year
— год -
day
— день -
positionCount
— количество строк -
positionCountWord
— количество строк прописью - weight - сумма веса всех позиций
basket
— элементы корзины (v 1.07)
-
oem
— номер детали -
oemMask
— номер скрытый -
makeName
— бренд -
detailName
— название -
cost
— цена -
qnt
— количество -
minDeliveryDay
— минимальный срок доставки -
maxDeliveryDay
— максимальны срок доставки -
sum
— сумма позиций - detailComment - комментарий из позиций прайс-листа
- searchComment - комментарий из прайс-листа
- weight - вес позиции
- requestedMakeName - запрашиваемый бренд
- requestedOem - запрашиваемый номер
balancePko
— документ ПКО
-
region
— ссылка на объект region (Регион клиента) -
user
— ссылка на объект user (Менеджер выполнивший внесение на баланс) -
customer
— ссылка на объект customer (Клиент сделавший пополнение баланса) -
sum
— сумма число -
sumRublej
— сумма словами в рублях -
sumGriven
— сумма словами в гривнах -
sumTenge
— сумма словами в тенге -
dateWords
— дата словами -
monthNum
— месяц номер (v1.1) -
monthWord
— месяц -
year
— год -
day
— день -
description
— описание пополнения -
incomeType
— источник пополнения -
ruble
— целая часть суммы -
penny
— копейки -
id
— ID документа -
createdAt
— дата создания документа
route_request
— заявка на маршрут
-
driver
— водитель ссылка на объект User(Менеджер) -
delivery_routes
— группировка инвойсов по маршрутам. Ссылка на объект RouteRequestDeliveryRoute(группа инвойсов по маршрутам)
RouteRequestDeliveryRoute
— группа инвойсов по маршрутам
-
routeName
— имя маршрута -
sum
— сумма -
invoices
— накладные (массив объектов типа invoice)