Автор Тема: Агенты в АПИ Штрих-М  (Прочитано 1532 раз)

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

Оффлайн kkmspb

  • Активный форумчанин
  • Постоялец
  • **
  • Сообщений: 247
  • Похвалили: 29 раз(а)
  • Откуда: Санкт-Петербург
    • БИТ драйвер ККТ
Агенты в АПИ Штрих-М
« : 16/03/2025 20:42:02 »
Чего-то непонятки с протоколом Штриха - а где команда передачи данных агентов/поставщиков.

Реализовывал подобное на Атоле, там все вроде понятно, есть специальные для этого методы и напрямую и в json формате.

А у Штриха как я начинаю подозревать есть тупо fnSendTlv и пиши сам в ФН  все что хочешь.

Кто нибудь сталкивался с такой фигней?
 

Оффлайн pavel_net

  • Наш человек
  • Эксперт
  • ***
  • Сообщений: 1532
  • Похвалили: 520 раз(а)
  • Откуда: Омск
Re: Агенты в АПИ Штрих-М
« Ответ #1 : 17/03/2025 12:03:22 »
Да, просто заполняешь нужные теги и пихаешь в чек. У атола в принципе тоже самое просто названия агентов буковками прописаны.
Свидетели "ЦТО"
 
Это сообщение считают полезным: kkmspb

Оффлайн kkmspb

  • Активный форумчанин
  • Постоялец
  • **
  • Сообщений: 247
  • Похвалили: 29 раз(а)
  • Откуда: Санкт-Петербург
    • БИТ драйвер ККТ
Re: Агенты в АПИ Штрих-М
« Ответ #2 : 17/03/2025 15:19:44 »
Спасибо, понял , примерно так уже работает:

/*
        ttByte = 0. Тип Byte
        ttUint16 = 1. Тип Uint16
        ttUint32 = 2. Тип UInt32
        ttVLN = 3. Тип VLN
        ttFVLN = 4. Тип FVLN
        ttBitMask = 5. Тип "битовое поле"
        ttUnixTime = 6. Тип "время"
        ttString = 7. Тип "строка"
        ttSTLV = 8. Тип STLV
        */

        setProp("TagNumber" , 1222 );
        setProp("TagType" , 0 );
        setProp("TagValueInt" , 32 ); // Регистр  битов {1,2,4,8,16,32, 64}

        if( ! dynamic_Call( "FNSendTagOperation()"))
        {

        }

Прикольно, что в чек признак агента добавляется и чек печатается нормально, а вот на отсутствие инн поставщика похоже Штриху наплевать.

Получается, что это все под ответственность разработчика верхнего софта.
 

Оффлайн kkmspb

  • Активный форумчанин
  • Постоялец
  • **
  • Сообщений: 247
  • Похвалили: 29 раз(а)
  • Откуда: Санкт-Петербург
    • БИТ драйвер ККТ
Re: Агенты в АПИ Штрих-М
« Ответ #3 : 18/03/2025 12:52:10 »
Остался небольшой вопрос.
Чего-то не понять как очищать не правильно начатые команды FNAddTag.
Если начать формирование stlv тега через FNBeginSTLVTag() и потом тупо выйти (например мы заметили не валидное значение), то заметил такую странность, что следующий чек закончится с ошибкой. Даже если перед этим сделать FNCancelDocument() и/или SysAdminCancelCheck()
То есть если не выполнять в конце FNSendSTLVTagOperation().

Но это в принципе мелочь можно конечно всё проверки производить до FNBeginSTLVTag().
« Последнее редактирование: 18/03/2025 13:49:39 от kkmspb »
 

 

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