Универсальный передаточный документ (УПД) представляет собой унифицированный документ, который включает в себя счет-фактуру, дополненный реквизитами первичного документа об отгрузке и приемке товара.
Универсальный передаточный документ заполняется на основании данных чека продажи и карты клиента. Полнота УПД обеспечивается наличием в БД Dictionaries
следующих таблиц:
Client
. Связка с организацией, на которую будет выписан УПД осуществляется по полюorganizationcode.
Organization
. В данном случае под организацией понимаются юридические лица, которые являются клиентами торговой сети (в УПД этими данными заполняется раздел Покупатель).Shop
. Указываются данные продавца и грузоотправителя (в УПД этими данными заполняется раздел Продавец).Tmc
. Полеmanufacturercountrycode
, в котором указывается связка с таблицей стран-производителейCountry
.Country
. Страна происхождения товара.
Настройка принтера (на примере принтеров HP)
Тестирование функционала проводилось на модели HP LaserJet P1102.
Для возможности печати УПД из кассы необходимо выполнить следующие шаги:
Установить пакет
artix45-print
, выполнив команду:aptitude install artix45-print
Пакет используется для конвертации документов из формата
html
(в котором формируется отчет) вpdf
(в котором выполняется печать отчета).- Подключить и настроить принтер. Для этого:
Указать репозиторий для скачивания и установки пакета, содержащего библиотеки для работы с принтером:
Для trustydeb http://ru.archive.ubuntu.com/ubuntu/ trusty main restricted universe
Для luciddeb http://update.artix.su/ubuntu lucid-security main multiverse restricted universe deb http://update.artix.su/repository/ubuntu lucid-updates main multiverse restricted universe deb http://update.artix.su/repository/ubuntu lucid main multiverse restricted universe
После указания репозитория необходимо установить пакет
hplip
, выполнив команду:aptitude install hplip
Для настройки принтера выполнить команду:
hp-setup -i
При настройке принтера указать последовательно данные:
usb
download plug-in from HP
accept the license terms for plug-in
use model name:...
PPD file is correct
"some printer description"
Enter
Print test page
Установить пакет
cups
, обеспечивающий управление принтером из ОС Ubuntu, выполнив команду:aptitude install cups
- Настроить пакет
cups
в конфигурационном файле/etc/cups/cupsd.conf
, указав в нем ip-адрес кассы и порт 631.
- Для возможности просмотра настроек принтера и задач на печать необходимо:
Выполнить команды:
Для lucidservice cups restart
Для trustyservice cups restart service cups-browsed restart
Для встроенного браузера указать ссылку на страницу
https://<ip-адрес_кассы>:631/
Печать универсального передаточного документа
Автоматическая печать
Начиная с версии 4.6.104 с помощью автоматической печати создается два экземпляра универсального передаточного документа - для клиента и для магазина.
Начиная с версии 4.6.120 добавлено получение номера УПД с кассового сервера.
Для автоматической печати универсального передаточного документа необходимо, чтобы в карточке клиента был заполнен уникальный код организации (БД Dictionaries
таблица Client
поле organizationcode
).
Для печати универсального передаточного документа необходимо включить плагин printwaybill
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d
в секции [plugins]
.
- при значении
on
при закрытии чека печатается счет-фактура. Поведение по умолчанию; - при значении
off
при закрытии чека счет-фактура не печатается.
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
printwaybill | строковый | Включение и выключение плагина для возможности печати счета-фактуры | По умолчанию on |
[plugins] ; Включение и выключение плагина для возможности печати счета-фактуры ; по умолчанию on printwaybill = on
Кассовое ПО запрашивает номер УПД с кассового сервера (КС, ЦКС или МКС). Подключение к серверу настраивается в секции [Waybill]
в конфигурационном файле /linuxcash/cash/conf/ncash.ini
.
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
serverUrl | строковый | Адрес сервера, на который отправляются запросы на получение и обновление статуса номера счета-фактуры | По умолчанию Для работы с КС используется следующий url: |
timeout | числовой | Таймаут обращения к серверу в секундах | По умолчанию 30 |
numberToPrint | числовой | Количество экземпляров передаточного документа, которое нужно распечатать при закрытии чека, если печать была подтверждена | По умолчанию 2 |
[Waybill] ; Адрес сервера, на который отправляются запросы на получение и обновление статуса номера счета-фактуры. По умолчанию http://localhost:8080 ; serverUrl = "http://localhost:8080" ; Таймаут обращения к серверу в секундах. По умолчанию 30 ; timeout = 30 ; Количество экземпляров передаточного документа, которое нужно распечатать при закрытии чека (если печать была подтверждена) ; По умочанию 2 ; numberToPrint = 2
При добавлении карты клиента в чек проверяется наличие кода организации, который свидетельствует о том, что карта выдана на юридическое лицо. Если поле заполнено, то при добавлении карты на экран выводится диалоговое окно с сообщением "Выполнить печать счета-фактуры при закрытии чека?".
- При подтверждении операции выполняется запрос на сервер для получения номера УПД.
- Если номер успешно получен, то после закрытия чека будет напечатан УПД, в БД
Documents
в таблицуDocument
в полеwaybillprinted
будет установлено значение 1 (УПД напечатан), а в полеwaybillnumber
полученный номер УПД. - Если при получении номера УПД произошла ошибка, то на экране кассира отобразится сообщение "Не удалось получить номер счета-фактуры. Повторить? Иначе счет-фактура не будет напечатан".
- Если номер успешно получен, то после закрытия чека будет напечатан УПД, в БД
- При отказе от печати СФ после закрытия чека продажи УПД не печатается, поля
waybillprinted
иwaybillnumber
не заполняются.
Обновление статуса УПД при закрытии чека осуществляется через очередь сообщений Artix-Queue.
Задать количество распечатанных экземпляров УПД можно при помощи параметра numberToPrint
в секции [Waybill]
в конфигурационном файле /linuxcash/cash/conf/ncash.ini
. По умолчанию печатается 2 экземпляра УПД.
При замене карты в чеке требуется повторно подтвердить необходимость печати УПД. Если в чек была добавлена еще одна карта с привязкой к юр.лицу, то подтверждение не требуется, УПД будет напечатан на юр.лицо из последней добавленной карты.
Запрет продажи алкоголя на юридическое лицо
Запрещена продажа акцизной и неакцизной алкогольной продукции в чеке, по которому требуется печать счета-фактуры:
- Если чек содержит алкогольную продукцию, то при подтверждении печати счета-фактуры на экран будет выведено предупреждение "Продажа алкоголя на юридическое лицо запрещена. Алкогольную продукцию необходимо сторнировать из чека". При попытке закрыть чек без сторнирования алкогольной продукции, предупреждение будет выведено повторно.
- Если печать счета-фактуры была подтверждена, то при попытке добавления алкогольной продукции в чек на экран будет выведено предупреждение "Продажа алкоголя на юридическое лицо запрещена. Товар не может быть добавлен в чек".
Печать по кнопке
waybillprinted
не устанавливается признак того, что УПД был напечатан.Печать УПД последнего закрытого документа
Для настройки печати универсального передаточного документа необходимо в утилите администрирования Yuki задать клавишу с действием "Печать УПД" и назначить этому действию команду COMMAND_OPERATION
. В параметрах действия необходимо указать:
Порядок | Название | Значение | Примечания |
---|---|---|---|
1 | url | shell:///mkdir%20-p%20/linuxcash/cash/data/tmp/print | Создается директория для размещения отчета (УПД) |
2 | url | report://waybill?out=file&shift=selected&document=selected&name=/linuxcash/cash/data/tmp/print/waybill | Формируется отчет (УПД). О задании выбора смены и документа в команде для выполнения внешних программ можно прочитать здесь. |
3 | url | shell:////linuxcash/cash/bin/print.sh%20/linuxcash/cash/data/tmp/print/waybill%20Landscape%201 | Созданный документ удаляется после печати |
Печать универсального передаточного документа выполняется по нажатию клавиши "Печать УПД". Печать документа производится в соответствии с настроенными правилами печати отчета.
Печать УПД для ранее закрытых документов
Для печати копии УПД (счета-фактуры) по кнопке в утилите администрирования Yuki необходимо настроить пункт меню "Печать УПД" с командой COMMAND_PRINTWAYBILL
с параметром useLastDocument
, который определяет какой документ необходимо распечатать:
- при значении
true
будет напечатан УПД для последнего закрытого чека; - при значении
false
/ отсутствии параметра будет предложено выбрать смену и документ.
О настройке пунктов меню подробнее можно прочитать в разделе "Настройка действий".
При печати УПД из главного меню осуществляется выбор смены и документа. Поиск возможен как в текущей смене, так и в любой из закрытых смен на кассе.
Работа с универсальным передаточным документом в кластерном режиме
Начиная с версии 4.6.140 реализован функционал работы с универсальным передаточным документом в режиме подключения к кластеру.
При использовании кластерного режима возникает необходимость вести УПД отдельно для каждого из клиентов, подключенных к кассовому серверу. В этом случае при получении номера УПД касса отправляет на кассовый сервер запрос, включающий идентификатор кластера. При подключении к кассовому серверу в файле настроек sync-агента /linuxcash/cash/sync/properties/cash.ini
устанавливается ID кластера.