Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Panel

Table of Contents

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

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

УКМ

Smag-

4

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 / Супермаг (КС)".

УКМ

Smag-

2

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 / Супермаг (КС)".

Smag-ukm-xml

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

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

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

  • соответствия кодов единицы измерения [upload.converter.smag-ukm-xml.measureMapper],
  • соответствие кодов групп ТН ВЭД типам ШК для реализации маркированного товара [upload.converter.smag-ukm-xml.egaisTypeMapper].

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

Тип данных

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

Описание

Примечания

flagsстроковый

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

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

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

dataстроковый

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

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

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

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

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

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

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

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

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

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


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 = кг

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

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

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

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

Возможность загрузки справочников с маркированными товарами определяется параметром mapTnvdCodeToTmcType в секции [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 должно быть уникальным среди всех товаров и штрих-кодов в справочнике.


Panel
titleПример загрузки справочника с маркированным товаром с egaistype=3


Panel
titleПример №1 (mapTnvdCodeToTmcType = true)

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

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

Code Block
languagetext
; Маппинг маркированных товаров по кодам ТН ВЭД
mapTnvdCodeToTmcType = true

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

Code Block
languagetext
[upload.converter.smag-ukm-xml.egaisTypeMapper]
3 = 900,2402

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

  1. Если у товара в справочнике значение поля 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>


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

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


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