shtrih-m / fr_drv_ng

релизы и поддержка драйвера fr_drv_ng
35 stars 5 forks source link

Не удается задать маркировку #102

Closed dimailn closed 4 years ago

dimailn commented 4 years ago
        FNOperation()
        Set_BarCode("010290000101456421gOZdDD:ZVshH2")
        FNSendItemBarcode()
2020-03-16 13:52:06.468 20522-20765/ru.insales.ekam V/fr_drv_ng: [2020-03-16 13:52:06.468] [20765] [classic_interface_0x92717080    ] [T] Set_BarCode(`010290000101456421gOZdDD:ZVshH2`)
2020-03-16 13:52:06.468 20522-20765/ru.insales.ekam V/fr_drv_ng: [2020-03-16 13:52:06.468] [20765] [classic_interface_0x92717080    ] [T] Set_BarCode() ok
2020-03-16 13:52:06.468 20522-20765/ru.insales.ekam V/fr_drv_ng: [2020-03-16 13:52:06.468] [20765] [classic_interface_0x92717080    ] [T] FNSendItemBarcode()
2020-03-16 13:52:06.470 20522-20765/ru.insales.ekam D/fr_drv_ng: [2020-03-16 13:52:06.470] [20765] [TcpSocketIO_0xa06ed7f0          ] [D] -> 8F 28 00 18 00 FF 67 1E 00 00 00 1F 30 31 30 32 39 30 30 30 30 31 30 31 34 35 36 34 32 31 67 4F 5A 64 44 44 3A 5A 56 73 68 48 32 26 AD
2020-03-16 13:52:06.480 20522-20765/ru.insales.ekam D/fr_drv_ng: [2020-03-16 13:52:06.480] [20765] [TcpSocketIO_0xa06ed7f0          ] [D] <- 8F
2020-03-16 13:52:06.480 20522-20765/ru.insales.ekam D/fr_drv_ng: [2020-03-16 13:52:06.480] [20765] [TcpSocketIO_0xa06ed7f0          ] [D] <- 05 00 18 00 FF 67 37 74 95
2020-03-16 13:52:06.480 20522-20765/ru.insales.ekam D/fr_drv_ng: [2020-03-16 13:52:06.480] [20765] [ProtocolV2_0x90994d80           ] [D] command FF67 return code: 55 execution took 10ms
2020-03-16 13:52:06.480 20522-20765/ru.insales.ekam E/fr_drv_ng: [2020-03-16 13:52:06.480] [20765] [ProtocolV2_0x90994d80           ] [E] Command is not supported
2020-03-16 13:52:06.480 20522-20765/ru.insales.ekam D/fr_drv_ng: [2020-03-16 13:52:06.480] [20765] [ProtocolV2_0x90994d80           ] [D] commands total: 24, succeed: 23, failed: 1, avg. exec time: 23ms
2020-03-16 13:52:06.482 20522-20765/ru.insales.ekam D/fr_drv_ng: [2020-03-16 13:52:06.482] [20765] [TcpSocketIO_0xa06ed7f0          ] [D] -> 8F 04 00 19 00 6B 37 05 71
2020-03-16 13:52:06.483 20522-20765/ru.insales.ekam D/fr_drv_ng: [2020-03-16 13:52:06.483] [20765] [TcpSocketIO_0xa06ed7f0          ] [D] <- 8F
2020-03-16 13:52:06.484 20522-20765/ru.insales.ekam D/fr_drv_ng: [2020-03-16 13:52:06.484] [20765] [TcpSocketIO_0xa06ed7f0          ] [D] <- 50 00 19 00 6B 00 CA CA D2 3A 20 CA EE EC E0 ED E4 E0 20 ED E5 20 EF EE E4 E4 E5 F0 E6 E8 E2 E0 E5 F2 F1 FF 20 E2 20 E4 E0 ED ED EE E9 20 F0 E5 E0 EB E8 E7 E0 F6 E8 E8 20 E8 EB E8 20 EF F0 E8 20 E4 E0 ED ED FB F5 20 ED E0 F1 F2 F0 EE E9 EA E0 F5 D3 06
2020-03-16 13:52:06.484 20522-20765/ru.insales.ekam D/fr_drv_ng: [2020-03-16 13:52:06.484] [20765] [ProtocolV2_0x90994d80           ] [D] command 6B return code: 0 execution took 1ms
2020-03-16 13:52:06.484 20522-20765/ru.insales.ekam D/fr_drv_ng: [2020-03-16 13:52:06.484] [20765] [ProtocolV2_0x90994d80           ] [D] commands total: 25, succeed: 24, failed: 1, avg. exec time: 22ms
2020-03-16 13:52:06.484 20522-20765/ru.insales.ekam D/fr_drv_ng: [2020-03-16 13:52:06.484] [20765] [classic_interface_0x92717080    ] [D] FNSendItemBarcode() fail
2020-03-16 13:52:06.484 20522-20765/ru.insales.ekam E/fr_drv_ng: [2020-03-16 13:52:06.484] [20765] [classic_interface_0x92717080    ] [E] ККТ: Команда не поддерживается в данной реализации или при данных настройках

