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

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

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

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

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

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

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

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

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

Типы передаваемой информации:


Тип информации

Имя файла и головного тега

Тип выгрузки

Общая информация (одинаковая для всех магазинов)

 

1

Справочник  свойств товаров

 рroperties

всегда полная

2

Справочник налогов

 taxes

всегда полная

3

Справочник отделов магазинов

 stocks

всегда полная

4

Товарный классификатор

 classif

всегда полная

5

Товары (включая штрихкоды и дополнительные характеристики товаров)

 updateItems

полная/частичная

6

Наборы

Kit

всегда полная

7

Скидка по дисконтным картам

 discountPersonal

полная/частичная

8

Скидки на товарную группу

 classifDiscount

всегда полная

9

Скидка на чек (по времени и сумме)

 receiptDiscount

всегда полная

   10

Скидка на количество товара

 quantityDiscount

всегда полная

Информация для магазинов

 

11

Цены на товары

 storePrices

полная/частичная

12

Продавцы

 storeSellers

всегда полная

13

Привязка товаров к отделам магазина

 itemStoreStock

всегда полная

14

Кассиры

storeCashier

всегда полная

Имена файлов

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

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

Object – идентификатор объекта. Может быть переменной длины и принимать значение [код магазина] для файлов, указанных в таблице 1 в разделе «Информация для магазина», или значение [код вида цены во внешней системе] для файлов со скидками (discountPersonal, classifDiscount, receiptDiscount, quantityDiscount).

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

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

P – признак полноты информации в файле: «F» - файл содержит полный перечень элементов, «I» - файл содержит не полный перечень элементов (это не аналог полной и неполной выгрузки для УКМ2, это только информация о полноте содержимого файлов!).

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

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

Примеры:

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

discountPersonal_[5]_[3]_[F].xml – скидка по дисконтным картам, вид цены во внешней системе = 5;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

<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  немаркированный)

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


Скидка «Персональная скидка на классификатор» (для Супермаг Плюс) (может быть весь справочник или только изменения):

<discountPersonal IdPrice=”” fullness=”F/I”>    (идентификатор вида цены в Супермаг Плюс)

       <version=””>

       <name></name>                      (название вида цены в Супермаг Плюс)

<storeDiscount>

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

       (перечень магазинов, для которых действует данный экземпляр скидки. Перечень магазинов всегда передаётся полный)

</storeDiscount>

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

              <number></number>    (номер карты, в т.ч. префикс)

              <block></block>      (признак блокировки карты)

              <type></type>        (1 – совместная применимость, 0 – неприменимость)

              <name></name>        (имя клиента в чеке)

              <classDisc>          (перечень узлов классификатора, на которые в Супермаг Плюс определена величина скидки. Перечень всегда выгружается полный. При этом, выгружаются только те узлы, для которых в Супермаг Плюс указаны значения скидки, т.е. вопрос наследования значений скидки по иерархии узлов классификатора решается УКМом))

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

                     <discount></discount>

              </classDisc>

       </card>

</discountPersonal>

Для каждой карты всегда выгружается полный перечень узлов классификатора, на которые должна быть предоставлена скидка.


Скидка на классификатор (для Супермаг Плюс) (весь справочник):

<classifDiscount IdPrice=”” fullness=”F”>  (идентификатор вида цены в Супермаг Плюс)

       <version=””>

       <name></name>                    (название вида цены в Супермаг Плюс)

<storeDiscount>

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

       (перечень магазинов, для которых действует данный экземпляр скидки. Перечень магазинов всегда передаётся полный))

</storeDiscount>

              <classif classifId=””> // minOccurs=”0” maxOccurs="unbounded" (выгружаются только те узлы, для которых в Супермаг Плюс указаны значения скидки, т.е. вопрос наследования значений скидки по иерархии узлов классификатора решается УКМом)

       <discount></discount>

<classif>

</classifDiscount>


Скидка на сумму чека (для Супермаг Плюс) (весь справочник):

<receiptDiscount IdPrice=”” fullness=”F”>   (идентификатор вида цены в Супермаг Плюс)

       <version=””>

       <name></name>                    (название вида цены в Супермаг Плюс)

<storeDiscount>

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

       (перечень магазинов, для которых действует данный экземпляр скидки. Перечень магазинов всегда передаётся полный))

</storeDiscount>

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

       <amountFrom></amountFrom>

       <timeFrom></timeFrom>

       <discount></discount>

              </receipt>

</receiptDiscount>


