:: Visual Foxpro, Foxpro for DOS
Атол переход на ФФД 1.2
Victoriacom

Сообщений: 126
Дата регистрации: 08.12.2010
Здравствуйте!
Ниже приведенный код работал на Атоле с ФФД 1.05. После перехода на ФФД 1.2 начались проблемы. После команды "FP.registration()" генерируется ошибка 148 - ошибка программирования тэга 1162.
Долго ищу, где могла собака порыться. Но мои попытки зависят от клиента (работаю по удаленке). При экспериментировании надёргал кода из разных примеров, поэтому, видимо, уже окончательно всё испортил.
Помогите кто чем может. Не замыленным глазом.
Вот примеры маркировочных кодов:
0102900233701881215AnFjjqAY7v&Y9100C092S4s0ZKJHSqClUDgoSCElVtgx5wSHQdHMtivpQ+a0mgfSIl6UoXfJfycUfJF7CdQLEl2HBrhWd10QG+6BtgUKWA==
010469025765877021CZpemHOoc-urn91009892MhSso4FDgvc2SbgtoMc7ae9W3RIYomXT4uvlPkesWIAEsO3vlvp5SchPOM6xVylsT0OwA4FA2fC9ZxyJteOcmw==
010469025765335521WGiq%JEEq/%lj91806392PiO2PAfxPqHxcsY8cr0d3PmjHzINSUjXuqLyWgWYBW1/kSHgE40ogx1U5kKrT9v7RzKKk5DucaRMtO+0x8pYpA==
0102900234943822215PH9dhiVK>xTy9100C092xntB1c3RE+NjK9GQqVc53TBgwH8Cn8BBLZP+lHhZRbntPpvJJGBXDx7X7e3oRMIEn2lt/iOJqvXmOkbv7hw3ww==
0102900234945208215MPMDPlG4N*lN9180BF92kzQYVTj32SqtHFvL7Leb+41ob5r4OhF01lUBaLLGcbzwqCZDeQX1U1PMLcxmCjP6QwdAYzSpMa8YyratbkhaoQ==
010469025751616221:r-PRfFknAiJH91806992EgApanALlxBsp3fUy8YDYQmpQPBwRr5aoaliAhPR/YTCtPmSrDzS0m0hi8VtewcRMUxSQoe0HJk7+cyb0q1xog==
010469050105802821ct7O(hS)GZNEh918039924iZZDePBsc8WwgAZHWPnUvkymLct9mqnqcR+SEpNRCm0xHLG6nOkLs0d5+kQnDtJ1eD+toUd2HoyGd8YxZpZOQ==
0102900233687956215/BX/CXiGQapd9180BF92494djFd/2c93h3tbQTmMWP/ynV7NdFEdVPm1MGO/HJYX1yqqFia+JNpxz0RnBZSV5CJQ1xiJJudJGcn6+YXVxw==