Версия кассового ядра: 36377 Версия драйвера: 1.4.5

surfernsk commented 4 years ago

Что за ККТ, прошивка и список установленных лицензий?

пн, 16 мар. 2020 г., 17:55 dimailn notifications@github.com:

    FNOperation()

    Set_BarCode("010290000101456421gOZdDD:ZVshH2")

    FNSendItemBarcode()

2020-03-16 13:52:06.468 20522-20765/ru.insales.ekam V/fr_drv_ng: [2020-03-16 13:52:06.468] [20765] [classic_interface_0x92717080 ] [T] Set_BarCode(010290000101456421gOZdDD:ZVshH2)

2020-03-16 13:52:06.468 20522-20765/ru.insales.ekam V/fr_drv_ng: [2020-03-16 13:52:06.468] [20765] [classic_interface_0x92717080 ] [T] Set_BarCode() ok

2020-03-16 13:52:06.468 20522-20765/ru.insales.ekam V/fr_drv_ng: [2020-03-16 13:52:06.468] [20765] [classic_interface_0x92717080 ] [T] FNSendItemBarcode()

2020-03-16 13:52:06.470 20522-20765/ru.insales.ekam D/fr_drv_ng: [2020-03-16 13:52:06.470] [20765] [TcpSocketIO_0xa06ed7f0 ] [D] -> 8F 28 00 18 00 FF 67 1E 00 00 00 1F 30 31 30 32 39 30 30 30 30 31 30 31 34 35 36 34 32 31 67 4F 5A 64 44 44 3A 5A 56 73 68 48 32 26 AD

2020-03-16 13:52:06.480 20522-20765/ru.insales.ekam D/fr_drv_ng: [2020-03-16 13:52:06.480] [20765] [TcpSocketIO_0xa06ed7f0 ] [D] <- 8F

2020-03-16 13:52:06.480 20522-20765/ru.insales.ekam D/fr_drv_ng: [2020-03-16 13:52:06.480] [20765] [TcpSocketIO_0xa06ed7f0 ] [D] <- 05 00 18 00 FF 67 37 74 95

2020-03-16 13:52:06.480 20522-20765/ru.insales.ekam D/fr_drv_ng: [2020-03-16 13:52:06.480] [20765] [ProtocolV2_0x90994d80 ] [D] command FF67 return code: 55 execution took 10ms

2020-03-16 13:52:06.480 20522-20765/ru.insales.ekam E/fr_drv_ng: [2020-03-16 13:52:06.480] [20765] [ProtocolV2_0x90994d80 ] [E] Command is not supported

2020-03-16 13:52:06.480 20522-20765/ru.insales.ekam D/fr_drv_ng: [2020-03-16 13:52:06.480] [20765] [ProtocolV2_0x90994d80 ] [D] commands total: 24, succeed: 23, failed: 1, avg. exec time: 23ms

