Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 39 Следующий »

Конвертеры импорт и экспорт XML реализованы для обмена данными системы УКМ 4 c внешними программными продуктами в формате XML. Передача данных осуществляется с помощью файлов в формате XML и возможна только в рамках операционной системы Windows.

Примечание. Несмотря на то, что в интерфейсе УКМ 4 данные XML-конвертеры носят название Супермаг Плюс, их можно использовать не только для интеграции УКМ 4 с продуктом СуперМаг Плюс компании Сервис плюс, но и с любыми внешними системами. Передача данных из внешней системы в УКМ 4 и из УКМ 4 во внешнюю систему осуществляется через раздельные каталоги. Набор каталогов един для всех магазинов, зарегистрированных на одном сервере. В одном файле формата XML передается только один тип данных. Конвертер непрерывно дорабатывается для поддержки передачи новых типов данных по запросам пользователей, однако, уже доступные теги и свойства не удаляются.

Описание передаваемой информации и правила работы с ней

Тип информацииИмя файла и головного тегаТип выгрузки
Общая информация (одинаковая для всех магазинов)
Справочник свойств товаровpropertiesвсегда полная
Справочник налоговtaxesвсегда полная
Справочник отделов магазиновstocksвсегда полная
Товарный классификаторclassifвсегда полная
Товары
(включая штрихкоды и дополнительные характеристики товаров)
updateItemsполная/частичная
Информация для магазинов
Цены на товарыstorePricesполная/частичная
ПродавцыstoreSellersвсегда полная
Привязка товаров к отделам магазинаitemStoreStockвсегда полная
КассирыstoreCashiers
Пример:
storeCashiers _[5]_[1]_[F].xml
[5] – код магазина во внешней системе;
[1] – номер выгрузки п/п;
[F] – флаг, что файл содержит полный перечень кассиров
всегда полная

Передача информации из внешней системы в УКМ 4

Имена файлов

TAGNAME_ [Object]_ [Number]_[P]_[Error].xml

TAGNAME – название головного тега файла.

Object – идентификатор объекта. Может быть переменной длины и принимать значение [код магазина] для файлов, указанных в таблице выше в разделе Информация для магазинов.

Если документ содержит только общую информацию, то параметр Object не указывается.

Number – порядковый номер файла с информацией данного типа. Электронной обработки номер не имеет, важен только для регулирования последовательности  обработки файлов. Формат номера – целое число.

P – признак полноты информации в файле: – файл содержит полный перечень элементов, I – файл содержит не полный перечень элементов.

Error – признак  ошибки. Устанавливается УКМ 4 в случае возникновения любых ошибок при работе с данным файлом.

Для всех частей имени файла регистр букв не важен.

Примеры:

storePrices_[1112]_[1]_[I].xml – изменения розничных цен в магазине 1112;

classif_[2]_[F].xml – классификатор товаров.

Принципы обмена данными между УКМ 4 и внешней системой

  • Процесс передачи данных между УКМ 4 и внешней системой исключает дублирующие потоки информации. Сервер УКМ 4 получает всю информацию о товарах из сервера внешней системы. Другими словами, в случае наличия центрального сервера внешней системы и сервера главного офиса УКМ 4, информация о товарах будет загружаться и на сервер главного офиса (СГО) и на сервера магазинов. Соответственно, в УКМ 4 репликация товарных справочников с СГО на сервера магазинов будет заблокирована.
  • При настройке передачи данных из внешней системы в УКМ 4 необходимо учитывать, что все магазины в УКМ 4 работают с одной номенклатурой. Если настройка сделана неверно, то в УКМ 4 будет использована одна из номенклатур (выбор номенклатуры произойдет случайным образом). Ограничение отслеживается административными методами.
  • В России налоги обычно не загружаются на кассы. На Украине и в Белоруссии налог один, и ставка его одинакова на всей территории страны. Таким образом, функционал налоговых регионов во внешних системах фактически не используется. Поэтому выгружать из внешней системы информацию о связке <налоговая группа – товар> предлагается только для региона Россия.