SCAN
cTag1162 = ''
nRegSection = 1
IF TYPE('ipcnakl_fiskal.tob_ktn') == 'C' AND NOT EMPTY(ipcnakl_fiskal.tob_ktn)
FP.clearMarkingCodeValidationResult()
cFullKod = ALLT(ipcnakl_fiskal.tob_ktn)
nStatus = LIBFPTR_MES_PIECE_SOLD
*!* Запускаем проверку КМ
FP.setParam(LIBFPTR_PARAM_MARKING_CODE_TYPE, LIBFPTR_MCT12_AUTO)
FP.setParam(LIBFPTR_PARAM_MARKING_CODE, cFullKod)
FP.setParam(LIBFPTR_PARAM_MARKING_CODE_STATUS, nStatus)
FP.setParam(LIBFPTR_PARAM_QUANTITY, 1.000) && количество всегда 1
FP.setParam(LIBFPTR_PARAM_MEASUREMENT_UNIT, LIBFPTR_IU_PIECE)
FP.setParam(LIBFPTR_PARAM_MARKING_PROCESSING_MODE, 0)
FP.beginMarkingCodeValidation()
_date_start_check=DATETIME()
_max_time_to_check = 25
*!* Дожидаемся окончания проверки и запоминаем результат
DO WHILE .T.
FP.getMarkingCodeValidationStatus()
INKEY(0.1, 'H')
IF (FP.getParamBool(LIBFPTR_PARAM_MARKING_CODE_VALIDATION_READY))
EXIT
ENDIF
IF DATETIME()-_date_start_check>_max_time_to_check && Если проверка дольше 5 сек, надо что-то делать
EXIT
ENDIF
ENDDO
IF DATETIME()-_date_start_check>_max_time_to_check
nValidationResult = 0
nValidationError = 404
cValidationErrorDescr = 'Превышено время на проверку марки, статус марки неизвестен'
ELSE
nValidationResult = FP.getParamInt(LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_RESULT)
nValidationError = FP.getParamInt(LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_ERROR)
cValidationErrorDescr = FP.getParamString(LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_ERROR_DESCRIPTION)
ENDIF
*!* Подтверждаем реализацию товара с указанным КМ
FP.AcceptMarkingCode()
FP.setParam(LIBFPTR_PARAM_MARKING_CODE_TYPE, LIBFPTR_MCT_OTHER)
FP.setParam(LIBFPTR_PARAM_MARKING_CODE, cFullKod)
FP.parseMarkingCode()
oTag1162 = FP.getParamByteArray(1162)
cTag1162 = TRANSFORM(oTag1162)
nRegSection = 2
ENDIF
cName = ALLTRIM(STR(ipcnakl_fiskal.aptik)) + '.' + ALLTRIM(ipcnakl_fiskal.tobap)
IF LEN(cName)>THIS.LineWidth
cName=SUBSTR(cName,1,THIS.LineWidth)
ENDIF
*теперь обязательно передавать единицу измерения
FP.setParam(LIBFPTR_PARAM_MEASUREMENT_UNIT, LIBFPTR_IU_PIECE) &&Единица измерения...
FP.setParam(LIBFPTR_PARAM_COMMODITY_NAME, cName)
FP.setParam(LIBFPTR_PARAM_PRICE, ipcnakl_fiskal.ceha)
FP.setParam(LIBFPTR_PARAM_QUANTITY, ipcnakl_fiskal.kol)
IF INT(ipcnakl_fiskal.kol) <> ipcnakl_fiskal.kol
*-* Это весовой товар
FP.setParam(LIBFPTR_PARAM_COMMODITY_PIECE, 0)
ELSE
FP.setParam(LIBFPTR_PARAM_COMMODITY_PIECE, 1)
ENDIF
nStavka = NDS && это глобальная переменная, созданная в Kacca.prg
DO CASE
CASE nStavka = 0
IF NDS = 0
FP.setParam(LIBFPTR_PARAM_TAX_TYPE, LIBFPTR_TAX_NO)
ELSE
FP.setParam(LIBFPTR_PARAM_TAX_TYPE, LIBFPTR_TAX_VAT0)
ENDIF
CASE INLIST(nStavka, 18, 20) && 18%, 20%
IF nStavka = 18
FP.setParam(LIBFPTR_PARAM_TAX_TYPE, LIBFPTR_TAX_VAT18)
ELSE
FP.setParam(LIBFPTR_PARAM_TAX_TYPE, LIBFPTR_TAX_VAT20)
ENDIF
CASE nStavka = 10 && 10%
FP.setParam(LIBFPTR_PARAM_TAX_TYPE, LIBFPTR_TAX_VAT10)
ENDCASE
IF NOT EMPTY(cTag1162)
FP.setParam(1162, oTag1162)
ENDIF
FP.setParam(1212,1) && признак предмета расчета (товар)
FP.setParam(1214,4) && признак способа расчета (полный расчет)
FP.setParam(LIBFPTR_PARAM_DEPARTMENT, nRegSection)
FP.setParam(LIBFPTR_PARAM_PRODUCT_CODE, "61940017") && EAN-8
FP.setParam(LIBFPTR_PARAM_PRODUCT_CODE, "6199000000012") && EAN-13
FP.setParam(LIBFPTR_PARAM_PRODUCT_CODE, "14841234567890") && ITF-14
FP.registration()


------------------
Алло, это прачечная? Да, это прачечная. Здравствуйте.




Исправлено 1 раз(а). Последнее : Victoriacom, 22.04.24 13:14
Ratings: 0 negative/1 positive
Re: Атол переход на ФФД 1.2
Равиль

Сообщений: 6630
Откуда: Уфа
Дата регистрации: 01.08.2003
Могу пока только ссылкой помочь - возможно видели ))

Вроде дельно написано :

infostart.ru