2020-03-16 13:52:06.482 20522-20765/ru.insales.ekam D/fr_drv_ng: [2020-03-16 13:52:06.482] [20765] [TcpSocketIO_0xa06ed7f0 ] [D] -> 8F 04 00 19 00 6B 37 05 71

2020-03-16 13:52:06.483 20522-20765/ru.insales.ekam D/fr_drv_ng: [2020-03-16 13:52:06.483] [20765] [TcpSocketIO_0xa06ed7f0 ] [D] <- 8F

2020-03-16 13:52:06.484 20522-20765/ru.insales.ekam D/fr_drv_ng: [2020-03-16 13:52:06.484] [20765] [TcpSocketIO_0xa06ed7f0 ] [D] <- 50 00 19 00 6B 00 CA CA D2 3A 20 CA EE EC E0 ED E4 E0 20 ED E5 20 EF EE E4 E4 E5 F0 E6 E8 E2 E0 E5 F2 F1 FF 20 E2 20 E4 E0 ED ED EE E9 20 F0 E5 E0 EB E8 E7 E0 F6 E8 E8 20 E8 EB E8 20 EF F0 E8 20 E4 E0 ED ED FB F5 20 ED E0 F1 F2 F0 EE E9 EA E0 F5 D3 06

2020-03-16 13:52:06.484 20522-20765/ru.insales.ekam D/fr_drv_ng: [2020-03-16 13:52:06.484] [20765] [ProtocolV2_0x90994d80 ] [D] command 6B return code: 0 execution took 1ms

2020-03-16 13:52:06.484 20522-20765/ru.insales.ekam D/fr_drv_ng: [2020-03-16 13:52:06.484] [20765] [ProtocolV2_0x90994d80 ] [D] commands total: 25, succeed: 24, failed: 1, avg. exec time: 22ms

2020-03-16 13:52:06.484 20522-20765/ru.insales.ekam D/fr_drv_ng: [2020-03-16 13:52:06.484] [20765] [classic_interface_0x92717080 ] [D] FNSendItemBarcode() fail

