Все настройки обмена задаются в конфигурационном файле /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числовой
Список кодов пользователей, имеющих дополнительные ролиПо умолчанию ' '
Пример настройки
[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 не будет добавлена.

Пример настройки
[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
Пример настройки
[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.

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

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

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

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

Пример настройки
[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].

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

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

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

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

Тип данных

Описание

Примечания

flagsстроковый

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

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

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

dataстроковый

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

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

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

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

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

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

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

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

По умолчанию /tmp/picklist/

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

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

Пример настройки
[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  

; Директория с изображениями товаров, входящих в состав пиклиста
;picklistPicturesPath = /tmp/picklist/

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

[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.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}
;MARKED_GOODS = {"tmctype": 7}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[upload.converter.smag-ukm-xml.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}
;Для любых маркированных товаров
marked = {"tmctype": 7}
  • No labels