Правила выгрузки информации из внешней системы в УКМ 4

  • Все справочники, кроме товаров (артикулов) и цен, выгружаются из внешней системы полностью (если в них произошли изменения во внешней системе с момента предыдущей выгрузки). Если изменений во внешней не было, то файлы соответствующих типов не создаются.
  • Удаления записей о товарах (артикулах) и ценах в рамках протокола обмена информацией не предусмотрено. Удаление товара (запись в прайс-листе) производится через интерфейс УКМ 4.
  • Удаления записей о товарах (артикулах) в рамках протокола не предусмотрено. При большой необходимости удалить товар можно через интерфейс УКМ 4.
  • Если файл с ценами имеет флаг полной выгрузки, то УКМ 4 предварительно удаляет текущее содержимое прайс-листа для магазина и затем загружает его содержание из файла. Удаляются только цены на артикулы, цены на штрихкоды не изменяются.
  • Если в выгруженной записи о цене пропущено её значение (есть только теги <price></price>), то УКМ 4 удаляет запись о цене для данного товара из текущего прайс-листа.

Правила обработки информации сервером УКМ 4

  • Каждый файл, передаваемый из внешней системы в УКМ 4, содержит один тип информации и обрабатывается сервером УКМ 4 как отдельная транзакция, т.е. он или обрабатывается целиком или не обрабатывается вообще. Каждый файл обрабатывается независимо от другого.
  • Файлы обрабатываются сервером УКМ 4 в порядке, в котором они перечислены в таблице (см. выше). При этом, для каждого типа информации (тега) УКМ 4 ищет файл полной выгрузки с наибольшим номером, загружает его и все последующие файлы этого же типа с инкрементной выгрузкой (этого же типа) и не загружает все файлы до загруженного файла.
  • Все файлы из входного каталога УКМ 4 переносит подкаталог Archive, добавляя к концу имени дату-время его обработки (в формате YYYYMMDDHHMMSS). При этом, если файл был загружен, то в конец имени дописывается load, если файл был пропущен – ignor.
  • Если при обработке файла возникли ошибки любого типа (как связанные с доступом к файлу, так и с его содержанием), то работа конвертера останавливается, он переходит в режим периодического рестарта. При каждом старте конвертер начинает обработку каталога заново. В этом случае предполагается, что проблема будет исправлена с помощью ручной полной выгрузки из внешней системы. Файлы, при обработке которых возникли ошибки, остаются в каталоге обмена, и УКМ 4 дописывает к их имени [error]. Например: Classif_[1]_[F]_[error]. При рестарте конвертера файлы по-прежнему участвует в обработке информации по общим правилам, но отметка [error] остается у файла навсегда, в том числе и при переносе в подкаталог Archive. При этом, файл может быть успешно обработан (load) или может быть пропущен (ignor).
  • УКМ 4 должен обеспечить правильную обработку привязки штрихкодов к артикулам, т.е. в базе УКМ 4 штрихкод должен быть привязан к артикулу в соответствии с последней информацией, полученной из внешней системы.

Требования к внешней системе:

  • Если сервер внешней системы обслуживает несколько магазинов, то изменение общей информации должно выгружаться только один раз (а не столько раз, сколько магазинов обслуживает сервер).
  • Внешняя система должна сначала сформировать файл, а затем сделать его доступным для УКМ 4 путем переименования файла (создание и переименование происходят в одном и том же каталоге).
  • В рамках каждой отдельной выгрузки внешняя система делает доступными для УКМ 4 файлы в порядке перечисления типов информации в приведенной выше таблице.

При этом, если в каталоге уже есть файлы с данным тегом, то сформированный файл получает номер на единицу больше, чем наибольший номер у файла с данным тегом.

Например, в каталоге есть файлы Classif_[1]_[F], Classif_[2]_[F], Classif_[3]_[F]. Если в этот момент внешняя система еще раз выгружает товарный классификатор, то она должна выгрузить его в файл с именем Classif_[4]_[F].  Флаг полного/неполного наполнения файла не влияет на нумерацию файлов (т.е. нумерация сквозная для файлов с одним типом документов без учета полного/неполного их содержимого).

  • Полные выгрузки внешняя система делает либо по расписанию, либо при ручной выгрузке. «Загруженность» предыдущих порций информации внешняя система не проверяет.

Настройка интерфейса сервера УКМ 4 для приема данных из внешней системы

