Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Panel

Table of Contents

Мелкооптовая торговля (по-английски обычно «Cash & Carry», с англ. – «Заплати и уноси») – формат торговли, где количество отпускаемого товара превышает розничное, но ниже оптового. Продажи в таком случае обычно идут по нескольким прейскурантам, в зависимости от объёма покупки. Поскольку основными клиентами являются оптовые (юридические лица) и мелкооптовые покупатели (индивидуальные предприниматели), оформление покупки предполагает составление и печать универсального передаточного документа (УПД).

Универсальный передаточный документ (УПД) представляет собой унифицированный собой унифицированный документ, который включает в себя счет-фактуру, дополненный реквизитами первичного документа об отгрузке и приемке товара. Универсальный передаточный документ заполняется на основании данных чека продажи и карты клиента. Полнота УПД обеспечивается наличием в БД Dictionaries следующих таблиц

Для использования функционала Cash & Carry необходимо:

...

  1. Настроить принтер (см. пункт "Настройка принтера (на примере принтеров HP)").
  2. Заполнить данные в БД Dictionaries:
    • Shop. Указываются данные продавца и грузоотправителя (в УПД этими данными заполняется раздел Продавец).
    • Country. Страна происхождения товара.
    • Tmc. Поле manufacturercountrycode, в котором указывается связка с таблицей стран-производителей Country.
  3. Создать карты клиентов с указанием организаций:
    • Client. Связка с организацией, на которую будет выписан УПД осуществляется по полю organizationcode.
    • Organization. В данном случае под организацией понимаются юридические лица, которые являются клиентами торговой сети (в УПД этими данными заполняется раздел Покупатель).

...

  1. Активировать модуль печати УПД (см. пункт "Печать универсального передаточного документа").
  2. Настроить подключение к серверу для получения и обновления статуса номера УПД (см. пункт "Печать универсального передаточного документа").
  3. Задать количество печатаемых экземпляров УПД (см. пункт "Печать универсального передаточного документа").
  4. Перезапустить программу.
  5. Применить карту клиента в чеке.
  6. Подтвердить печать УПД.
Panel
titleПример УПД


Image Added

Поля в УПД заполняются на основании полей из БД Dictionaries:

  • 1 – номер счета-фактуры, полученный с кассового сервера;
  • 2 – значение поля vendorname таблицы Shop;
  • 3 – значение поля vendorlegaladdress таблицы Shop;
  • 4 – значения полей vendorinn и vendorkpp таблицы Shop, указанные через "/";
  • 5 – значения полей shippername и shipperaddress таблицы Shop;
  • 6 – значения полей receiver и deliveryaddress таблицы Organization;
  • 7 – значение поля customer таблицы Organization;
  • 8 – значение поля registeredaddress таблицы Organization;
  • 9 – значения полей inn и kpp таблицы Organization, указанные через "/";
  • 10 – значения полей code и name таблицы Country;
  • 11 – ФИО кассира;
  • 12 – значение поля name таблицы Client.



Panel
titleПример чека, для которого распечатан УПД


Image Added

Поля в чеке, для которого распечатан УПД, заполняются на основании полей из БД Dictionaries:


Настройка принтера для Ubuntu 18.04 и 22.04 (на примере принтеров HP)

Info

Тестирование функционала проводилось на модели HP LaserJet P1102.

...

  1. Установить пакет artix45-print, выполнив команду:

    Code Block
    languagetext
    aptitude install artix45-print

    Пакет используется для конвертации документов из формата html (в котором формируется отчет) в pdf (в котором выполняется печать отчета).

  2. Подключить и настроить принтер. Для этого:
    1. Указать репозиторий для скачивания и установки пакета, содержащего библиотеки для работы с принтером:

      • для Ubuntu 18.04:

        Code Block
      title
      • language
      Для trusty
      • text
        deb http://ru.archive.ubuntu.com/ubuntu/ 
      trusty
      • bionic main restricted universe


      • для Ubuntu 22.04:

        Code Block
      title
      • language
      Для lucid
      • text
        deb http://
      update
      • ru.
      artix
      • archive.
      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
      • .com/ubuntu/ jammy main restricted universe


    2. После указания репозитория необходимо установить пакет hplip, выполнив команду:

      Code Block
      languagetext
      aptitude install hplip


    3. Для настройки принтера выполнить команду:

      Code Block
      languagetext
      hp-setup -i

      При настройке принтера указать последовательно данные:

      1. usb

      2. download plug-in from HP

      3. accept the license terms for plug-in

      4. use model name:...

      5. PPD file is correct
      6. "some printer description"
      7. Enter
      8. Print test page

      Установить пакет cups, обеспечивающий управление принтером из ОС Ubuntu, выполнив команду:

      Code Block
      aptitude install cups
    4. Для кассового ПО на базе 18.04 пакет cups устанавливается автоматически с пакетом artix45-print.

    5. Настроить пакет cups в конфигурационном файле /etc/cups/cupsd.conf, указав в нем ip-адрес кассы и порт 631.
  3. Для возможности просмотра настроек принтера и задач на печать необходимо:
    1. Выполнить командыкоманду:

      title
      Code Block
      Для lucid
      service cups restart
      Code Block
      title


    2. Для

      trusty
      service cups restart
      service cups-browsed restart

      Для встроенного браузера указать ссылку на страницу https://<ip-адрес_кассы>:631/.

