Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: https://redmine.artix.su/issues/70587


Panel

Table of Contents


Info
Все настройки обмена задаются в конфигурационном
файле 
файле /linuxcash/cash/exchangesystems/exchangers/config/cash/exchnagers.ini.

Загрузка справочников

Smag-ukm4

Для загрузки справочников в формате smag-ukm4 необходимо:

  • указать название конвертера в секции [UPLOAD]converter smag-ukm4,
  • сконфигурировать секцию загрузки [upload.converter.smag-ukm4].
Наименование
Тип данных
Возможные значения
Описание
Примечания
flagsстроковый

Список файлов-флагов, разделенный запятыми

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

Флаг *.upd используется для загрузки справочников в дополнение к уже имеющимся данным.

Флаг *.cng используется для замены справочников в БД новыми

dataстроковый

Список файлов-справочников, разделенный запятыми

В параметре указывается наименование файлов-справочников и полный путь до них
errorDestстроковый
Файл записи ошибок конвертирования

В параметре указывается полный путь до файла, в который записывается текст последней ошибки конвертирования.

Если директория файла или сам файл не создан, то запись ошибки не производится. Файл удаляется при следующем запуске конвертирования

charsetстроковый
  • utf_8
  • U8
  • UTF
  • utf8
  • cp1251
  • windows-1251
  • cp866
  • 866
  • IBM866
Кодовая страница данныхПо умолчанию 866
discountстроковый
  • modern
  • legacy
Режим дисконтной системыПо умолчанию modern
defaultRoleCodeчисловой
Код роли пользователя по умолчаниюПо умолчанию 3
additionallyRoleCodeчисловой
Код дополнительной роли пользователяПо умолчанию 2

relationRolesBy

строковый
  • name
  • code
Связывать роль администратора с пользователем по его имени или коду
substringInAdminNameстроковый
Подстрока, которую необходимо искать в имени пользователя, чтобы он стал администраторомПо умолчанию Администратор
usersWithAdditionallyRoleчисловой
Список кодов пользователей, имеющих дополнительные ролиПо умолчанию ' '