Перед настройкой сервера УКМ 4 убедитесь, что в настройках внешней системы указаны следующие параметры:

  • каталог, куда внешняя система выгружает информацию;
  • выгружать или не выгружать продавцов и отделы (если не выгружать отделы, то справочник отделов и привязка товаров к отделам не будут выгружены);
  • создать каталог, куда внешняя система будет выгружать информацию.

Чтобы подключить конвертер, перейдите в раздел веб-интерфейса Настройка сервера и оборудования/Конвертеры. В открывшемся окне нажмите кнопку +Добавить. Далее выберите из списка конвертер и нажмите +Создать:

После создания конвертера откроется окно его настройки:

Название – в поле указывается название конвертера (по умолчанию, присваивается значение типа добавляемого конвертера).

Запускается – указывается служба, через которую будет осуществляться обмен данными (при условии, что пользователь имеет право доступа к ресурсам). Существуют следующие варианты значений:

      Сервер – обмен будет осуществляться через серверную часть УКМ 4.

      Терминал – обмен будет осуществляться через клиентскую (терминальную) часть УКМ 4.

Каталог для загрузки данных – в поле указывается путь до каталога, куда внешняя система помещает файлы выгрузки данных.

Архивировать файлы после загрузки – если включить данный флаг, то файлы выгрузки, после обработки конвертером, будут сохранены в виде архива в каталоге обмена данными.

Роль, которая назначается кассирам – указывается одна из ролей кассового персонала. Загружаемые записи о кассирах будут привязаны к этой роли. Пароли при загрузке зашифрованы.

Магазины – для выбора магазинов, в которых будет действовать конвертер, кликните по ссылке Добавить магазины.

Рекламная акция – устаревший функционал; в поле необходимо указать значение Не загружать скидки.

Структура данных, передаваемых из внешней системы в УКМ 4 (новейшие изменения, полн)


Сведения о ККТ

<kkm_shift_number> </kkm_shift_number>                           (номер смены по ККТ)
<kkm_serial_number> </kkm_serial_number>                        (заводской номер ККТ)
<kkm_registration_number> </kkm_registration_number>    (регистрационный номер ККТ)
<kkm_model_name> </kkm_model_name>                            (название модели ККТ)


Суммы за смену, полученные от ККТ

<kkm_saleAmount> </kkm_saleAmount>                              (сумма продаж)
<kkm_returnAmount> </kkm_returnAmount>                       (сумма возвратов) 
<kkm_saleCount> </kkm_saleCount>                                     (количество чеков продажи)
<kkm_returnCount> </kkm_returnCount>                              (количество чеков возврата)
<kkm_withdrawal> </kkm_withdrawal>                                  (сумма изъятия из денежного ящика)
<kkm_insertion> </kkm_insertion>                                         (сумма внесения в денежный ящик)


Дата и время

<receipt storeId="1" posNum="7" shiftNum="32" receiptNum="4">
<receiptDateTime> </receiptDateTime>                                                  (дата и время закрытия чека)
<receiptOpenDateTime> </receiptOpenDateTime>                                (дата и время открытия чека)
<receiptSubtotalDateTime> </receiptSubtotalDateTime>                       (дата и время подытога)
<cashierName>Петров</cashierName>


Сведения об операциях внесения/изъятия, производимых на кассе

<cashBox storeId="1" posNum="7" shiftNum="34" docNum="2">
<version> </version>
<dateOper> </dateOper>
<dateOper> </dateOper>                                 (дата операции)
<operCode> </operCode>                                (код операции)
<cashierCode> </cashierCode>            
<cashierName> </cashierName>
<saleAmount> </saleAmount>                          (сумма внесения)
<saleAmount_before> </saleAmount_before>  (сумма в денежном ящике до внесения)
</cashBox>

<?xml version="1.0" encoding="UTF-8"?>                       
<shiftOpen storeId="1" posNum="7" shiftNum="32">   
<version> </version>
<dateOper> </dateOper>                                   (дата операции)
<operCode> </operCode>                                  (код операции)
<cashierCode> </cashierCode>
<cashierName> </cashierName>               
<saleAmount> </saleAmount>                           (сумма изъятия)
<saleAmount_before> </saleAmount_before>   (сумма в денежном ящике до изъятия)
</cashBox>