Назначение принтера по умолчанию

Для назначения принтера по умолчанию пользователю root необходимо выполнить команду:

Code Block
languagetext
titleПример команды для HP LaserJet P1102
lpoptions -d HP_LaserJet_P1102

Для назначения принтера по умолчанию пользователю autologon необходимо выполнить команду:

Code Block
languagetext
titleПример команды для HP LaserJet P1102
sudo -u autologon lpoptions -d HP_LaserJet_P1102

Печать универсального передаточного документа

Автоматическая печать

Panel

Начиная с версии 4.6.104 с помощью автоматической печати создается два экземпляра универсального передаточного документа - для клиента и для магазина.Начиная с версии 4.6.120 добавлено получение номера УПД с кассового сервера.

Для автоматической печати универсального передаточного документа необходимо, чтобы в карточке клиента был заполнен уникальный код организации (БД Dictionaries таблица Client поле organizationcode).

Для печати универсального передаточного документа необходимо включить плагин printwaybill в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/printwaybill.ini в секции секции [plugins].

  • при значении on при закрытии чека печатается фискальный чек и счет-фактура. Поведение по умолчанию;
  • при значении off при при закрытии чека счет-фактура не печатаетсяпечатается только фискальный чек.
НаименованиеТип данныхОписаниеПримечания
printwaybillстроковыйВключение и выключение плагина для возможности печати счета-фактурыПо умолчанию on

...

Кассовое ПО запрашивает номер УПД с кассового сервера (КС, ЦКС или МКС).

Info

Маска для формирования номера УПД и начальное значение порядкового номера УПД задаются в настройках кассового сервера. Подробнее об этом можно прочитать в разделе "Настройки сервера".

Подключение к серверу настраивается в секции [Waybill] в конфигурационном файле файле /linuxcash/cash/conf/ncash.ini.d/printwaybill.ini.

НаименованиеТип данныхОписаниеПримечания
serverUrlстроковыйАдрес сервера, на который отправляются запросы на получение и обновление статуса номера счета-фактуры

По умолчанию http://localhost:8080/

Для работы с КС используется следующий url: "http://<host>:8080/CSrest/rest/"

timeoutчисловойТаймаут обращения к серверу в секундахПо умолчанию 30
numberToPrintчисловой

Количество экземпляров передаточного документа, которое нужно распечатать при закрытии чека, если печать была подтверждена

По умолчанию 2


Code Block
titleПример настройки
[Waybill]

; Адрес сервера, на который отправляются запросы на получение и обновление статуса номера счета-фактуры. 
; Для работы с КС используется следующий URL "http://'IP-адрес КС':8080/CSrest/rest/"
; По умолчанию http://localhost:8080
; serverUrl = "http://localhost:8080"

; Таймаут обращения к серверу в секундах. По умолчанию 30
; timeout = 30

; Количество экземпляров передаточного документа, которое нужно распечатать при закрытии чека (если печать была подтверждена)
; По умочанию 2
; numberToPrint = 2

При добавлении карты клиента в чек проверяется наличие кода организации, который свидетельствует о том, что карта выдана на юридическое лицо. Если поле заполнено, то при добавлении карты на экран выводится диалоговое окно с сообщением "Выполнить печать счета-фактуры при закрытии чека?".

  • При подтверждении операции выполняется запрос на сервер для получения номера УПД.:
    • Если если номер успешно получен, то после закрытия чека будет напечатан УПД, в БД  БД Documents в таблицу Document в поле waybillprinted будет установлено значение 1 (УПД напечатан), а в поле waybillnumber полученный полученный номер УПД.;
    • Если если при получении номера УПД произошла ошибка, то на экране кассира отобразится сообщение "Не удалось получить номер счета-фактуры. Повторить? Иначе счет-фактура не будет напечатан".
  • При отказе от печати СФ после закрытия чека продажи УПД не печатается, поля waybillprinted и waybillnumber не заполняются.

...

Задать количество распечатанных экземпляров УПД можно при помощи параметра numberToPrint в секции [Waybill] в конфигурационном файле файле /linuxcash/cash/conf/ncash.ini.d/printwaybill.ini. По умолчанию печатается 2 экземпляра УПД.