Code Block
languagetext
titleПример настройки
[UPLOAD]
...
; список конвертеров данных, разделенный запятыми (aif, oracle, shtrih, smag-ukm, smag-ukm4, users, crystal, atol)
converter = smag-ukm4
... 
[upload.converter.smag-ukm4]
; Список файлов-флагов, разделенный запятыми
;flags = /tmp/dict/smag/*.cng, /tmp/dict/smag/*.upd

; Список файлов-справочников, разделенный запятыми
;data = /tmp/dict/smag/*.dat

; Файл в который будет записываться текст последней ошибки конвертирования
;errorDest = /tmp/dict/smag/error.txt

; Кодовая страница данных.
; Примеры кодировок: utf_8, U8, UTF, utf8, cp1251, windows-1251, cp866, 866, IBM866 и др.
; По умолчанию 866
;charset = 866

; Режим дисконтной системы (modern, legacy)
; По умолчанию modern
;discount = modern

; Код роли пользователя по умолчанию
; По умолчанию 3
;defaultRoleCode = 3

; Код дополнительной роли пользователя
; По умолчанию 2
;additionallyRoleCode = 2

; Связывать роль администратора с пользователем по его имени или коду (name, code)
;relationRolesBy = name

; Подстрока, которую необходимо искать в имени пользователя, что бы он стал администратором
; По умолчанию Администратор
;substringInAdminName = Администратор

; Список кодов пользователей, которые имеют дополнительные роли, разделенные через запятые
; По умолчанию ''
;usersWithAdditionallyRole = 1,2,3

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

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

При возникновении ошибок конвертирования справочников в формат AIF описание ошибки указывается в файле, заданном параметром errorDest. В параметре указывается полный путь до файла. Файл с ошибкой конвертирования удаляется при следующем запуске процедуры. Если параметр не определен или директория для размещения файла отсутствует, то файл с ошибками не создается.

При загрузке справочников дисконтных карт может быть указан тип дисконтной системы в параметре  discount:

  • при значении параметра modern выполняется загрузка справочников карт в объектную дисконтную систему (новый дисконт),
  • при значении параметра legacy справочники карт загружаются в традиционную дисконтную систему (старый дисконт).

Связывание роли администратора с пользователем производится по имени или коду. Правила связки определяются параметром  relationRolesBy:

  • при значении параметра name права администратора назначаются пользователю, указанному в параметре substringInAdminName. Пользователю присваивается роль по умолчанию из параметра defaultRoleCode и дополнительная роль из параметра additionallyRoleCode,
  • при значении параметра code права администратора получает пользователь с кодом, указанным в параметре usersWithAdditionallyRoleПользователю присваивается роль по умолчанию из параметра defaultRoleCode и дополнительная роль из параметра additionallyRoleCode.

Подробнее о ролях пользователей и их взаимодействии можно прочитать в разделе "Роли".

Связка товара с каталогом по коду группы

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

Code Block
titleПример настройки
[upload.converter.smag-ukm4.group2catalog]
; Связать товар с каталогом по коду группы
; Если товар входит в группу 1, а у группы 1 есть связка с каталогом 2, то в tmccatalog будет связка (код товара, код каталога 2)
; <код группы товара> = <код каталога>
;410 = 16
;413 = 17

О связке товара с каталогом по коду группы при задании формата обмена на кассовом сервере можно прочитать в статье "SUPERMAG, SUPERMAG4, SUPERMAG_XML / Супермаг (КС)".

Smag-ukm

Для загрузки справочников в формате smag-ukm необходимо:

  • указать название конвертера в секции [UPLOAD]converter = smag-ukm,
  • сконфигурировать секцию загрузки [upload.converter.smag-ukm].
Наименование
Тип данных
Возможные значения
Описание
Примечания
flagsстроковый

Список файлов-флагов, разделенный запятыми

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

Флаг *.upd используется для загрузки справочников в дополнение к уже имеющимся данным.

Флаг *.cng используется для замены справочников в БД новыми

dataстроковый

Список файлов-справочников, разделенный запятыми

В параметре указывается наименование файлов-справочников и полный путь до них
errorDestстроковый
Файл записи ошибок конвертирования

В параметре указывается полный путь до файла, в который записывается текст последней ошибки конвертирования.

Если директория файла или сам файл не создан, то запись ошибки не производится. Файл удаляется при следующем запуске конвертирования

charsetстроковый
  • utf_8
  • U8
  • UTF
  • utf8
  • cp1251
  • windows-1251
  • cp866
  • 866
  • IBM866
Кодовая страница данныхПо умолчанию 866
formatстроковый
  • dat
  • dbf
Формат данныхФормат dat подразумевает обмен данными через текстовые файлы csv (данные, разделенные запятыми).
Формат dbf – обмен данными через dbf файлы
defaultRoleCodeчисловой
Код роли пользователя по умолчанию
additionallyRoleCodeчисловой
Код дополнительной роли пользователя

relationRolesBy

строковый
  • name
  • code
Связывать роль администратора с пользователем по его имени или коду
substringInAdminNameстроковый
Подстрока, которую необходимо искать в имени пользователя, чтобы он стал администраторомПо умолчанию Администратор
usersWithAdditionallyRoleчисловой
Список кодов пользователей, имеющих дополнительные роли
setMinPriceIfDiscountRestrictMissingлогический
  • true
  • false
Устанавливать минимальную цену при отсутствии ограничения по скидкеПо умолчанию true


Code Block
languagetext
titleПример настройки
[UPLOAD]
...
; список конвертеров данных, разделенный запятыми (aif, oracle, shtrih, smag-ukm, smag-ukm4, users, crystal, atol)
converter = smag-ukm
... 
[upload.converter.smag-ukm]
; Список файлов-флагов, разделенный запятыми
;flags = /tmp/dict/smag/*.cng, /tmp/dict/smag/*.upd

; Список файлов-справочников, разделенный запятыми
;data = /tmp/dict/smag/*.dat

; Файл в который будет записываться текст последней ошибки конвертирования
;errorDest = /tmp/dict/smag/error.txt

; Кодовая страница данных.
; Примеры кодировок: utf_8, U8, UTF, utf8, cp1251, windows-1251, cp866, 866, IBM866 и др.
; По умолчанию 866
;charset = 866

; Формат данных (dat, dbf)
; По умолчанию dat
;format = dat

; Код роли пользователя по умолчанию
; По умолчанию 3
;defaultRoleCode = 3

; Код дополнительной роли пользователя
; По умолчанию 2
;additionallyRoleCode = 2

; Связывать роль администратора с пользователем по его имени или коду (name, code)
relationRolesBy = code

; Подстрока, которую необходимо искать в имени пользователя, что бы он стал администратором
; По умолчанию Администратор
;substringInAdminName = Администратор

; Список кодов пользователей, которые имеют дополнительные роли, разделенные через запятые
; По умолчанию ''
usersWithAdditionallyRole = 1,2,3

; Устанавливать минимальную цену при отсутствии ограничения по скидке
; По умолчанию True
;setMinPriceIfDiscountRestrictMissing = True

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

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

При возникновении ошибок конвертирования справочников в формат AIF описание ошибки указывается в файле, заданном параметром errorDest. В параметре указывается полный путь до файла. Файл с ошибкой конвертирования удаляется при следующем запуске процедуры. Если параметр не определен или директория для размещения файла отсутствует, то файл с ошибками не создается.

Связывание роли администратора с пользователем производится по имени или коду. Правила связки определяются параметром relationRolesBy:

  • при значении параметра name права администратора назначаются пользователю, указанному в параметре substringInAdminName. Пользователю присваивается роль по умолчанию из параметра defaultRoleCode и дополнительная роль из параметра additionallyRoleCode,
  • при значении параметра code права администратора получает пользователь с кодом, указанным в параметре usersWithAdditionallyRole. Пользователю присваивается роль по умолчанию из параметра defaultRoleCode и дополнительная роль из параметра additionallyRoleCode.

Подробнее о ролях пользователей и их взаимодействии можно прочитать в разделе "Роли".

При загрузке справочников товаров можно определять правило установки минимальной цены при отсутствии ограничения по скидке при помощи параметра setMinPriceIfDiscountRestrictMissing:

  • при значении параметра true минимальная цена товара принимает значение основной цены,
  • при значении параметра false в значение минимальной цены товара устанавливается 0.

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

Связка товара с каталогом по коду группы

Panel

Начиная с версии кассового ПО 4.6.80 связка товара с каталогом по коду группы задается в секции [upload.converter.smag-ukm.group2catalog].

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

Code Block
titleПример настройки
[upload.converter.smag-ukm.group2catalog]
; Связать товар с каталогом по коду группы
; Если товар входит в группу 1, а у группы 1 есть связка с каталогом 2, то в tmccatalog будет связка (код товара, код каталога 2)
; <код группы товара> = <код каталога>
;0000.0000.0000.0000.0001 = 1
;0000.0000.0000.0000.0002 = 2

О связке товара с каталогом по коду группы при задании формата обмена на кассовом сервере можно прочитать в статье "SUPERMAG, SUPERMAG4, SUPERMAG_XML / Супермаг (КС)".

Smag-ukm-xml

Для загрузки справочников в формате smag-ukm-xml необходимо:

  • указать название конвертера в секции [UPLOAD]: converter = smag-ukm-xml,
  • сконфигурировать секцию загрузки: [upload.converter.smag-ukm-xml].

Дополнительно можно сконфигурировать секции:

  • соответствия кодов единицы измерения соответствие кодов групп ТН ВЭД типам ШК для реализации маркированного товара: [upload.converter.smag-ukm-xml.measureMappertmcTypeMapper],соответствие кодов групп ТН ВЭД типам ШК для реализации маркированного товара
  • cоотнесение кодов единиц измерения Artix и наименований единиц измерения SuperMag UKM: [upload.converter.smag-ukm-xml.egaisTypeMappermeasureMapper].

Наименование

Тип данных

Возможные значения
  • ,
  • соотнесение наименований единиц измерения и опций количества товара: [upload.converter.smag-ukm-xml.quantityOptionsMapper],

  • соотнесение кодов групп товаров и свойств товара/штрих-кода: [upload.converter.smag-ukm-xml.tmcRestrictionsMapper].

Наименование

Тип данных

Возможные значения

Описание

Примечания

flagsстроковый

Список файлов-флагов, разделенный запятыми

В параметре указывается наименование файла-флага и полный путь до него. Наличие файла-флага в исходной директории указывает на то, что справочники полностью сформированы и выгружены. Если файл-флаг отсутствует, то загрузка справочников не выполняется.

По умолчанию /tmp/dict/smag-ukm-xml/pos*.flz

dataстроковый

Список файлов-справочников, разделенный запятыми

В параметре указывается наименование файлов-справочников и полный путь до них.

Warning
Для загрузки справочников с маркированными товарами необходимо чтобы в общей директории со справочником товаров располагался справочник TNVDCodes.

По умолчанию /tmp/dict/smag-ukm-xml/*.xml

errorDest

По умолчанию /tmp/dict/smag-ukm-xml/*.xml

errorDestстроковый
Файл в который будет записываться текст последней ошибки конвертирования

В параметре указывается полный путь до файла, в который записывается текст последней ошибки конвертирования.

Если директория файла или сам файл не создансоздана, то запись ошибки не производится. Файл удаляется при следующем запуске конвертирования

picklistPicturesPath строковый
Директория с изображениями товаров, входящих в состав пиклиста

В параметре указывается полный путь до директории с изображениями товаров.

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

По умолчанию /tmp/dict/smag-ukm-xml/error.txt

mapTnvdCodeToTmcTypeлогический
  • true
  • false
Маппинг маркированных товаров по кодам ТН ВЭД

picklist/

cleaningFlagDictsстроковый
Список справочников, для которых нужно учитывать флаг очистки

В параметре указывается список справочников, разделенный запятыми.
Справочники доступные к очистке: updateItems, storePrices, storePricesAdd, taxes, alcocode (очищаются ещё и Items), classif,kit (очищаются ещё и items), storeCashiers, picklists

loadMRCлогический
  • True
  • False
Загружать альтернативные цены

Если настройка включена, то в качестве итоговой цены используется максимальное значение из списка МРЦ (поле MRCValue). Если настройка выключена, то для формирования итоговой цены используется минимальная цена (поле minprice).
По умолчанию True


Code Block
languagetext
titleПример настройки
[upload.converter.smag-ukm-xml]
; Список файлов-флагов, разделенный запятыми
flags = /tmp/dict/smag-ukm-xml/pos*.flz

; Список файлов-справочников, разделенный запятыми
data = /tmp/dict/smag-ukm-xml/*.xml

; Файл в который будет записываться текст последней ошибки конвертирования
;errorDest = /tmp/dict/smag-ukm-xml/error.txt  

; МаппингДиректория с маркированныхизображениями товаров, повходящих кодамв ТНсостав ВЭДпиклиста
; При отключенном маппинге маркированные товары будут выгружены
;mapTnvdCodeToTmcType = False

[upload.converter.smag-ukm-xml.measureMapper]
; <соответствие кодов единицы измерения>
; <код единицы измерения - артикс> = <код единицы измерения - ukm>
1 = шт
2 = кгpicklistPicturesPath = /tmp/picklist/

; Список справочников, для которых нужно учитывать флаг очистки.
; В качестве разделителя названий справочников используются запятые
; Справочники доступные к очистке: updateItems,storePrices,storePricesAdd,taxes,
; alcocode (очищаются ещё и Items),classif,kit (очищаются ещё и items),storeCashiers,picklists
; cleaningFlagDicts =  

; Загружать альтернативные цены
; По умолчанию True
;loadMRC = True

[upload.converter.smag-ukm-xml.egaisTypeMappertmcTypeMapper]
; <соответствие кодов групп ТН ВЭД типам ШК для реализации маркированного товара>
; <код типа ШК - артикс> = <коды групп ТН ВЭД от ukm через запятую>
; маппинг работает для товаров с egaisType 1
; если код ТН ВЭД, указанный у товара, не найден в маппинге, товар будет прогружен с tmcType = 7
;2 = 100,200,1020
;3 = 900,1020,7890

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

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

При возникновении ошибок конвертирования справочников в формат AIF описание ошибки указывается в файле, заданном параметром errorDest. В параметре указывается полный путь до файла. Файл с ошибкой конвертирования удаляется при следующем запуске процедуры. Если параметр не определен или директория для размещения файла отсутствует, то файл с ошибками не создается.

Возможность загрузки справочников с маркированными товарами определяется параметром mapTnvdCodeToTmcType в секции


[upload.converter.smag-ukm-xml.measureMapper]
; Соотнесение кодов единиц измерения Artix и наименований единиц измерения SuperMag UKM
; <код единицы измерения - Artix> = <код единицы измерения - SuperMag UKM>
1 = шт
2 = кг

[upload.converter.smag-ukm-xml.quantityOptionsMapper]
; Соотнесение наименований единиц измерения и опций количества товара
;кг = requirequantityscales,enablequantityscales  

[upload.converter.smag-ukm-xml
]. Соответствие кодов групп ТН ВЭД типам штрих-кодов для реализации маркированных товаров настраивается с помощью маппинга в секции [upload.converter.smag-ukm-xml.egaisTypeMapper]. Если соответствие задано, то загрузка справочников с маркированнами товарами будет происходить следующим образом:

При значении mapTnvdCodeToTmcType:

  • true если egaisType > 1, то поиск группы товаров будет осуществляться по соответствию значения поля TNVDcode из справочника товаров значению поля ID из справочника ТН ВЭД. Код группы товаров, полученный по полю ID, сравнивается со значениями, заданными в маппинге:
    • если код группы товаров найден в маппинге, то при загрузке штрих-кодов товара в БД Dictionaries в таблицу Barcodes будет загружен соответствующий тип товара в поле tmctype,
    • если код группы товаров не найден в маппинге, то при загрузке штрих-кодов товара в БД Dictionaries в таблицу Barcodes будет загружен тип маркированного товара (7) в поле tmctype.
  • false:
    • если egaisType=3 или egaisType=4, то при загрузке штрих-кодов товара в БД Dictionaries в таблицу Barcodes будет загружен тип маркированного товара (7) в поле tmctype,
    • если egaisType принимает любое другое значение (например, egaisType=10), то при загрузке штрих-кодов товара в БД Dictionaries в таблицу Barcodes будет загружен тип товара в поле tmctype, который соответствует заданному в egaisType значению.
Tip
Алкогольные товары (egaisType=1) при любом значении настройки mapTnvdCodeToTmcType считываются и загружаются в справочниках с признаком акцизного алкоголя tmctype=1.
Warning

Значение поля article должно быть уникальным среди всех товаров и штрих-кодов в справочнике.

Заданы настройки:

Параметр mapTnvdCodeToTmcType в секции [upload.converter.smag-ukm-xml] включен в положение true:

Panel
titleПример загрузки справочника с маркированным товаром с egaistype=3
Panel
titleПример №1 (mapTnvdCodeToTmcType = true)
Code Block
languagetext
; Маппинг маркированных товаров по кодам ТН ВЭД
mapTnvdCodeToTmcType = true

Маппинг в секции [upload.converter.smag-ukm-xml.egaisTypeMapper] настроен следующим образом:

Code Block
languagetext
.tmcRestrictionsMapper]
; Соотнесение кодов групп товаров и свойств товара/штрих-кода
;EGAIS = {"tmctype": 1, "age": 18, "alcoholpercent": 1.0, "ageverify": 1, "requiresalerestrict": 1, "egaisverify": 1}
;TOBACCO = {"tmctype": 3, "age": 18, "ageverify": 1, "requiresalerestrict": 1, "tobacco": 1, "priceoptions" : {"enableexcisemarkprice": 1}}
;MARKED_GOODS = {"tmctype": 7}

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

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

При возникновении ошибок конвертирования справочников в формат AIF описание ошибки указывается в файле, заданном параметром errorDest. В параметре указывается полный путь до файла. Файл с ошибкой конвертирования удаляется при следующем запуске процедуры. Если параметр не определен или директория для размещения файла отсутствует, то файл с ошибками не создается.

При загрузке справочника с единицами измерения могут быть добавлены опции количества товара. Для этого необходимо в секции [upload.converter.smag-ukm-xml.

egaisTypeMapper] 3 = 900,2402

Загрузка справочника с товаром с egaistype=3 осуществляется следующим образом:

Если у товара в справочнике значение поля egaisType>1 (в данном случае <egaisType>3</egaisType>), то будет получено значение поля TNVDcode (в данном случае <TNVDcode>1</TNVDcode>).

Code Block
languagetext
titleСодержимое справочника товаров
<item>
<article>000019</article>
<name>СИГАРИЛЛЫ КАФЕ КРЕМ 1/10 ШТ</name>
<measure>шт</measure>
<measprec>1</measprec>
<groupId>6521</groupId>
<egaisType>3</egaisType>
<TNVDcode>1</TNVDcode>
<taxgroupId>4</taxgroupId>
<barcode>
<id>8720400246144</id>
<quantity>1</quantity>
</barcode>
<barcode>
<id>8720400000210</id>
<quantity>1</quantity>
</barcode>
<SubExcise>1</SubExcise>
</item>

По значению поля TNVDcode в справочнике ТН ВЭД будет получено значение поля id (в данном случае <id>1</id>). После этого будет определено значение кода группы найденного товара в поле code (в данном случае <code>2402</code>).

Code Block
languagetext
titleСодержимое справочника ТН ВЭД
<group>
<id>1</id>
<code>2402</code>
<name>Сигары, сигары с обрезанными концами, сигариллы и сигареты из табака или его заменителей</name>
</group>
По значению поля <code>2402</code> будет осуществлен поиск типа товара, заданного в маппинге в секции

quantityOptionsMapper] задать соотнесение наименований единиц измерения и опций количества товара.

Panel
titleПример соотнесения наименований единиц измерения и опций количества товара

Пусть необходимо добавить следующие опции для штук:

  • enabledefaultquantity – "Использовать количество по умолчанию из товара",
  • enablequantitymanual – "Разрешить ввод количества вручную".

Пусть необходимо добавить следующие опции для килограммов:

  • enabledefaultquantity – "Использовать количество по умолчанию из товара",
  • enablequantitybarcode – "Разрешить установку количества из штрих-кода".

Тогда соотнесение примет вид

Code Block
[upload.converter.smag-ukm-xml.quantityOptionsMapper]
; Соотнесение наименований единиц измерения и опций количества товара
шт = enabledefaultquantity,enablequantitymanual
кг = enabledefaultquantity,enablequantitybarcode


Загрузка справочников с маркированными товарами

Существует возможность загрузки справочников с маркированными товарами, данная возможность может задаваться как в настройках кассы, так и в настройках Artix Control Center.

При загрузке справочников для алкогольной, табачной продукции и остальных маркированных товаров могут быть добавлены свойства товара/штрих-кода. Для этого необходимо в секции [upload.converter.smag-ukm-xml.tmcRestrictionsMapper] задать соотнесение кодов групп товаров и свойств товара/штрих-кода. Для группы/групп товаров может быть задан собственный набор свойств.

Panel
titleПример соотнесения групп товаров и свойств товаров/штрих-кодов

Пусть есть группы товаров с кодами 123, 456, abc и marked.

Code Block
[upload.converter.smag-ukm-xml.
egaisTypeMapper] (значения должны совпасть).
В данном случае значения совпали, значение типа товара будет загружено в БД Dictionaries в таблицу Barcodes в поле tmctype при загрузке штрих-кодов данного товара (в данном случае tmctype=3, что означает табачную продукцию).
tmcRestrictionsMapper]
; Соотнесение кодов групп товаров и свойств товара/штрих-кода

;Для алкогольной продукции
123,456 = {"tmctype": 1, "age": 18, "alcoholpercent": 40.0, "ageverify": 1, "requiresalerestrict": 1, "egaisverify": 1}
;Для табачной продукции
abc = {"tmctype": 3, "age": 18, "ageverify": 1, "requiresalerestrict": 1, "tobacco": 1, "priceoptions" : {"enableexcisemarkprice": 1}}
;Для любых маркированных товаров
marked = {"tmctype": 7}


Соответствие кодов групп ТН ВЭД типам штрих-кодов для реализации маркированных товаров настраивается в секции [upload.converter.smag-ukm-xml.tmcTypeMapper]. Для корректного соответствия необходимо загружать файл-справочник с ТН ВЭД кодами. 

Panel
titleПример соответствия кодов групп ТН ВЭД типам штрих-кодов

В секции [upload.converter.smag-ukm-xml.tmcTypeMapper] настроено соответствие:

Code Block
[upload.converter.smag-ukm-xml.tmcTypeMapper]
; <соответствие кодов групп ТН ВЭД типам ШК для реализации маркированного товара>
; <код типа ШК - артикс> = <коды групп ТН ВЭД от ukm через запятую>
1 = 0404

Из справочника товара получено значение поля TNVDcode:

Panel

<item>
    <article>004525</article>
    <name>СИДР 1 ШТ</name>
    <measure>шт</measure>
    <measprec>1</measprec>
    <groupId>4</groupId>
    <egaisType>1</egaisType>
    <TNVDcode>15</TNVDcode>
    <barcode>
      <id>4606419017460</id>
      <quantity>1</quantity>
    </barcode>
    <SubExcise>0</SubExcise>
  </item>
</updateItems>

По значению поля TNVDcode получено значение поля id в справочнике ТН ВЭД. По значению поля <id>15</id> определяется значение кода группы найденного товара:

Panel

<group>
    <id>15</id>
    <code>0404</code>
    <name>Сидры и прочие напитки сброженные</name>
 </group>

Осуществляется поиск типа товара по значению поля <code>0404</code>, заданного в секции [upload.converter.smag-ukm-xml.tmcTypeMapper]. При загрузке штрих-кодов товара в БД Dictionaries в таблицу Barcodes в поле tmctype будет загружено значение 1.

Загрузка справочников с альтернативными ценами

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

Если настройка loadMRC ("Загружать альтернативные цены") включена (поведение по умолчанию), то в качестве итоговой цены используется максимальное значение из списка МРЦ (поле MRCValue). 

Panel
titleПример 1. Использование максимального значения из списка МРЦ для формирования итоговой цены

<item article="3154">

   <price>

     <value>253</value>

     <minprice>135</minprice>

     <is_promo_price>0</is_promo_price>

     <MRC>

       <MRCValue>253</MRCValue>

       <MRCValue>243</MRCValue>

     </MRC>

   </price>

 </item>

Если настройка выключена, то в качестве итоговой цены:

  • для переоценок используется значение поля minprice,
  • для дополнительных цен используется максимальное значение среди полей minprice и value.
Panel
titleПример 2. Использование минимальной цены для формирования итоговой цены

<item article="3154">

   <price>

     <value>253</value>

     <minprice>135</minprice>

     <is_promo_price>0</is_promo_price>

     <MRC>

       <MRCValue>253</MRCValue>

       <MRCValue>243</MRCValue>

     </MRC>

   </price>

 </item>