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

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

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

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

Конвертеры импорт и экспорт 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

Внимание! В данном описании перечислены только новейшие изменения. Полную версию файлов импорта можно найти здесь.


Загрузка дополнительных цен

<storePricesAdd fullness="F" storeId="4">
<version=”1.0”>
<PriceType> //  minOccurs=”0” maxOccurs="unbounded"
<priceTypeCode></priceTypeCode>                      (код вида цены в СМ)
<priceTypeName></priceTypeName>                    (название вида цены в СМ)
<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>
</PriceType>
</storePricesAdd>


Ссылка на чек продажи в чеке возврата

<cashierName> </cashierName>
<cashierCode> </cashierCode>
<type> </type>
<POSsale> </POSsale>
<shiftNumSale> </shiftNumSale>
<receiptNumSale> </receiptNumSale>     (для всего чека)
<amount> </amount>
<item>
<position> </position>
<positionSale> </positionSale>                 (для отдельной позиции)
<article> </article>
<quantity> </quantity>
<price> </price>
<total> </total>
<stockId> </stockId>
<enterType> </enterType>
<discount>
<programId> </programId>
<programName> </programName>
<programType> </programType>
<amount> </amount>
</discount>
</item>


Контроль алкокодов для акцизных марок

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


Открытие смен

<?xml version="1.0" encoding="UTF-8"?>
<shiftOpen storeId="1" posNum="7" shiftNum="32">
<version> </version>
<dateOpen> </dateOpen>                   (дата открытия смены)
<cashierCode> </cashierCode>            (код кассира)
<cashierName> </cashierName>          (имя кассира)
</shiftOpen>


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

<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>

  • Нет меток