| Panel | |
|---|---|
|
Все настройки обмена задаются в конфигурационном файле /linuxcash/cash/exchangesystems/exchangers/config/cash/exchnagers.ini.
Загрузка справочников
Smag-ukm4
Для загрузки справочников в формате smag-ukm4 необходимо:
- указать название конвертера в секции
[UPLOAD]:converter= smag-ukm4, - сконфигурировать секцию загрузки
[upload.converter.smag-ukm4].
Наименование | Тип данных | Возможные значения | Описание | Примечания |
|---|---|---|---|---|
| flags | строковый | Список файлов-флагов, разделенный запятыми | В параметре указывается наименование файла-флага и полный путь до него. Наличие файла-флага в исходной директории указывает на то, что справочники полностью сформированы и могут быть загружены. Если файл-флаг отсутствует, то загрузка справочников не выполняется. Флаг Флаг | |
| data | строковый | Список файлов-справочников, разделенный запятыми | В параметре указывается наименование файлов-справочников и полный путь до них | |
| errorDest | строковый | Файл записи ошибок конвертирования | В параметре указывается полный путь до файла, в который записывается текст последней ошибки конвертирования. Если директория файла или сам файл не создан, то запись ошибки не производится. Файл удаляется при следующем запуске конвертирования | |
| charset | строковый |
| Кодовая страница данных | По умолчанию 866 |
| discount | строковый |
| Режим дисконтной системы | По умолчанию modern |
| defaultRoleCode | числовой | Код роли пользователя по умолчанию | По умолчанию 3 | |
| additionallyRoleCode | числовой | Код дополнительной роли пользователя | По умолчанию 2 | |
relationRolesBy | строковый |
| Связывать роль администратора с пользователем по его имени или коду | |
| substringInAdminName | строковый | Подстрока, которую необходимо искать в имени пользователя, чтобы он стал администратором | По умолчанию Администратор | |
| usersWithAdditionallyRole | числовой | Список кодов пользователей, имеющих дополнительные роли | По умолчанию ' ' |
| Code Block | ||||
|---|---|---|---|---|
| ||||
[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 | ||
|---|---|---|
| ||
[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 | строковый | Список файлов-флагов, разделенный запятыми | В параметре указывается наименование файла-флага и полный путь до него. Наличие файла-флага в исходной директории указывает на то, что справочники полностью сформированы и могут быть загружены. Если файл-флаг отсутствует, то загрузка справочников не выполняется. Флаг Флаг | |
| data | строковый | Список файлов-справочников, разделенный запятыми | В параметре указывается наименование файлов-справочников и полный путь до них | |
| errorDest | строковый | Файл записи ошибок конвертирования | В параметре указывается полный путь до файла, в который записывается текст последней ошибки конвертирования. Если директория файла или сам файл не создан, то запись ошибки не производится. Файл удаляется при следующем запуске конвертирования | |
| charset | строковый |
| Кодовая страница данных | По умолчанию 866 |
| format | строковый |
| Формат данных | Формат dat подразумевает обмен данными через текстовые файлы csv (данные, разделенные запятыми).Формат dbf – обмен данными через dbf файлы |
| defaultRoleCode | числовой | Код роли пользователя по умолчанию | ||
| additionallyRoleCode | числовой | Код дополнительной роли пользователя | ||
relationRolesBy | строковый |
| Связывать роль администратора с пользователем по его имени или коду | |
| substringInAdminName | строковый | Подстрока, которую необходимо искать в имени пользователя, чтобы он стал администратором | По умолчанию Администратор | |
| usersWithAdditionallyRole | числовой | Список кодов пользователей, имеющих дополнительные роли | ||
| setMinPriceIfDiscountRestrictMissing | логический |
| Устанавливать минимальную цену при отсутствии ограничения по скидке | По умолчанию true |
| Code Block | ||||
|---|---|---|---|---|
| ||||
[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 связка товара с каталогом по коду группы задается в секции |
При загрузке справочников товаров группе товаров с указанным кодом назначаются атрибуты каталога с указанным кодом. Если в связке указать несуществующий каталог, то в БД программы запись tmccatalog не будет добавлена.
| Code Block | ||
|---|---|---|
| ||
[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.egaisTypeMappertmcRestrictionsMapper].
Наименование | Тип данных | Возможные значения | Описание | Примечания | ||
|---|---|---|---|---|---|---|
| flags | строковый | Список файлов-флагов, разделенный запятыми | В параметре указывается наименование файла-флага и полный путь до него. Наличие файла-флага в исходной директории указывает на то, что справочники полностью сформированы и выгружены. Если файл-флаг отсутствует, то загрузка справочников не выполняется. По умолчанию | |||
| data | строковый | Список файлов-справочников, разделенный запятыми | В параметре указывается наименование файлов-справочников и полный путь до них.
По умолчанию | |||
| errorDest | строковый | Файл в который будет записываться текст последней ошибки конвертирования | В параметре указывается полный путь до файла, в который записывается текст последней ошибки конвертирования. Если директория файла или сам файл не создан, то запись ошибки не производится. Файл удаляется при следующем запуске конвертирования. По умолчанию |
| Code Block |
|---|
|
|
По умолчанию false
| Code Block | |||||
|---|---|---|---|---|---|
| |||||
[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] ; <соответствиеСоотнесение кодов единицы измерения>единиц измерения Artix и наименований единиц измерения SuperMag UKM ; <код единицы измерения - артикс>Artix> = <код единицы измерения - SuperMag ukm>UKM> 1 = шт 2 = кг [upload.converter.smag-ukm-xml.egaisTypeMapperquantityOptionsMapper] ; <соответствиеСоотнесение кодовнаименований группединиц ТНизмерения ВЭДи типамопций ШК для реализации маркированного товара>количества товара ; <код типа ШК - артикс> = <коды групп ТН ВЭД от ukm через запятую> ; маппинг работает для товаров с egaisType 1 ; если код ТН ВЭД, указанный у товара, не найден в маппинге, товар будет прогружен с tmcType = 7 ;2 = 100,200,1020 ;3 = 900,1020,7890кг = 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. В параметре указывается полный путь до файла. Файл с ошибкой конвертирования удаляется при следующем запуске процедуры. Если параметр не определен или директория для размещения файла отсутствует, то файл с ошибками не создается.
Возможность загрузки справочников с маркированными товарами определяется параметром 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 |
|---|
Значение поля |
| title | Пример загрузки справочника с маркированным товаром с egaistype=3 |
|---|
| title | Пример №1 (mapTnvdCodeToTmcType = true) |
|---|
Заданы настройки:
Параметр mapTnvdCodeToTmcType в секции [upload.converter.smag-ukm-xml] включен в положение true:
| Code Block | ||
|---|---|---|
| ||
; Маппинг маркированных товаров по кодам ТН ВЭД
mapTnvdCodeToTmcType = true |
Маппинг в секции [upload.converter.smag-ukm-xml.egaisTypeMapper] настроен следующим образом:
| Code Block | ||
|---|---|---|
| ||
[upload.converter.smag-ukm-xml.egaisTypeMapper]
3 = 900,2402 |
Загрузка справочника с товаром с egaistype=3 осуществляется следующим образом:
Если у товара в справочнике значение поля egaisType>1 (в данном случае <egaisType>3</egaisType>), то будет получено значение поля TNVDcode (в данном случае <TNVDcode>1</TNVDcode>).
| Code Block | ||||
|---|---|---|---|---|
| ||||
<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 | ||||
|---|---|---|---|---|
| ||||
<group>
<id>1</id>
<code>2402</code>
<name>Сигары, сигары с обрезанными концами, сигариллы и сигареты из табака или его заменителей</name>
</group> |
<code>2402</code> будет осуществлен поиск типа товара, заданного в маппинге в секции [upload.converter.smag-ukm-xml.egaisTypeMapper] (значения должны совпасть). В данном случае значения совпали, значение типа товара будет загружено в БД
Dictionaries в таблицу Barcodes в поле tmctype при загрузке штрих-кодов данного товара (в данном случае tmctype=3, что означает табачную продукцию).