Главная категория > Посцентр (ШТРИХ-М)

Агенты в АПИ Штрих-М

(1/1)

kkmspb:
Чего-то непонятки с протоколом Штриха - а где команда передачи данных агентов/поставщиков.

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

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

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

pavel_net:
Да, просто заполняешь нужные теги и пихаешь в чек. У атола в принципе тоже самое просто названия агентов буковками прописаны.

kkmspb:
Спасибо, понял , примерно так уже работает:

/*
        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:
Остался небольшой вопрос.
Чего-то не понять как очищать не правильно начатые команды FNAddTag.
Если начать формирование stlv тега через FNBeginSTLVTag() и потом тупо выйти (например мы заметили не валидное значение), то заметил такую странность, что следующий чек закончится с ошибкой. Даже если перед этим сделать FNCancelDocument() и/или SysAdminCancelCheck()
То есть если не выполнять в конце FNSendSTLVTagOperation().

Но это в принципе мелочь можно конечно всё проверки производить до FNBeginSTLVTag().

Навигация

[0] Главная страница сообщений

Произошла ошибка благодарности
Думаю...
Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 
Перейти к полной версии