И снова маркировка Атол

Здравствуйте, товарищи!
Вынужден кричать HELP!
Клиенты, как сговорились, под Новый Год решили переходить на обязательную маркировку. Раньше у них не было времени!
Есть ли у кого-нибудь рабочий код регистрации товара с кодом маркировки?
Установил драйвер 10.8.0.0.
Перепробовал много вариантов, но всё упирается в ОФД. Звоню им. Говорят что, то не приходит к ним тэг 1162 совсем. То приходит без типа номенклатуры.
Самый мой старый вариант, который почему-то работает с лекарствами в аптеке (уже года 2):
[code]cFullCode = ALLT(cFullCode)
*-* убираем первые 2 байта - они не нужны
cFullCode = SUBSTR(cFullCode, 3)
*-* gtin всегда 14
cGtin = LEFT(cFullCode, 14)
cFullCode = SUBSTR(cFullCode, 15)
*-* следующие 2 байта "21" тоже не нужны
cFullCode = SUBSTR(cFullCode, 3)
DO CASE
CASE nTypeNom = LIBFPTR_NT_FURS
cSerial = LEFT(cFullCode,20)
CASE nTypeNom = LIBFPTR_NT_MEDICINES
cSerial = LEFT(cFullCode,13)
CASE nTypeNom = LIBFPTR_NT_TOBACCO
cSerial = LEFT(cFullCode,7)
CASE nTypeNom = LIBFPTR_NT_SHOES
cSerial = LEFT(cFullCode,13)
CASE nTypeNom = LIBFPTR_NT_CLOTHES
*!* INLIST(ipcnakl_fiskal.Tob_Type, '6201', '6202', '6106', '4203', '6302') && одежда
*-* 6201 - пальто, куртки, ветровки и т.д. для мальчиков
*-* 6202 - пальто, куртки, ветровки и т.д. для девочек
*-* 6106 - блузки, блузоны и всё однокоренное
*-* 4203 10 000 - одежда из натуральной кожи
*-* 6302 - послельное, столовое, кухонное бельё
cSerial = LEFT(cFullCode,21)
ENDCASE
FP.setParam(LIBFPTR_PARAM_NOMENCLATURE_TYPE, nTypeNom)
FP.setParam(LIBFPTR_PARAM_GTIN, cGtin)
FP.setParam(LIBFPTR_PARAM_SERIAL_NUMBER, cSerial)
FP.utilFormNomenclature()
cTag1162 = FP.getParamString(LIBFPTR_PARAM_TAG_VALUE)
...
FP.setParam(1212,1) && признак предмета расчета (товар)
FP.setParam(1214,4) && признак способа расчета (полный расчет)
FP.setParam(1162, cTag1162)
FP.registration()[/code]
Причем, работает это на старой прошивке атола.
С одеждой работать не хочет. На прошивке платформы 2.5
Второй вариант (платформа 2.5):
[code]cFullCode = ALLT(cFullCode)
cHexCode = STRCONV(cFullCode, 15)
cResult = ''
DO WHILE LEN(cHexCode) > 0
cResult = cResult + LEFT(cHexCode, 2) + ' '
cHexCode = SUBSTR(cHexCode, 3)
ENDDO
cHexCode = ALLT(cResult)
*!* #DEFINE LIBFPTR_PARAM_MARKING_CODE_TYPE = 65826
FP.setParam(65826, LIBFPTR_MCT_OTHER)
FP.setParamStrHex(LIBFPTR_PARAM_MARKING_CODE, cHexCode)
FP.parseMarkingCode()
cTag1162 = FP.getParamByteArray(1162)[/code]
В ОФД приходит тэг1162 без типа номенклатуры!
ПОМОЖИТЕ, КТО ЧЕМ МОЖЕТЕ!

0

Автор публикации

Пользователи не найдены
Оставить комментарий
Авторизация
*
*
Генерация пароля