2020-03-16 13:52:06.484 20522-20765/ru.insales.ekam E/fr_drv_ng: [2020-03-16 13:52:06.484] [20765] [classic_interface_0x92717080 ] [E] ККТ: Команда не поддерживается в данной реализации или при данных настройках```

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/shtrih-m/fr_drv_ng/issues/102, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARI6POVWDHFY4BPRDFJGLLRHYATXANCNFSM4LMCKFNA .

dimailn commented 4 years ago

SHTRIH-SMARTPOS-F

Прошивку и лицензии где смотреть?

surfernsk commented 4 years ago

На смартпос ещё нет нового кассового ядра, с поддержкой нового метода формирования тега 1162

пн, 16 мар. 2020 г., 18:01 dimailn notifications@github.com:

SHTRIH-SMARTPOS-F

Прошивку и лицензии где смотреть?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/shtrih-m/fr_drv_ng/issues/102#issuecomment-599473834, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARI6PIPXIZIGQG2NJRVJGTRHYBHZANCNFSM4LMCKFNA .

dimailn commented 4 years ago

То есть надо самим генерить бинарное представление 1162, или новые маркировки в принципе не поддерживаются сейчас на нем? Есть информация о сроках реализации?

И еще вопрос, для смартпоса мини ситуация аналогичная?

surfernsk commented 4 years ago

https://www.shtrih-m.ru/support/download/?section_id=all&product_id=all&type_id=all&searchDownloads=%D0%AF%D0%B4%D1%80%D0%BE

Версия кассового ядра с поддержкой маркировки. Обновите на кассе.

пн, 16 мар. 2020 г., 18:26 dimailn notifications@github.com:

То есть надо самим генерить бинарное представление 1162, или новые маркировки в принципе не поддерживаются сейчас на нем? Есть информация о сроках реализации?

И еще вопрос, для смартпоса мини ситуация аналогичная?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/shtrih-m/fr_drv_ng/issues/102#issuecomment-599484634, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARI6POYNA6PPNN6ADRXDM3RHYEHLANCNFSM4LMCKFNA .

dimailn commented 4 years ago

Так ведь уже сделано, я же указал версию КЯ 36377

surfernsk commented 4 years ago

Простите, с телефона не разглядел. Судя по changelog:

Сборка 1.3.36330 (13.02.2020)

1. Чтобы распечатать реквизит "[М]" тега 1162 <код товара> перед названием товара на чеке без передачи "[М]" в тег 1030 <наименование предмета расчета> в ЭФ необходимо предварительно передать тег 1162 Командой FF4Dh <Передать произвольную TLV структуру привязанную к 
операции> и в начало строки наименования товара добавить в виде префикса "[М] " в поле "Наименование товара" в Команде FF46h <Операция V2>.
Функция доступна для ККТ "ШТРИХ-СМАРТПОС-Ф", "ШТРИХ-СМАРТПОС-Ф" МИНИ, ККТ "ШТРИХ-КАРТ-Ф".

Сборка 1.3.36377 (20.02.2020)

Исправлена "Ошибка при печати пустой строки".

метод не реализован в КЯ (

Значит передавать по старому, и еще проверить:

    //!
    //! @brief Режим совместимости КЯ при печати признака маркировки
    //!
    //! false - режим выключен, true - включен.
    //! Если режим совместимости включен, и в КЯ был передан тег 1162, то при выполнении FNOperation в начало названия
    //! товара(StringForPrinting) добавляется "[М] ". Только тогда на чеке будет напечатан признак маркировки.
    //! По умолчанию режим совместиости включен.
    //!
    //! @par Используется методами:
    //!   #FNOperation
    //!
    //! @par Методы доступа:
    //!   #Get_EnableCashcoreMarkCompatibility, #Set_EnableCashcoreMarkCompatibility
    //!
    DOXYGEN_PROPERTY(bool EnableCashcoreMarkCompatibility)
    //!
    //! @brief Возвращает значение свойства #EnableCashcoreMarkCompatibility
    //! @return EnableCashcoreMarkCompatibility
    //! @relates EnableCashcoreMarkCompatibility
    //!
    bool Get_EnableCashcoreMarkCompatibility() const;
    //!
    //! @brief Устанавливает значение свойства #EnableCashcoreMarkCompatibility
    //! @param value Новое значение EnableCashcoreMarkCompatibility
    //! @relates EnableCashcoreMarkCompatibility
    //!
    void Set_EnableCashcoreMarkCompatibility(bool value);

судя по описанию - от добавления буквы [M], ручной обработкой

olefard commented 4 years ago

Сейчас в смартпос можно передать маркировку только через FNSendItemCodeData и передачей тега 1162 в позицию.

dimailn commented 4 years ago

Коллеги, планируется ли реализация разбора маркировки на уровне драйвера, есть ли какие-то сроки?

dimailn commented 4 years ago

А можно как-то передать уже сформированную байтовую последовательность для 1162? Ведь метод FNSendItemCodeData ожидает установку отдельных компонентов маркировки, таких как gtin, серийник и так далее, а было бы удобно передавать уже сформированную последовательность.

olefard commented 4 years ago

Да, можно. Как обычный тег для ФН. Привязывается к операции. https://github.com/shtrih-m/fr_drv_ng_examples/blob/18493e664a9943d6186280cae980f08d0c9d47e8/classic_interface/main.cpp#L323

    ci.Set_TagNumber(1162);
    ci.Set_TagType(9); // ttByteArray
    ci.Set_BinaryConversion(classic_interface::TBinaryConversion::BINARY_CONVERSION_HEX);
    ci.Set_TagValueBin("524652552D3430313330312D41414130323737303331");// марка: RU-401301-AAA0277031
    ci.FNSendTagOperation();

Сформированная последовательность кодируется строкой шестнадцатеричных символов, 2 символа - один байт последовательности.

olefard commented 4 years ago

Коллеги, планируется ли реализация разбора маркировки на уровне драйвера, есть ли какие-то сроки?

К сожалению не планируется.

dimailn commented 4 years ago

Благодарю!