Свойства товаров (весь справочник, в Супермаг Плюс – справочник «Размеры»):

<Properties fullness=”F”>

   <version=””>

       <Property> // minOccurs=”0” maxOccurs="unbounded"

              <id></id>

              <name></name>    (название дополнительной характеристики в Супермаг Плюс)

              <PropertyValue>

              <value></value>

              </PropertyValue>

       </Property>

</Properties>


Налоговые группы (весь справочник):

<taxes fullness=”F”>

       <version=””>

<group>// minOccurs=”0” maxOccurs="unbounded"

              <id></id>

              <code></code>        (в Супермаг Плюс – «Тип группы» – украинские группы А,B,C…)

              <tax> // minOccurs=”0” maxOccurs="unbounded"

                     <id></id>

                     <name></name>

                     <sequence></sequence>    (в Супермаг Плюс – «Приоритет начисления налога)

                     <percent></percent>

              </tax>

       </group>

<taxes/>


Структура магазинов (отделы) (весь справочник):

<stocks fullness=”F”>

       <version=””>

<store storeId=””> // minOccurs=”0” maxOccurs="unbounded"

       <stock> // minOccurs=”0” maxOccurs="unbounded"

                     <id></id>            («Код магазина» в Супермаг Плюс)

              <name></name>

       </stock>

       </store>

</stocks>


Классификатор товаров (весь справочник):

<classif fullness=”F”>

       <version=””>

       <group> // minOccurs=”0” maxOccurs="unbounded"

              <id></id>

              <owner></owner>

              <name></name>

       </group>

</classif>


Товары (может быть весь справочник или только изменения):

<updateItems fullness=”F/I”>

       <version=””>

       <item>// minOccurs=”0” maxOccurs="unbounded"

              <article></article>

              <name></name>

              <measure></measure>         (Сокращение)

              <measprec></measprec>        (Точность – 1, 0.001, 0.01, 0.1)

              <groupId></groupId>         (ссылка на узел классификатора)

              <egaisType></egaisType>           ((int), признак акцизного товара; 0  неакцизный товар, 1 – маркированный товар, 2  немаркированный, 3 - специальный маркируемый)

<propertyId></PropertyId>        (в Супермаг Плюс – «Свойство»в Супермаг Плюс к товару может быть привязано только одно свойство)

<taxgroupId></taxgroupId>

              <addProperty> // minOccurs=”0” maxOccurs="unbounded"

                     <id></id>            («Код доп. характеристики» в Супермаг Плюс)

                     <value></value>

              </addProperty>

              <barcode> // minOccurs=”0” maxOccurs="unbounded"

                     <id></id>            (сам штрихкод)

                     <PropertyValue></PropertyValue>    

                     <quantity></quantity>  (в Супермаг Плюс – «Количество для штрихкода»)

              </barcode>

       </item>

</updateItems>


PropertyId  привязывается к товару в УКМ 4, как тип свойства (используется для выбора значения на кассе при продаже по артикулу).

<PropertyValue> из <barcode> привязывается к штрих-коду товара как значение.

<addProperty> хранится как денормализованный справочник.


Значение параметра <NOPDF> должно быть в следующем виде:

<nopdf  article="ХХХХХ" code="ХХХ" bname="ХХХ ХХХ" alc="ХХХ" volume="ХХХ"/>.

В целом, запись о маркировке товара должна выглядеть таким образом:

<NOPDF> <nopdf  article="ХХХХХ" code="ХХХ" bname="ХХХ ХХХ" alc="ХХХ" volume="ХХХ"/> </NOPDF>.

Если внутри значения атрибута bname необходимо использовать кавычки, то заменять их нужно по следующим правилам:

  • если для указания значения атрибута используются двойные кавычки, такие же кавычки внутри значения атрибута заменяются на сущность &quot;;
  • если для указания значения атрибута используются одинарные кавычки, такие же кавычки внутри значения атрибута заменяются на сущность &apos;;
  • можно использовать двойные кавычки внутри значений атрибутов, заключенных в одинарные кавычки, и наоборот.

Наборы – (может быть весь справочник или только изменения):

<kit fullness=”F/I”>

       <version=”1.0”>