------------------
Тяжело согнать курсором муху с монитора ...
Ratings: 0 negative/1 positive
Re: Атол переход на ФФД 1.2
Равиль

Сообщений: 6630
Откуда: Уфа
Дата регистрации: 01.08.2003
Мне к сожалению тестировать не на чем, поэтому попробуйте :

1) уйти от тега 1162 - как пишут, что это не работает - хотя я бы сохранил оба варианта

2) обработать код маркировки - добавить разделители chr(29), т.к. сканер может и не прочитать их :

m.cFullKod = Strtran(m.cFullKod, Chr(29), [])
m.cFullKod = Left(m.cFullKod, 31) + Chr(29) + Substr(m.cFullKod, 32, 6) + Chr(29) + Substr(m.cFullKod, 38)

3) при проверке указываете тип LIBFPTR_MCT12_AUTO, а при регистрации LIBFPTR_MCT_OTHER - хотя не думаю что это критично


------------------
Тяжело согнать курсором муху с монитора ...
Ratings: 0 negative/1 positive
Re: Атол переход на ФФД 1.2
Victoriacom

Сообщений: 126
Дата регистрации: 08.12.2010
Спасибо, Равиль за советы.
Попробовал всё, как Вы сказали: переделал код согласно infostart.ru. Перечитал кучу советов из инета, перепробовал кучу вариантов. Результат - ноль.
Теперь мой код выглядит так:
FP.clearMarkingCodeValidationResult()
SCAN
cFullKod = ''
IF TYPE('ipcnakl_fiskal.tob_ktn') == 'C' AND NOT EMPTY(ipcnakl_fiskal.tob_ktn)
cFullKod = ALLT(ipcnakl_fiskal.tob_ktn)
cFullKod = STRTRAN(cFullKod, CHR(29), '')
cFullKod = LEFT(cFullKod, 31) + CHR(29) + SUBSTR(cFullKod, 32, 6) + CHR(29) + SUBSTR(cFullKod, 38)
nStatus = LIBFPTR_MES_PIECE_SOLD
*!* Запускаем проверку КМ
FP.setParam(LIBFPTR_PARAM_MARKING_CODE_TYPE, LIBFPTR_MCT12_AUTO)
FP.setParam(LIBFPTR_PARAM_MARKING_CODE, cFullKod)
FP.setParam(LIBFPTR_PARAM_MARKING_CODE_STATUS, nStatus)
FP.setParam(LIBFPTR_PARAM_QUANTITY, 1.000) && количество всегда 1
FP.setParam(LIBFPTR_PARAM_MEASUREMENT_UNIT, LIBFPTR_IU_PIECE)
FP.setParam(LIBFPTR_PARAM_MARKING_PROCESSING_MODE, 0)
FP.beginMarkingCodeValidation()
_date_start_check = DATETIME()
_max_time_to_check = 25
*!* Дожидаемся окончания проверки и запоминаем результат
*Проверка КМ не проходит:
DO WHILE .T.
FP.getMarkingCodeValidationStatus()
INKEY(0.1, 'H')
IF FP.getParamBool(LIBFPTR_PARAM_MARKING_CODE_VALIDATION_READY) && = .T.
EXIT
ENDIF
IF DATETIME()-_date_start_check>_max_time_to_check
EXIT
ENDIF
ENDDO
IF DATETIME()-_date_start_check>_max_time_to_check
nValidationResult = 0
nValidationError = 404
cValidationErrorDescr = 'Превышено время на проверку марки, статус марки неизвестен'
ELSE
nValidationResult = FP.getParamInt(LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_RESULT)
nValidationError = FP.getParamInt(LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_ERROR)
cValidationErrorDescr = FP.getParamString(LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_ERROR_DESCRIPTION)
ENDIF
*!* Подтверждаем реализацию товара с указанным КМ
FP.AcceptMarkingCode()
ENDIF
cName = ALLTRIM(STR(ipcnakl_fiskal.aptik)) + '.' + ALLTRIM(ipcnakl_fiskal.tobap)
IF LEN(cName)>THIS.LineWidth
cName=SUBSTR(cName,1,THIS.LineWidth)
ENDIF
FP.setParam(LIBFPTR_PARAM_COMMODITY_NAME, cName)
FP.setParam(LIBFPTR_PARAM_PRICE, ipcnakl_fiskal.ceha)
FP.setParam(LIBFPTR_PARAM_QUANTITY, ipcnakl_fiskal.kol)
IF INT(ipcnakl_fiskal.kol) <> ipcnakl_fiskal.kol
FP.setParam(LIBFPTR_PARAM_MEASUREMENT_UNIT, LIBFPTR_IU_CENTIMETER) &&Единица, мать её, измерения...
ELSE
FP.setParam(LIBFPTR_PARAM_MEASUREMENT_UNIT, LIBFPTR_IU_PIECE) &&Единица, мать её, измерения...
ENDIF
FP.setParam(1212,33) && признак предмета расчета (товар)
FP.setParam(1214,4) && признак способа расчета (полный расчет)
* FP.setParam(LIBFPTR_PARAM_DEPARTMENT, nRegSection)
IF NOT EMPTY(cFullKod)
FP.setParam(LIBFPTR_PARAM_MARKING_CODE_TYPE, LIBFPTR_MCT_OTHER)
FP.setParam(LIBFPTR_PARAM_MARKING_CODE, cFullKod)
nStatus = LIBFPTR_MES_PIECE_SOLD
FP.setParam(LIBFPTR_PARAM_MARKING_CODE_STATUS, nStatus)
FP.setParam(LIBFPTR_PARAM_MARKING_PROCESSING_MODE, 0)
ENDIF
FP.registration()
ENDSCAN
Не проходит проверка КМ. В результате выполнения FP.registration() выдается ошибка: некорректный код маркировки.