Скидка на кол-во товара (для Супермаг Плюс) (весь справочник):

<quantityDiscount IdPrice=”” fullness=”F”>    (идентификатор вида цены в Супермаг Плюс)

       <version=””>

       <name></name>                    (название вида цены в Супермаг Плюс)

<storeDiscount>

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

       (перечень магазинов, для которых действует данный экземпляр скидки. Перечень магазинов всегда передаётся полный))

</storeDiscount>

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

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

              <quantity></quantity>

              <discount></discount>

       </threshold>

</item>

       </quantityDiscount>


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

<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 символов)

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

       </cashier>

</storeCashiers>


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

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

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

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

          - чеки;

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Чек

<receipt storeId=”” posNum=”” shiftNum=””  receiptNum=””>  (id магазина, номер терминала, номер смены, номер чека)
<version=””>
       <receiptDateTime></receiptDateTime>                 (время закрытия чека)
       <receiptOpenDateTime></receiptOpenDateTime>         (время открытия чека)
       <receiptSubtotalDateTime></receiptSubtotalDateTime> (время подытога по чеку чека)
       <cashierName></cashierName>                         (ФИО кассира)
       <cashierCode></cashierCode>                         (id кассира)
       <type></type>                                              (тип чека: 0 - продажа, 1 - чек на возврат, 4 - возврат по чеку, 5 - восстановленный чек)
       <item> // minOccurs=”1” maxOccurs="unbounded"      <секция товара в чеке>
               <article></article>                         (артикул товара)
               <quantity></quantity>                       (количество товара)
               <price></price>                             (цена товара по прайс-листу)
               <barcode></barcode>                         (штрихкод товара)
               <egaisBarcode></egaisBarcode>               (штриховой код алкогольной марки PDF417)
               <NOPDF></NOPDF>                             (содержание QR кода)
               <total></total>                             (стоимость позиции, уменьшенная на величину скидок)
               <stockId></stockId>                         (id отдела)
               <enterType></enterType>                     (способ ввода товара: 0 - сканер ШК, 1 - клавиатура, 2 - "горячая" клавиша)
               <sellerId></sellerId>                       (идентификатор продавца)
               <sellerName></sellerName>                   (ФИО продавца)
               <Property></Property>                       (идентификатор свойства товара из нормализированного хранилища. В случае нескольких значений выбирается случайным образом)
               <PropertyValue></PropertyValue>             (значение свойства товара)
               <discount> // minOccurs=”0” maxOccurs="unbounded" (выгружаются скидки, которые привели к изменению суммы продажи)
                      <programId></programId>              (код скидки в УКМ)
                      <programName></programName>          (название скидки в УКМ)
                      <programType></programType>          (тип скидки в УКМ (значение поля trm_out_receipt_discounts.efts) integer)
                      <amount></amount>                    (значение скидки - положительное число)
                      <discCardNumber></discCardNumber>    (номер диск.карты, но не клубной карты)
               </discount>
               <addition> // minOccurs=”0” maxOccurs="unbounded" (наценки, которые привели к изменению суммы продажи)
                      <programId></programId>              (код скидки в УКМ, которая увеличивает стоимость позиции в чеке)
                      <programName></programName>          (название скидки в УКМ, которая увеличивает стоимость позиции в чеке)
                      <programType></programType>          (тип скидки в УКМ (значение поля 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>                     (код скидки в УКМ, в рамках которой выдан подарок)
               <programName></programName>                 (название скидки в УКМ, в рамках которой выдан подарок)
               <quantity></quantity>                       (количество)
       </gift>
       <payment> // minOccurs=”1” maxOccurs="unbounded"    (оплаты по чеку)    
               <paymentId></paymentId>                     (тип средства оплаты: 0 – наличные, 101 – все средства оплаты, связанные с банковскими авторизациями и голосовыми/пустыми серверами авторизаций в УКМ 4,
                                                            102 – оплата подарочными картами и сертификатами, 103 – оплата баллами (внутренние счета и средства оплаты, связанные с внешними программами лояльности))
               <paymentName></paymentName>                 (название средства оплаты в УКМ 4)
               <paymentAmount></paymentAmount>             (размер платежа)
       </payment>
</receipt>

Смена

<shift storeId=”” posNum=”” shiftNum=”” dateClose=””>                (id магазина, номер терминала, номер смены)
       <version></version>
       <dateClose></dateClose>                                       (дата и время закрытия смены)
       <cashierName></cashierName>                                   (ФИО кассира, закрывшего смену)
       <cashierCode></cashierCode>                                   (ID кассира, закрывшего смену)
       <saleAmount></saleAmount>                                     (сумма продаж за смену)
       <returnAmount></returnAmount>                                 (сумма возвратов за смену)
       <saleCount></saleCount>                                       (количество чеков на продажу за смену)
       <returnCount></returnCount>                                   (количество чеков на возврат за смену)
       <receipt> // minOccurs=”0” maxOccurs="unbounded"              (чек)
           <receiptNum></receiptNum >                                (номер чека)
           <receiptDateTime></receiptDateTime>                       (дата и время закрытия чека)
           <cashierCode></cashierCode>                               (ID кассира, закрывшего чек)
           <cashierName></cashierName>                               (ФИО кассира, закрывшего чек)
           <type></type>                                             (тип чека: 0 – продажа, 1 – чек на возврат, 4 – возврат по чеку, 5 – восстановленный чек) 
           <amount></amount>                                         (итоговая сумма чека)
           <item> // minOccurs=”1” maxOccurs="unbounded"             (товар)
                <article></article>                                  (артикул товара)
                <barcode></barcode>                                  (штрихкод товара)
                <egaisBarcode></egaisBarcode>                        (штриховой код алкогольной марки PDF417)
                <NOPDF></NOPDF>                                      (содержание QR кода)
                <quantity></quantity>                                (количество товара в чеке)    
                <price></price>                                      (цена товара по прайс-листу)                   
                <total></total>                                      (стоимость позиции, уменьшенная на величину скидки)
                <stockId></stockId>                                  (идентификатор отдела)
                <Property>                                           (свойство товара)                                    
                     <соdе></соdе>                                   (код свойства)
                     <value></value>                                 (значение свойства)
                </Property>        
                <enterType></enterType>                              (способ ввода товара: 0 – сканером, 1 – с клавиатуры, 2 – по «горячей» клавише)
                <sellerId></sellerId>                                (идентификатор продавца)
                <sellerName></sellerName>                            (ФИО продавца) 
                <discount> // minOccurs=”0” maxOccurs="unbounded"    (скидка)
                           <programId></programId>                   (код скидки в УКМ)
                           <programName></programName>               (название скидки в УКМ)
                           <programType></programType>               (тип скидки в УКМ (значение поля trm_out_receipt_discounts.efts, integer))
                           <amount></amount>                         (значение скидки - отрицательное число)
                           <discCardNumber></discCardNumber>         (номер дисконтной карты, но не клубной карты)
                </discount>
                <addition>                                           (наценка) 
                          <programId></programId>                    (код наценки в УКМ)
                          <programName></programName>                (название наценки в УКМ)
                          <programType></programType>                (тип наценки в УКМ (значение поля trm_out_receipt_discounts.efts, integer))
                          <amount></amount>                          (значение наценки - положительное число)
                </addition>
           </item>     
           <gift> // minOccurs=”1” maxOccurs="unbounded"             (подарки)
                <article></article>                                  (артикул товара, выданного в качестве подарка)
                <programId></programId>                              (код скидки в УКМ, в рамках которой выдан подарок)
                <programName></programName>                          (название скидки в УКМ, в рамках которой выдан подарок)
                <quantity></quantity>                                (количество)
           </gift>
           <payment>                                                 (оплаты по чеку)
                <paymentId></paymentId>                              (тип средства оплаты: 0 – наличные, 101 – все средства оплаты, связанные с банковскими авторизациями и голосовыми/пустыми серверами авторизаций в УКМ 4,
                                                                      102 – оплата подарочными картами и сертификатами, 103 – оплата баллами (внутренние счета и средства оплаты, связанные с внешними программами лояльности))
                <paymentName></paymentName>                          (название средства оплаты в УКМ 4)
                <paymentAmount></paymentAmount>                      (размер платежа)
           </payment>
       </receipt>
</shift>

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

В связи с добавлением в УКМ 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. Ставка не облагается может отсутствовать в справочнике налогов в нескольких случаях (это не вызовет проблем в работе кассовой системы):

  • При использовании опции "Формировать налоговые ставки автоматически, в соответствии с ФЗ РФ" для заказчиков с не основной системой налогообложения в чек всегда будет добавляться корректная ставка "не облагается" не зависимо от того, как заданы параметры ставки для списка карточек товаров для импорта.

Актуально для конвертеров:

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


Вложенные страницы:

  • Нет меток