<item article =””> // minOccurs=”0” maxOccurs="unbounded"

       <subItem> // minOccurs=”0” maxOccurs="unbounded"

<article></article>  (артикул товара, входящего в набор)

<quantity></quantity> (количество товара, десятичное число)

       </subItem >

       </item>

</kit>


Розничные цены магазина (может быть весь справочник или только изменения):

<storePrices fullness=”F/I” storeId=””> 

       <version=”1.1”>

       <item article=””>// minOccurs=”0” maxOccurs="unbounded"

              <price> // minOccurs=”0” maxOccurs="1"

                     <value></value>

                     <minprice></minprice> (минимальная цена продажи в денежных единицах)

<MRC> // minOccurs=”0” maxOccurs="unbounded"

<MRCValue> </MRCValue>  (значение цен из истории)

</MRC>

              </price>

       </item>

</storePrices>


Если в теге значения цены и мин. цены пропущены (то есть только теги <price> </price>), то соответствующая запись в прайс-листе в УКМ 4 будет удалена.

Флаг полной выгрузки приводит к тому, что УКМ 4 удаляет текущее содержание прайс-листа и загружает его новое содержимое.


Продавцы магазина (весь справочник):

<storeSellers fullness=”F” storeId=””>

       <version=””>

       <seller> // minOccurs=”0” maxOccurs="unbounded"

              <id></id>

              <name></name>

       </seller>

</storeSellers>


Назначение товаров на отделы магазина (весь справочник):

<itemStoreStock fullness=”F” storeId=””>

       <version=””>

       <item article=””>   

              <stockId></stockId> // minOccurs=”0” maxOccurs="1"

       </item>

</itemStoreStock>


Кассиры магазина (весь справочник):

<storeCashiers fullness=”F” storeId=””>

       <version=””>

       <cashier> // minOccurs=”0” maxOccurs="unbounded"

              <id></id>            (целое число больше 0)

<name></name>  (символьная строка – 40 символов)

       <INN>            (строка 12 символов, может быть пустой (для совместимости: может отсутствовать))

             

              <password></password> (символьная строка – 15 символов. Выгружается без шифрования)

       </cashier>

</storeCashiers>


Значение параметра <NOPDF> передается в виде:

<nopdf article="ХХХХХ" code="ХХХ" bname="ХХХ ХХХ" alc="ХХХ" volume="ХХХ"/>.

Требования к загрузке налоговых ставок

В связи с добавлением в УКМ 4 функционала автоматического мапирования ставок НДС, со стороны УКМ 4 имеются новые требования к загрузке налоговых ставок через конвертеры. Для работы алгоритма автоматического выбора индекса ставки для ККТ при передаче данных о налогах через конвертеры УКМ 4 требуется указанием формулы налоговой ставки НДС в заданном виде.

Список ставок НДС, ожидаемых конвертерами УКМ 4

Рекомендуемое значение ставки до 01.01.2019Рекомендуемое значение ставки после 01.01.2019Допустимые варианты значенийОписание
118%20%18.00%, 20.00%НДС 18%/ НДС 20%
210%10%10.00%НДС 10%
30%0%0.00%НДС 0%
4Не облагаетсяНе облагается
Без НДС
518/118%20/120%
НДС 18/118 / НДС 20/120
610/110%10/110%
НДС 10/110

1. В случае, если формулы ставок отличаются от рекомендуемых, то товары могут быть добавлены в чек с некорректной ставкой налога.

Примечание: Для ставок НДС 10%, 18%, 20% допустима форма передачи процента ставки: "XX%" и "XX.00%", например, 10.00% является допустимым значением ставки при передаче через конвертер.

2. Регистр для значения ставки Не облагается при передаче данных конвертеру можно указывать любой.