Когда в тесте драйвера пытаюсь проверить КМ в разделе "Маркировка", пишет "км данного типа не подлежит проверке в фн проверка статуса оисм не выполнена".

Мозги потихоньку начинают плавиться.

Спец на стороне клиента говорит, что проверял коды с помощью 1С. У него всё получилось.

Может есть какие-то спец настройки для ККТ Атол 25Ф?


------------------
Алло, это прачечная? Да, это прачечная. Здравствуйте.




Исправлено 3 раз(а). Последнее : Victoriacom, 13.05.24 16:44
Ratings: 0 negative/0 positive
Re: Атол переход на ФФД 1.2
Евгений Банщиков
Автор

Сообщений: 234
Откуда: Kurgan
Дата регистрации: 09.04.2004
Victoriacom
Не проходит проверка КМ. В результате выполнения FP.registration() выдается ошибка: некорректный код маркировки.
Когда в тесте драйвера пытаюсь проверить КМ в разделе "Маркировка", пишет "км данного типа не подлежит проверке в фн проверка статуса оисм не выполнена".

Мозги потихоньку начинают плавиться.

попробуйте заменить LIBFPTR_MCT_OTHER на LIBFPTR_MCT12_AUTO в блоке регистрациии марки товара. Это первое , что бросается в глаза.
Ratings: 0 negative/0 positive
Re: Атол переход на ФФД 1.2
Victoriacom

Сообщений: 126
Дата регистрации: 08.12.2010
Евгений Банщиков

попробуйте заменить LIBFPTR_MCT_OTHER на LIBFPTR_MCT12_AUTO в блоке регистрациии марки товара. Это первое , что бросается в глаза.

До этого места не доходит. Программа срубается во время проверки КМ.


------------------
Алло, это прачечная? Да, это прачечная. Здравствуйте.




Исправлено 1 раз(а). Последнее : Victoriacom, 16.05.24 16:19
Ratings: 0 negative/0 positive
Re: Атол переход на ФФД 1.2
Евгений Банщиков
Автор

Сообщений: 234
Откуда: Kurgan
Дата регистрации: 09.04.2004
Victoriacom
Евгений Банщиков

попробуйте заменить LIBFPTR_MCT_OTHER на LIBFPTR_MCT12_AUTO в блоке регистрациии марки товара. Это первое , что бросается в глаза.

До этого места не доходит. Программа срубается во время проверки КМ.
Все команды у вас вроде прописаны правильно. Возможно проблемы с самой маркой.
Дайте конкретный текст кода марки , который идет в cFullKod , попробую его прогнать у себя
Ratings: 0 negative/0 positive
Re: Атол переход на ФФД 1.2
Victoriacom

