Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление

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

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

Версионность

Каждый файл с данными в начале должен содержать тег «version="MJ.MN»1.0», описывающий версию формата данных соответствующего типа информации. Номера представляются в виде целого положительного числа (например, «version="1.0»1.0»).

Здесь MJ означает номер «мажорной» версии, MN означает номер «минорной» версии.

Логика изменения номеров версий заключается в следующем:

– если в новой версии формата данных произошли изменения, в результате которых новый формат данных стал несовместим с прежним форматом, то номер «мажорной» версии увеличивается на 1;

- если изменения совместимы с прежним форматом, то увеличивается номер «минорной» версии.

На практике это означает, что при изменении MJ-номера формата, версия конвертора, работающая с прежним форматом, не будет обрабатывать файлы с новым форматом и, наоборот, версия конвертора с новым форматом не будет обрабатывать файлы со старым форматом.

Если изменился MN-номер (но не изменилась MJ-номер), то файлы будут обрабатываться, но «незнакомые» для конвертора теги будут пропущены.

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

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

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

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

...

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

...

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

...

Тип выгрузки

...

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

...

1

...

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

...

 properties

...

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

...

2

...

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

...

 taxes

...

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

...

3

...

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

...

 stocks

...

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

...

4

...

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

...

 classif

...

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

...

5

...

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

...

 updateItems

...

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

...

6

...

Наборы

...

 kit

...

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

...

7

...

Скидка по дисконтным картам (устаревший функционал)

...

 discountPersonal

...

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

...

8

...

Скидки на товарную группу (устаревший функционал)

...

 classifDiscount

...

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

...

9

...

Скидка на чек (по времени и сумме) (устаревший функционал)

...

 receiptDiscount

...

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

...

10

...

Скидка на количество товара (устаревший функционал)

...

 quantityDiscount

...

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

...

11

...

Список заблокированных дисконтных карт (устаревший функционал)

...

blockCard

...

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

...

Информация для магазинов (в одном файле может находиться информация только для одного магазина) 

...

12

...

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

...

 storePrices

...

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

...

13

...

Продавцы

...

 storeSellers

...

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

...

14

...

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

...

 itemStoreStock

...

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

...

15

...

Кассиры

...

storeCashier

...

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

Имена файлов

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

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

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

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

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

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

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

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

Примеры:

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

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

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

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

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

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

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

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

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

Image Removed

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

Image Removed

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

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

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

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

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

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

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

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

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

...

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

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

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

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

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

Например, в каталоге есть файлы 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 символов)

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

             

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

       </cashier>

</storeCashiers>

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

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

Передача информации из УКМ 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 во внешнюю систему.

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

Image Removed

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

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

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

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

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

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

Image Removed

Каталог для выгрузки данных – в поле указывается путь до каталога, куда УКМ 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>

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

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

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

...

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

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

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

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

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

...

Отображение дочерних