Автор Тема: Тэг 1260  (Прочитано 7301 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Keba

  • Новичок
  • Сообщений: 14
  • Откуда: Омск
Тэг 1260
« : 23/10/2024 22:50:32 »
Добрый день! Кто-нибудь сталкивался с такой ошибкой:

[FiscalPrinter] Код ошибки ККТ - 4459h
[FiscalPrinter] < LIBFPTR_PARAM_ERROR_TAG_NUMBER (65617) = 1260
[FiscalPrinter] Объекту 0x00206A78 присвоен код ошибки 26 [Неверный формат команды]

что не так заполняю:

[FiscalPrinter] > 1212 (1212) = 33
[FiscalPrinter] > 1262 (1262) = "030"
[FiscalPrinter] > 1263 (1263) = "21.11.2023"
[FiscalPrinter] > 1264 (1264) = "1944"
[FiscalPrinter] > 1265 (1265) = "UUID=9df29212-4bc5-4457-a90e-f5a3a3aec69d&Time=1729688689530"
[FiscalPrinter] libfptr_util_form_tlv()

касса Атол 77

 

Оффлайн Prz777

  • Резидент
  • Ветеран
  • ****
  • Сообщений: 885
  • Похвалили: 764 раз(а)
Re: Тэг 1260
« Ответ #1 : 24/10/2024 00:07:34 »
Не хватает команды записи в реквизит 1260 полученных значений. В базе знаний https://integration.atol.ru/api/ все есть. Смотри внимательней.
 

Оффлайн Keba

  • Новичок
  • Сообщений: 14
  • Откуда: Омск
Re: Тэг 1260
« Ответ #2 : 24/10/2024 00:21:19 »
команда есть

2024.10.23 19:05:00.134 T:      T:00000868 INFO  [FiscalPrinter] < LIBFPTR_PARAM_TAG_VALUE (65624) = BE 04 01 00 04 BC 04 01 00 21 EE 04 03 00 30 33 30 EF 04 0A 00 32 31 2E 31 31 2E 32 30 32 33 F0 04 04 00 31 39 34 34 F1 04 3C 00 55 55 49 44 3D 39 64 66 32 39 32 31 32 2D 34 62 63 35 2D 34 34 35 37 2D 61 39 30 65 2D 66 35 61 33 61 33 61 65 63 36 39 64 26 54 69 6D 65 3D 31 37 32 39 36 38 38 36 38 39 35 33 30
2024.10.23 19:05:00.134 T:      T:00000868 INFO  [FiscalPrinter] > 1260 (1260) = BE 04 01 00 04 BC 04 01 00 21 EE 04 03 00 30 33 30 EF 04 0A 00 32 31 2E 31 31 2E 32 30 32 33 F0 04 04 00 31 39 34 34 F1 04 3C 00 55 55 49 44 3D 39 64 66 32 39 32 31 32 2D 34 62 63 35 2D 34 34 35 37 2D 61 39 30 65 2D 66 35 61 33 61 33 61 65 63 36 39 64 26 54 69 6D 65 3D 31 37 32 39 36 38 38 36 38 39 35 33 30

без нее никакой ошибки не происходит, ну и чек соответственно уходит без проверки
 

Оффлайн Keba

  • Новичок
  • Сообщений: 14
  • Откуда: Омск
Re: Тэг 1260
« Ответ #3 : 24/10/2024 00:26:35 »
оттуда и брал собственно данные,
тэг 1260 для лексредств мы заполняем уже не первый год и все работает,
а вот для воды пока не получается, не пойму что не так
в исходниках это выглядит у меня так:

   Driver.setParam(1262,'030');
   Driver.setParam(1263,'21.11.2023');
   Driver.setParam(1264,'1944');
   Driver.setParam(1265,'UUID='+ReqId+'&Time='+IntToStr(ReqTimeStamp));
   Driver.utilFormTlv;
   MarkIndInfo:=Driver.getParamByteArray(Driver.LIBFPTR_PARAM_TAG_VALUE);
   if Driver.setParam(1260,MarkIndInfo)<>0 then
     FormRaise(Driver.errorDescription);
 

Оффлайн NewKid

  • Администратор
  • Эксперт
  • *******
  • Сообщений: 2333
  • Похвалили: 1025 раз(а)
  • ЦТО - Центр творчества одаренных
  • Откуда: Чебоксары
Re: Тэг 1260
« Ответ #4 : 24/10/2024 10:50:46 »
Ошибка 4459 АТОЛ - неверный формат данных. Причина: Адрес места установки скопирован с автопереносом. Решение: Скопировать адрес в текстовый документ, удалить перенос текста на следующую строку скопировать отформатированный текст в поле “адрес места установки”
 

Оффлайн pavel_net

  • Наш человек
  • Эксперт
  • ***
  • Сообщений: 1532
  • Похвалили: 520 раз(а)
  • Откуда: Омск
Re: Тэг 1260
« Ответ #5 : 24/10/2024 11:02:03 »
   Driver.setParam(1265,'UUID='+ReqId+'&Time='+IntToStr(ReqTimeStamp));
Попробуй сделать в отдельной переменной и передовать уже эту переменную. Или для теста передай готовую строку без вычислений в setParam. Тут кроме 1265 придраться не к чему.

Свидетели "ЦТО"
 

Оффлайн pavel_net

  • Наш человек
  • Эксперт
  • ***
  • Сообщений: 1532
  • Похвалили: 520 раз(а)
  • Откуда: Омск
Re: Тэг 1260
« Ответ #6 : 24/10/2024 11:08:28 »
NewKid, да вроде по логам ругается именно на 1260 или это всё как то связано ?
Свидетели "ЦТО"
 

Оффлайн Prz777

  • Резидент
  • Ветеран
  • ****
  • Сообщений: 885
  • Похвалили: 764 раз(а)
Re: Тэг 1260
« Ответ #7 : 24/10/2024 11:44:06 »
   Driver.setParam(1265,'UUID='+ReqId+'&Time='+IntToStr(ReqTimeStamp));
Считай из JSON-ответа reqTimestamp значение не как число, а как строку и подставь в команду без IntToStr().
 

Оффлайн Keba

  • Новичок
  • Сообщений: 14
  • Откуда: Омск
Re: Тэг 1260
« Ответ #8 : 24/10/2024 13:51:58 »
NewKid, да вроде по логам ругается именно на 1260 или это всё как то связано ?

не помогло (
 

Оффлайн Keba

  • Новичок
  • Сообщений: 14
  • Откуда: Омск
Re: Тэг 1260
« Ответ #9 : 24/10/2024 13:56:19 »
   Driver.setParam(1265,'UUID='+ReqId+'&Time='+IntToStr(ReqTimeStamp));
Считай из JSON-ответа reqTimestamp значение не как число, а как строку и подставь в команду без IntToStr().

это тоже не помогло, там и видно по логам драйвера, что reqTimestamp передается правильно

1265 (1265) = "UUID=9df29212-4bc5-4457-a90e-f5a3a3aec69d&Time=1729688689530"

в точности как в JSON

"reqId":"9df29212-4bc5-4457-a90e-f5a3a3aec69d","reqTimestamp":1729688689530}
 

Оффлайн Keba

  • Новичок
  • Сообщений: 14
  • Откуда: Омск
Re: Тэг 1260
« Ответ #10 : 24/10/2024 14:07:40 »
Проблема однозначно в тэге 1260,
стоит только убрать его заполнение,
все проходит
 

Оффлайн pavel_net

  • Наш человек
  • Эксперт
  • ***
  • Сообщений: 1532
  • Похвалили: 520 раз(а)
  • Откуда: Омск
Re: Тэг 1260
« Ответ #11 : 24/10/2024 15:25:16 »
Пару тупых вопросов: А MarkIndInfo у тебя точно  Variant ? Атол под 1.2 ?
И если уж гадать, то попробуй все составные значения передавать через переменные string;
   Driver.setParam(1262,s1);
   Driver.setParam(1263,s2);
   Driver.setParam(1264,s3);
   Driver.setParam(1265,s4);
Свидетели "ЦТО"
 

Оффлайн NewKid

  • Администратор
  • Эксперт
  • *******
  • Сообщений: 2333
  • Похвалили: 1025 раз(а)
  • ЦТО - Центр творчества одаренных
  • Откуда: Чебоксары
Re: Тэг 1260
« Ответ #12 : 24/10/2024 16:03:15 »
Пару тупых вопросов: А MarkIndInfo у тебя точно  Variant ? Атол под 1.2 ?

Поддержу какая у вас версия прошивки и ККТ точно у вас зафискалина по ФФД 1.2
 

Оффлайн Keba

  • Новичок
  • Сообщений: 14
  • Откуда: Омск
Re: Тэг 1260
« Ответ #13 : 24/10/2024 16:55:08 »
Пару тупых вопросов: А MarkIndInfo у тебя точно  Variant ? Атол под 1.2 ?

Поддержу какая у вас версия прошивки и ККТ точно у вас зафискалина по ФФД 1.2

Версия:                                 fn_v_1_2       
Тип ФН:                                 боевая версия
Состояние ФН:                       Фискальный режим
 

Оффлайн Keba

  • Новичок
  • Сообщений: 14
  • Откуда: Омск
Re: Тэг 1260
« Ответ #14 : 24/10/2024 16:56:06 »
копали в сторону версий прошивки и драйвера,
на прошивке 5.8.100 драйвере 10.10.5.0 тоже самое
 

Оффлайн NewKid

  • Администратор
  • Эксперт
  • *******
  • Сообщений: 2333
  • Похвалили: 1025 раз(а)
  • ЦТО - Центр творчества одаренных
  • Откуда: Чебоксары
Re: Тэг 1260
« Ответ #15 : 24/10/2024 16:57:42 »
Это не то, это то что фн поддерживает ффд 1.2, 5 отчет из дккт снимите и скрин со сведений о регистрации
 

Оффлайн Keba

  • Новичок
  • Сообщений: 14
  • Откуда: Омск
Re: Тэг 1260
« Ответ #16 : 24/10/2024 16:58:22 »
Пару тупых вопросов: А MarkIndInfo у тебя точно  Variant ? Атол под 1.2 ?

Поддержу какая у вас версия прошивки и ККТ точно у вас зафискалина по ФФД 1.2

или так лучше

Версия ФФД ККТ:  1.2
Минимальная версия ФФД ККТ:  1.05
Максимальная версия ФФД ККТ:  1.2
Версия ФФД ФН:   1.2
Максимальная версия ФФД ФН:  1.2
Версия ФФД:      1.2
 

Оффлайн Keba

  • Новичок
  • Сообщений: 14
  • Откуда: Омск
Re: Тэг 1260
« Ответ #17 : 24/10/2024 17:06:13 »
Пару тупых вопросов: А MarkIndInfo у тебя точно  Variant ? Атол под 1.2 ?
И если уж гадать, то попробуй все составные значения передавать через переменные string;
   Driver.setParam(1262,s1);
   Driver.setParam(1263,s2);
   Driver.setParam(1264,s3);
   Driver.setParam(1265,s4);

конечно под 1.2, переменные: MDLPIndInfo,MarkIndInfo:Variant;
и у нас аналогичный код работает уже годами

   Driver.setParam(1262,'020');
   Driver.setParam(1263,'14.12.2018');
   Driver.setParam(1264,'1556');
   RecipeStr:='';
   if RecipeSeria<>'' then
    RecipeStr:='&ps='+StringReplace(RecipeSeria,'&','&&',[rfReplaceAll]);
   if RecipeNum<>'' then
    RecipeStr:=RecipeStr+'&dn='+StringReplace(RecipeNum,'&','&&',[rfReplaceAll]);
   if RecipeDate<>'' then
    RecipeStr:=RecipeStr+'&dd='+RecipeDate;
   Driver.setParam(1265,'tm=mdlp'+RecipeStr+'&sid='+MDID);
   Driver.utilFormTlv;
   MDLPIndInfo:=Driver.getParamByteArray(Driver.LIBFPTR_PARAM_TAG_VALUE);
   if Driver.setParam(1260,MDLPIndInfo)<>0 then
     FormRaise(Driver.errorDescription);


 

Оффлайн NewKid

  • Администратор
  • Эксперт
  • *******
  • Сообщений: 2333
  • Похвалили: 1025 раз(а)
  • ЦТО - Центр творчества одаренных
  • Откуда: Чебоксары
Re: Тэг 1260
« Ответ #18 : 24/10/2024 17:42:50 »
На вкладке Регистрация ККТ нажать считать, и там где у меня обведено какие цифры у вас?
 

Оффлайн Keba

  • Новичок
  • Сообщений: 14
  • Откуда: Омск
Re: Тэг 1260
« Ответ #19 : 24/10/2024 18:06:29 »
На вкладке Регистрация ККТ нажать считать, и там где у меня обведено какие цифры у вас?

 

Оффлайн pavel_net

  • Наш человек
  • Эксперт
  • ***
  • Сообщений: 1532
  • Похвалили: 520 раз(а)
  • Откуда: Омск
Re: Тэг 1260
« Ответ #20 : 25/10/2024 10:40:25 »
Вообще странно, если с лекарствами работает, а тут нет. Надо пробовать через драйвер: ФН-Реквизиты-Сформировать составной реквизит.
А что мы кстати продаем?
А проверку самой марки выполняете? Я к тому, что может если просто слать тег 1260, то это не работает, а надо именно добавить марку в чек и все сопутствующие операции.
Свидетели "ЦТО"
 

Оффлайн Keba

  • Новичок
  • Сообщений: 14
  • Откуда: Омск
Re: Тэг 1260
« Ответ #21 : 25/10/2024 11:13:43 »
Вообще странно, если с лекарствами работает, а тут нет. Надо пробовать через драйвер: ФН-Реквизиты-Сформировать составной реквизит.
А что мы кстати продаем?
А проверку самой марки выполняете? Я к тому, что может если просто слать тег 1260, то это не работает, а надо именно добавить марку в чек и все сопутствующие операции.

Пробовал на воде и на БАДах, проверка конечно выполняется, результат проверки - 15,
в самом драйвера никогда не пробовал в ручную формировать составной реквизит, попробую разобраться,
но там ошибка выскакивает не на этапе формирования реквизита Driver.setParam(1260,MarkIndInfo), а когда вызывается для этой позиции Driver.Registration
 

Оффлайн alcohelp

  • Наш человек
  • Старожил
  • ***
  • Сообщений: 338
  • Похвалили: 113 раз(а)
  • Откуда: Самара
Re: Тэг 1260
« Ответ #22 : 25/10/2024 16:42:08 »
Проблема не в разделителях GS? В свое время под воду сканеры перенастраивали.
 

Оффлайн Keba

  • Новичок
  • Сообщений: 14
  • Откуда: Омск
Re: Тэг 1260
« Ответ #23 : 25/10/2024 17:15:16 »
Проблема не в разделителях GS? В свое время под воду сканеры перенастраивали.

в тэг 1260 КМ не передается, это точно не из за этого
 

Оффлайн Keba

  • Новичок
  • Сообщений: 14
  • Откуда: Омск
Re: Тэг 1260
« Ответ #24 : 26/10/2024 02:26:11 »
все получилось, всем спасибо за помощь,
если кому интересно, помогла смена последовательности заполнения тэгов,
алгоритм подсказали такой:

- формируем тег 1260, запоминаем его в переменной
- заполняем остальные параметры чека
- заполняем тег 1260
 

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23