Сообщений: 126
Дата регистрации: 08.12.2010
Вот конкретный КМ:
0102900233701881215AnFjjqAY7v&Y9100C092S4s0ZKJHSqClUDgoSCElVtgx5wSHQdHMtivpQ+a0mgfSIl6UoXfJfycUfJF7CdQLEl2HBrhWd10QG+6BtgUKWA==
Должен отметить, что в тесте драйвера долгое время не работала проверка КМ. В кнопке "Маркировка" вводил этот код и нажимал "Начать проверку". Она не работала, пока я вручную не добавил CHR(29). Сейчас проверка заработала.
Но в разделе "Чек" открываю чек, добавляю КМ (и с CHR(29), и без него), делаю регистрацию и получаю: "некорректный код маркировки".


------------------
Алло, это прачечная? Да, это прачечная. Здравствуйте.
Ratings: 0 negative/0 positive
Re: Атол переход на ФФД 1.2
Евгений Банщиков
Автор

Сообщений: 234
Откуда: Kurgan
Дата регистрации: 09.04.2004
Victoriacom
Вот конкретный КМ:
0102900233701881215AnFjjqAY7v&Y9100C092S4s0ZKJHSqClUDgoSCElVtgx5wSHQdHMtivpQ+a0mgfSIl6UoXfJfycUfJF7CdQLEl2HBrhWd10QG+6BtgUKWA==
Должен отметить, что в тесте драйвера долгое время не работала проверка КМ. В кнопке "Маркировка" вводил этот код и нажимал "Начать проверку". Она не работала, пока я вручную не добавил CHR(29). Сейчас проверка заработала.
Но в разделе "Чек" открываю чек, добавляю КМ (и с CHR(29), и без него), делаю регистрацию и получаю: "некорректный код маркировки".

У меня проверка отработала штатно со статусом M- (код возврата 5)
Евгений Банщиков
Не проходит проверка КМ. В результате выполнения FP.registration() выдается ошибка: некорректный код маркировки.
Так все же не понятно - ошибка возникает после FP.registration() или после FP.beginMarkingCodeValidation() ?

можно попробовать убрать из кода проверки
FP.setParam(LIBFPTR_PARAM_QUANTITY, 1.000) && количество всегда 1
FP.setParam(LIBFPTR_PARAM_MEASUREMENT_UNIT, LIBFPTR_IU_PIECE)
Для количества 1 штучного товара они не нужны , а в некоторых прошивках могут вызывать проблемы
ну и все же заменить LIBFPTR_MCT_OTHER на LIBFPTR_MCT12_AUTO
Ratings: 0 negative/0 positive
Re: Атол переход на ФФД 1.2
Victoriacom

Сообщений: 126
Дата регистрации: 08.12.2010
Евгений Банщиков

У меня проверка отработала штатно со статусом M- (код возврата 5)
Евгений Банщиков
Не проходит проверка КМ. В результате выполнения FP.registration() выдается ошибка: некорректный код маркировки.
Так все же не понятно - ошибка возникает после FP.registration() или после FP.beginMarkingCodeValidation() ?

можно попробовать убрать из кода проверки
FP.setParam(LIBFPTR_PARAM_QUANTITY, 1.000) && количество всегда 1
FP.setParam(LIBFPTR_PARAM_MEASUREMENT_UNIT, LIBFPTR_IU_PIECE)
Для количества 1 штучного товара они не нужны , а в некоторых прошивках могут вызывать проблемы
ну и все же заменить LIBFPTR_MCT_OTHER на LIBFPTR_MCT12_AUTO

Ошибка возникает после FP.registration()
Проверка должна отработать со статусом М+, статус товара - 15.


------------------
Алло, это прачечная? Да, это прачечная. Здравствуйте.
Ratings: 0 negative/0 positive
Re: Атол переход на ФФД 1.2
Victoriacom

Сообщений: 126
Дата регистрации: 08.12.2010
Подставил проверку на ошибку сразу после FP.getMarkingCodeValidationStatus(), ивот что обнаружил: "Данный КМ отсутствует в таблице".
Как с этим бороться?


------------------
Алло, это прачечная? Да, это прачечная. Здравствуйте.




Исправлено 2 раз(а). Последнее : Victoriacom, 17.05.24 15:55
Ratings: 0 negative/0 positive
Re: Атол переход на ФФД 1.2
Евгений Банщиков
Автор

Сообщений: 234
Откуда: Kurgan
Дата регистрации: 09.04.2004
Victoriacom
Подставил проверку на ошибку сразу после FP.getMarkingCodeValidationStatus(), ивот что обнаружил: "Данный КМ отсутствует в таблице".
Как с этим бороться?
Это значит , что проверка не запущена. Вероятно FP.beginMarkingCodeValidation() звавершилась ошибкой и смотреть надо там.
Ratings: 0 negative/0 positive
Re: Атол переход на ФФД 1.2
Victoriacom