При замене карты в чеке требуется повторно подтвердить необходимость печати УПД. Если в чек была добавлена еще одна карта с привязкой к юр.лицу, то подтверждение не требуется, УПД будет напечатан на юр.лицо из последней добавленной карты.

Реквизиты организации

Если печать УПД подтверждена, то при закрытии чека данные покупателя: наименование организации (БД Dictionaries таблица Organization поле name) и ИНН организации (БД Dictionaries таблица Organization поле inn) будут переданы в ФР и напечатаны на чеке.

Info

Максимальная длина реквизитов организации при передаче в ФР: наименование – 128 символов, ИНН – 12 символов.

Для ФР Пирит печать реквизитов организации на чеке не реализована производителем ФР.

Запрет продажи алкоголя на юридическое лицо

Запрещена продажа акцизной и неакцизной алкогольной продукции в чеке, по которому требуется печать счета-фактурыУПД:

  • Если если чек содержит алкогольную продукцию, то при подтверждении печати счета-фактуры УПД на экран будет выведено предупреждение "Продажа алкоголя на юридическое лицо запрещена. Алкогольную продукцию необходимо сторнировать из чека". При попытке закрыть чек без сторнирования алкогольной продукции, предупреждение будет выведено повторно.;
  • Если если печать счета-фактуры УПД была подтверждена, то при попытке добавления алкогольной продукции в чек на экран будет выведено предупреждение "Продажа алкоголя на юридическое лицо запрещена. Товар не может быть добавлен в чек".

Печать

...

УПД для ранее закрытых документов

Info

При печати

по кнопке в документ

УПД для ранее закрытых документов в поле waybillprinted не устанавливается признак того, что УПД был напечатан.

Печать УПД последнего закрытого документа

Для настройки печати Для настройки печати универсального передаточного документа необходимо в утилите администрирования Yuki задать клавишу с действием "Печать УПД" и назначить этому действию команду COMMAND_OPERATION. В параметрах действия необходимо указать:

ПорядокНазваниеЗначениеПримечания
1url

shell:///mkdir%20-p%20/linuxcash/cash/data/tmp/print

Создается директория для размещения отчета (УПД)
2url

report://waybill?out=file&shift=selected&document=selected&name=/linuxcash/cash/data/tmp/print/waybill

Формируется отчет (УПД). О задании выбора смены и документа в команде для выполнения внешних программ можно прочитать здесь.
3url

shell:////linuxcash/cash/bin/print.sh%20/linuxcash/cash/data/tmp/print/waybill%20Landscape%201

Созданный документ удаляется после печати

Печать универсального передаточного документа выполняется по нажатию клавиши "Печать УПД". Печать документа производится в соответствии с настроенными правилами печати отчета.

Печать УПД для ранее закрытых документов

Для печати копии УПД (счета-фактуры) по кнопке в утилите администрирования Yuki необходимо :

  • на клавишу настроить действие "Печать УПД" с командой COMMAND_PRINTWAYBILL,
  • настроить пункт меню "Печать УПД" с

...

  • командой COMMAND_PRINTWAYBILL

...

  • .

В параметрах действия необходимо указать useLastDocument, который определяет какой документ необходимо распечатать:

  • при значении true будет напечатан УПД для последнего закрытого чека;
  • при значении false / отсутствии параметра будет предложено выбрать смену и документ. Поиск возможен как в текущей смене, так и в любой из закрытых смен на кассе.

О настройке пунктов меню подробнее можно прочитать в разделе "Настройка действий".

Info

При печати УПД

...

для ранее закрытого документа, в котором отсутствует карта покупателя, будут заполнены только данные продавца.

Печать УПД при печати копии документа

Info

Начиная с версии 4.6.213 реализована печать УПД при печати копии документа.

Если при закрытии документа был напечатан УПД, то УПД распечатается при печати копии документа.

Для печати УПД при печати копии документа необходимо в утилите администрирования Yuki:

  • на клавишу настроить действие "Печать копии чека" с командой COMMAND_PRINTCOPY,
  • настроить пункт меню "Печать копии чека" с командой COMMAND_PRINTCOPY.

О настройке действий подробнее можно прочитать в разделе "Настройка действий".

Работа с универсальным передаточным документом в кластерном режиме

Panel

Начиная с версии 4.6.140 реализован функционал работы с универсальным передаточным документом в режиме подключения к кластеру (кассовый сервер версии 3).

При использовании кластерного режима возникает необходимость вести УПД отдельно для каждого из клиентов, подключенных к кассовому серверу. В этом случае при получении номера УПД касса отправляет на кассовый сервер запрос, включающий идентификатор кластера. При подключении к кассовому серверу в файле настроек sync-агента /linuxcash/cash/sync/properties/cash.ini устанавливается ID кластера.