3. Ставка Не облагается может отсутствовать в справочнике налогов в нескольких случаях (это не вызовет проблем в работе кассовой системы):

  • При использовании опции Формировать налоговые ставки автоматически, в соответствии с ФЗ РФ для заказчиков с неосновной системой налогообложения в чек всегда будет добавляться корректная ставка Не облагается – независимо от того, как заданы параметры ставки для списка карточек товаров для импорта.
  • Ставка Не облагается будет автоматически использоваться УКМ 4 при пустом справочнике налогов для добавления товаров в чек. Актуально для пользователей с неосновной системой налогообложения, которые не выгружают налоги в УКМ 4 с любыми конвертерами.
  • Ставка Не облагается будет использоваться УКМ 4 для объектов пользователя с неосновной системой налогообложения во всех случаях: даже если эта ставка не загружена в справочник налогов УКМ 4, не выбрана для товаров, и справочник налогов не пуст. Актуально для пользователей, которые в одной системе УКМ 4 поддерживают работу как магазинов с основной системой налогообложения, так и магазинов с любой неосновной системой налогообложения (например, ЕНДВ).

Передача информации из УКМ 4 во внешнюю систему

  • УКМ 4 выгружает во внешнюю систему информацию двух типов:

          - чеки;

          - кассовая смена (в виде совокупности чеков по смене).

Выгружаются только нормально завершенные чеки (result=0) с операциями продажи, возврата, возврата по чеку и восстановления (type = 0, 1, 4 и 5).

Чеки выгружаются в каталог, указанный в настройках обеих систем, немедленно при появлении их на сервере УКМ 4. Каждый чек помещается в отдельный файл.

TAGNAME = Receipt.

  • Смены выгружаются по мере появления на сервере информации о закрытии смен. Информация по каждой смене выгружается в отдельный файл.

Смены выгружаются по мере появления на сервере информации о закрытии смен. По смене существует возможность ручной выгрузки (повторные выгрузки). Информация по каждой смене выгружается в отдельный файл.

TAGNAME = SHIFT.

Имена файлов

Файлы с чеками: TAGNAME_[Store]_[Cash]_[Shift]_[Receipt]_[Number].xml.

TAGNAME – название головного тега документа (регистр букв не важен).

Store – идентификатор магазина. Может быть переменной длины.

Cash – номер кассы. Может быть переменной длины.

Shift – номер фискальной смены. Может быть переменной длины.

Receipt – номер чека в смене. Может быть переменной длины.

Number – порядковый номер документа (целое число). Электронной обработки номер не имеет, важен только для регулирования последовательности документов с прочими одинаковыми элементами в имени файла.

Пример:

Receipt _[1112]_[15]_[254]_[32]_[1].xml – чек из магазина 1112, касса 15, смена 254, чек 32, экземпляр файла в каталоге №1.

Файлы со сменами: TAGNAME_[Store]_[Cash]_[Shift]_[Number].xml.

Настройка интерфейса сервера УКМ 4 для передачи данных во внешнюю систему

Перед настройкой сервера УКМ 4 убедитесь, что в настройках внешней системы указаны следующие параметры:

  • Каталог для получения данных из УКМ 4.

Настройки в УКМ 4:

  • Создать каталог для передачи данных из УКМ 4 во внешнюю систему.

Для подключения конвертера Супермаг Плюс XML экспорт перейдите в раздел веб-интерфейса Настройка сервера и оборудования/Конвертеры. В открывшемся окне нажмите кнопку +Добавить. Далее выберите из списка конвертер и нажмите +Создать. После создания конвертера откроется окно его настройки:

Название – в поле указывается название конвертера (по умолчанию присваивается значение типа добавляемого конвертера).

Запускается – указывается служба, через которую будет осуществляться обмен данными (при условии, что пользователь имеет право доступа к ресурсам). Существуют следующие варианты значений:

      Сервер – обмен будет осуществляться через серверную часть УКМ 4.

      Терминал – обмен будет осуществляться через клиентскую (терминальную) часть УКМ 4.

Магазины – для выбора магазинов, в которых будет действовать конвертер, кликните по ссылке Добавить магазины.

Экспорт средств оплаты – в данном подменю можно установить пользовательскую кодировку средств оплаты. Поля для настройки станут доступны, если в выбранном магазине используется более одного средства оплаты:

Каталог для выгрузки данных – в поле указывается путь до каталога, куда УКМ 4 помещает файлы выгрузки данных.

Игнорировать поврежденные чеки – при включенном флаге информация по чекам, данные которых повреждены, передаваться не будет.

Выгружать оперативные чеки – при включенном параметре передача данных по чеку будет производиться сразу после его печати.