Сообщений: 126
Дата регистрации: 08.12.2010
Евгений Банщиков
Это значит , что проверка не запущена. Вероятно FP.beginMarkingCodeValidation() звавершилась ошибкой и смотреть надо там.

Разобрался. Всё дело в команде:

FP.setParam(LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_RESULT,.T.)

которую поставил перед началом проверки КМ.


------------------
Алло, это прачечная? Да, это прачечная. Здравствуйте.
Ratings: 0 negative/0 positive
Re: Атол переход на ФФД 1.2
Евгений Банщиков
Автор

Сообщений: 234
Откуда: Kurgan
Дата регистрации: 09.04.2004
Victoriacom
Евгений Банщиков
Это значит , что проверка не запущена. Вероятно FP.beginMarkingCodeValidation() звавершилась ошибкой и смотреть надо там.

Разобрался. Всё дело в команде:

FP.setParam(LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_RESULT,.T.)

которую поставил перед началом проверки КМ.
Еще у атола есть фича , что задание LIBFPTR_PARAM_COMMODITY_NAME очищает некоторые другие ранее заданные параметры. То есть LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_RESULT нужно перезадать после LIBFPTR_PARAM_COMMODITY_NAME , используя его сохраненное значение.
Ну и еще эта атоловская проверка уже не актуальна. По новым методичкам проверку нужно напрямую выполнять на саите честного знака используя его api и Id проверки прописывать в реквизит 1260 чека. Для сигарет и пива обязательно с апреля этого года , для других групп пока как опция.
Ratings: 0 negative/0 positive
Re: Атол переход на ФФД 1.2
Victoriacom

Сообщений: 126
Дата регистрации: 08.12.2010
Евгений Банщиков
Еще у атола есть фича , что задание LIBFPTR_PARAM_COMMODITY_NAME очищает некоторые другие ранее заданные параметры. То есть LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_RESULT нужно перезадать после LIBFPTR_PARAM_COMMODITY_NAME , используя его сохраненное значение.
Ну и еще эта атоловская проверка уже не актуальна. По новым методичкам проверку нужно напрямую выполнять на саите честного знака используя его api и Id проверки прописывать в реквизит 1260 чека. Для сигарет и пива обязательно с апреля этого года , для других групп пока как опция.
Что касается фич, то постоянно на них натыкаюсь.
Пример: клиенту понадобилось, чтобы при проводке товара с КМ, он проходил через секцию 2. А товар без КМ должен идти через секцию 1. Казалось бы ерунда: укажите команду
FP.setParam(LIBFPTR_PARAM_DEPARTMENT, nRegSection)
где nRegSection - номер секции, и всё. Ан нет, в результате потери полдня на эту ерунду, случайно наткнулся в инете на то, что эту команду нужно задавать непосредственно перед
FP.registration()
. Ну кто бы мог подумать! И действительно всё заработало.
И еще, очень важно, что бы был правильно настроен ККМ через тест драйвера. Другому клиенту включил уже казалось бы отлаженную программу, - и нифига не работает. Основные проблемы:
1. Неправильно работает сканер штрихкодов (читает КМ без криптохвоста)
2. В тесте драйвера, в Маркировке, проверка связи с ИСМ выдает ошибку: Ошибка соединения с сервером.
3. В списке лицензий: строка 10 (ФФД 1.2)
введена - нет
активирована - нет.
Спецы из техподдержки даже не обратили внимания на эти "мелочи", и пытались перенаправить бочку на программистов. Типа: с нашей стороны все пули вылетели, а то что они не попали в цель - ваши проблемы.
Пытаюсь заставить их решить эти проблемы.


------------------
Алло, это прачечная? Да, это прачечная. Здравствуйте.
Ratings: 0 negative/0 positive
Re: Атол переход на ФФД 1.2
Равиль

Сообщений: 6630
Откуда: Уфа
Дата регистрации: 01.08.2003
Евгений Банщиков
...
можно попробовать убрать из кода проверки
FP.setParam(LIBFPTR_PARAM_QUANTITY, 1.000) && количество всегда 1
FP.setParam(LIBFPTR_PARAM_MEASUREMENT_UNIT, LIBFPTR_IU_PIECE)
Для количества 1 штучного товара они не нужны , а в некоторых прошивках могут вызывать проблемы
...