Архивировать данные – если включить данный флаг, то файлы выгрузки, после обработки конвертером, будут сохранены в виде архива в каталоге обмена данными.

При первом подключении выгружать – возможные варианты:

От начала открытой смены на момент подключения конвертера – после сохранения настроек конвертера будет произведена выгрузка данных по последней (открытой) смене и далее по мере появления на сервере информации о закрытии смен.

С момента подключения конвертера – после сохранения настроек конвертера выгрузка данных будет производиться по мере появления на сервере информации о закрытии смен.

Структура данных, передаваемых из УКМ 4 во внешнюю систему

Чек:

<receipt storeId=”” posNum=”” shiftNum=””  receiptNum=””>

<version=””>

       <receiptDateTime></receiptDateTime>        (время закрытия чека)

       <cashierCode></cashierCode>                (код кассира)

<cashierName></cashierName>                (имя кассира)

<type></type>

<amount>/< amount>                         (сумма чека, уменьшенная на величину скидок)

       <item> // minOccurs=”1” maxOccurs="unbounded"

              <article></article>

              <barcode></barcode>

<egaisBarcode>5453453,352342,5645564,34523542</egaisBarcode>       (штриховые коды алкогольных марок PDF417, если товар является алкогольной продукцией и кассиром была считана с бутылки акцизная марка (или несколько марок для товаров-наборов))

<NOPDF></NOPDF>              (содержание QR кода, если товар является алкогольной продукцией и кассиром был считан внутренний QR-код, наклеенный на бутылку)

              <quantity></quantity>

              <price></price>                     (цена товара по прайс-листу)

<total></total>                     (стоимость позиции, уменьшенная на величину скидок)

              <stockId></stockId>                 (отдел)

<Property></Property>              (идентификатор свойства товара из нормализированного хранилища. В случае нескольких значений выбирается случайным образом)

<PropertyValue></PropertyValue>     (значение свойства товара)

<discount> // minOccurs=”0” maxOccurs="unbounded" (выгружаются скидки, которые привели к изменению суммы продажи)

                     <programId></programId>     (код скидки в УКМ 4)

                     <programName></programName> (название скидки в УКМ 4)

<programType></programType> (тип скидки в УКМ 4 (значение поля trm_out_receipt_discounts.efts) integer)

<amount></amount>           (значение скидки – положительное число)

                     <discCardNumber></discCardNumber>   (номер диск.карты, но не клубной карты!)

</discount>

<addition> // minOccurs=”0” maxOccurs="unbounded" (наценки, которые привели к изменению суммы продажи)

                     <programId></programId>     (код скидки в УКМ 4)

                     <programName></programName> (название скидки в УКМ 4)

<programType></programType> (тип скидки в УКМ 4 (значение поля trm_out_receipt_discounts.efts) integer)

<amount></amount>             (значение скидки – положительное число)

                     <discCardNumber></discCardNumber>    (номер диск.карты, но не клубной карты!)

</addition>

<enterType></enterType>            (способ ввода товара: 0 – сканером, 1 – с клавиатуры, 2 – по «горячей» клавише)

              <sellerId></sellerId>

              <sellerName></sellerName>           (фамилия продавца)

       </item>

<gift> // minOccurs=”1” maxOccurs="unbounded"

              <article></article>                 (артикул товара, выданного как подарок)

<programId></programId>             (ID скидки в УКМ 4, которая инициировала выдачу данного подарка)

<programName></programName>

              <quantity></quantity>               (количество товара-подарка)

       </gift>

       <payment> // minOccurs=”1” maxOccurs="unbounded" (оплаты по чеку)

              <paymentId></paymentId>     («тип» средства оплаты: если не включено мапирование средств оплаты в настройках конвертора экспорта или не указан код, в который надо мапировать, то коды присваиваются по следующим правилам:

0 – наличные;

101 – все средства оплаты, связанные с банковскими авторизациями и голосовыми/пустыми серверами авторизаций в УКМ 4;

102 – ПС и ПК;

103 - внутренние счета)           

<paymentName></paymentName>  (название средства оплаты в УКМ 4:

Для кода 0 – Наличные;

Для кода 101 – Банковская карта;

Для кода 102 – Подарочный сертификат;

Для кода 103 – Оплата баллами)

              <paymentAmount></paymentAmount>

       </payment>