Евгений, приветствую !
и подтверждаю - недавно столкнулся с такой прошивкой - и это решение помогло - спасибо !
Вопреки инструкции самого Атола


------------------
Тяжело согнать курсором муху с монитора ...
Ratings: 0 negative/0 positive
Re: Атол переход на ФФД 1.2
Равиль

Сообщений: 6630
Откуда: Уфа
Дата регистрации: 01.08.2003
Еще один момент.

Известно, что смену открывать командой openShift() необязательно,
как пишут в документации Атола - она откроется автоматически при первой фискальной операции.

Но, если первый чек содержит товар с маркировкой, а проверка марки у нас выполняется до пробития чека,
то она завершается с ошибкой :

Код ошибки ККТ - 6136h
Объекту ХХХХХХХХХ присвоен код ошибки 73 [Смена закрыта - операция невозможна]

Пришлось добавить предварительное открытие смены ))


------------------
Тяжело согнать курсором муху с монитора ...




Исправлено 1 раз(а). Последнее : Равиль, 21.09.24 09:00
Ratings: 0 negative/0 positive
Re: Атол переход на ФФД 1.2
Victoriacom

Сообщений: 126
Дата регистрации: 08.12.2010
Кто-нибудь сталкивался новой дурью честного знака "Разрешительный режим"? И что это меняет в кассовом ПО?
Я так понимаю, что нужно делать дополнительный запрос в ЧЗ с использованием его API, чтобы получить информацию о товаре: срок годности и в обороте ли он.


------------------
Алло, это прачечная? Да, это прачечная. Здравствуйте.




Исправлено 1 раз(а). Последнее : Victoriacom, 31.10.24 12:26
Ratings: 0 negative/0 positive
Re: Атол переход на ФФД 1.2
Евгений Банщиков
Автор

Сообщений: 234
Откуда: Kurgan
Дата регистрации: 09.04.2004
Victoriacom
Кто-нибудь сталкивался новой дурью честного знака "Разрешительный режим"? И что это меняет в кассовом ПО?
Я так понимаю, что нужно делать дополнительный запрос в ЧЗ с использованием его API, чтобы получить информацию о товаре: срок годности и в обороте ли он.
Перед добавлением товара в чек выполняем запрос в честных знак. В ответ получаем данные в формате json о марке. Анализируем их , если все ok - добавляем товар в чек ,сохраняем id запроса и передаем его далее в фискальный принтер (через реквизиты 1265, 1264,1263,1262)
Ratings: 0 negative/1 positive
Re: Атол переход на ФФД 1.2
Alsim

Сообщений: 3680
Откуда: Екатеринбург
Дата регистрации: 17.11.2004
Victoriacom
Кто-нибудь сталкивался новой дурью честного знака "Разрешительный режим"?
У меня подобная беда. Торгуем на борту самолёта, понятно офлайн. После возвращения рейса вводим данные о продажах в накладную.
Чек печатается программой "Чекопечать" от ШТРИХМ, для которой из накладной создаётся текстовый файл, которая программа чекопечати и отправляет в ОФД и Честный знак.
С Маркировкой бодался долго, но всё же добил и на чеке [M+] выходит.
И всё было хорошо, но с октября пошли письма от ЧЗ про Разрешительный режим на воду.
Озадачил товарищей, что нам программу Чекопечати ставили, те третью неделю чешутся и молчат.
Токен в ЧЗ получил, а в программе Чекопечати нет такого места, чтобы его вставить как в кассовых аппаратах.
Писали в ЧЗ про то, что у нас торговля Офлайн и нас бы от Разрешительного освободить, те глухо молчат.
Видимо придётся колхозить запросы перед формированием текстового файла и мудрить со вставкой ответа...
С какого места подойти пока не знаю.
***
Маркированный товар отправляю в чек через "одно место":
Сначала операторы "напикивают" товар в базу, а потом при выводе файла для чека прихватывается первая непроданная строка, Qкод вставляется в файл-чек, помечается в таблице временем продажи. То есть на борту самолёта продали одну марку, а в ЧЗ уходит совершенно другая. Умнее не придумал.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 9 lemenev alex; kornienko_ru  (Гостей: 6)

© 2000-2024 Fox Club 
Яндекс.Метрика