</receipt>


Смена:

<shift storeId=”” posNum=”” shiftNum=””>

<dateClose>/<dateClose>

       <cashierCode></cashierCode>         (кассир, закрывший смену)

<cashierName></cashierName>

<saleAmount></saleAmount>          (сумма всех чеков продажи за смену (сумма чека за минусом скидок))

<returnAmount></returnAmount>       (сумма всех чеков возвратов за смену (суммы чеков с учётом восстановления скидок))

       <saleCount></saleCount>

       <returnCount></returnCount>

<receipt storeId=”” posNum=”” shiftNum=”” receiptNum=””>//minOccurs=”0” maxOccurs = "unbounded"

<receiptNum></receiptNum >

       <receiptDateTime></receiptDateTime>

<cashierCode></cashierCode>         (код кассира)

<cashierName></cashierName>         (имя кассира)

<type></type>

<amount>/< amount>                  (сумма чека, уменьшенная на величину скидок)

       <item> // minOccurs=”1” maxOccurs="unbounded"

<article></article>

              <barcode></barcode>

<egaisBarcode>5453453,352342,5645564,34523542</egaisBarcode>       (штриховые коды алкогольных марок PDF417, если товар является алкогольной продукцией и кассиром была считана с бутылки акцизная марка (или несколько марок для товаров-наборов))

<NOPDF></NOPDF>              (содержание QR кода, если товар является алкогольной продукцией и кассиром был считан внутренний QR-код, наклеенный на бутылку)

<quantity></quantity>

                     <price></price>             (цена товара по прайс-листу)

<total></total>      (стоимость позиции, уменьшенная на величину скидок)

              <stockId></stockId>

<Property></Property> (идентификатор свойства товара из нормализированного хранилища. В случае нескольких значений выбирается случайным образом)

<PropertyValue></PropertyValue>

<discount> // minOccurs=”0” maxOccurs="unbounded" (выгружаются скидки, которые привели к изменению суммы продажи)

                     <programId></programId>     (код скидки в УКМ 4)

                     <programName></programName> (название скидки в УКМ 4)

<programType></programType> (тип скидки в УКМ 4 (значение поля trm_out_receipt_discounts.efts) integer)

<amount></amount>           (значение скидки – положительное число)

<discCardNumber></discCardNumber>    (номер диск.карты, но не клубной карты!)

</discount>

<addition> // minOccurs=”0” maxOccurs="unbounded" (наценки, которые привели к изменению суммы продажи)

                     <programId></programId>     (код скидки в УКМ 4)

                     <programName></programName> (название скидки в УКМ 4)

<programType></programType> (тип скидки в УКМ 4 (значение поля trm_out_receipt_discounts.efts) integer)

<amount></amount>            (значение скидки – положительное число)

              <discCardNumber></discCardNumber>    (номер диск.карты, но не клубной карты!)

</addition>

              <enterType></enterType>

              <sellerId></sellerId>

<sellerName></sellerName>

       </item>

       <gift> // minOccurs=”1” maxOccurs="unbounded"

<article></article>         (артикул товара, выданного как подарок)

<programId></programId>     (ID скидки в УКМ 4, которая инициировала выдачу данного подарка)

       <programName></programName>

<quantity></quantity>               (количество товара-подарка)

       </gift>

       <payment> // minOccurs=”1” maxOccurs="unbounded"    (оплаты по чеку)

              <paymentId></paymentId>   («тип» средства оплаты: если не включено мапирование средств оплаты в настройках конвертора экспорта или не указан код, в который надо мапировать, то коды присваиваются по следующим правилам:

0 – наличные;

101 – все средства оплаты, связанные с банковскими авторизациями и голосовыми/пустыми серверами авторизаций в УКМ 4;

102 – ПС и ПК;

103 - внутренние счета) 

<paymentName></paymentName> (название средства оплаты в УКМ 4:

Для кода 0 – Наличные;

Для кода 101 – Банковская карта;

Для кода 102 – Подарочный сертификат;

Для кода 103 – Оплата баллами)

              <paymentAmount></paymentAmount>

       </payment>

</receipt>

</shift>

  • Нет меток