Слип в ответе ккмсервера

Mini web-сервер для печати чеков на фискальных регистраторах из мобильных приложений через HTTP запрос JSON.
Audim
Администратор
Сообщения: 2395
Зарегистрирован: 17 мар 2015, 18:36

Re: Слип в ответе ккмсервера

Сообщение Audim » 27 мар 2018, 14:32

SLIP возвращается.
Может Вы ответ парсирете в объект, в котором нет этих полей?
Можете перехватить именно текст ответа на чек со слипом?

Alexey
Сообщения: 216
Зарегистрирован: 13 мар 2017, 16:00
Контактная информация:

Re: Слип в ответе ккмсервера

Сообщение Alexey » 28 мар 2018, 18:29

Нет, я продолжаю настаивать, что мы говорим о разном, поэтому приведу запрос и ответ, чтобы не было расхождений в понятиях.

Запрос

Код: Выделить всё

Array
(
    [Timeout] => 60
    [SenderEmail] => 
    [Command] => RegisterCheck
    [NumDevice] => 2
    [KktNumber] => 00106708674303
    [InnKkm] => 
    [IsFiscalCheck] => 1
    [CancelOpenedCheck] => 1
    [CashierName] => тест
    [CashierVATIN] => 7733
    [CheckStrings] => Array
        (
            [0] => Array
                (
                    [Register] => Array
                        (
                            [Name] => Электровелосипед Volt Age CORE
                            [Quantity] => 1
                            [Price] => 143363.1
                            [Amount] => 1433.63
                            [Departament] => 0
                            [Tax] => -1
                            [SignMethodCalculation] => 4
                            [SignCalculationObject] => 1
                        )

                )

            [1] => Array
                (
                    [Register] => Array
                        (
                            [Name] => Доставка
                            [Quantity] => 1
                            [Price] => 6820.03
                            [Amount] => 6820.03
                            [Departament] => 0
                            [Tax] => 18
                            [SignMethodCalculation] => 4
                            [SignCalculationObject] => 4
                        )

                )

        )

    [TypeCheck] => 0
    [NotPrint] => 
    [ClientAddress] => 89037904814
    [TaxVariant] => 1
    [Cash] => 8253.66
    [ElectronicPayment] => 0
    [AdvancePayment] => 0
    [Credit] => 0
    [CashProvision] => 0
    [CheckTimeActuality] => 1522140843
    [IdCommand] => d41d8c-21fb08-10
)
Ответ (QRCodeParse - это уже я добавляю)

Код: Выделить всё

Array
(
    [CheckNumber] => 199
    [SessionNumber] => 49
    [SessionCheckNumber] => 4
    [URL] => https://lk.platformaofd.ru/web/noauth/cheque/?fn=9999078900007501&fp=2920643498
    [QRCode] => t=20180327T115000&s=8253.66&fn=9999078900007501&i=199&fp=2920643498&n=1
    [Command] => RegisterCheck
    [Error] => 
    [Status] => 0
    [IdCommand] => d41d8c-21fb08-10
    [NumDevice] => 2
    [QRCodeParse] => Array
        (
            [t] => 20180327T115000
            [s] => 8253.66
            [fn] => 9999078900007501
            [i] => 199
            [fp] => 2920643498
            [n] => 1
        )

)

Потом я запрашиваю уже

Код: Выделить всё

Array
(
    [Timeout] => 60
    [SenderEmail] => 
    [Command] => GetDataCheck
    [NumDevice] => 2
    [FiscalNumber] => 199
    [NumberCopies] => 0
    [IdCommand] => d41d8c-21fb08-11
)
И получаю

Код: Выделить всё

Array
(
    [Slip] => --------------------------------
ИНН организации:    773396872497
ИП Косоротов Алексей Валентинови
ч, г. Москва, улица Свободы, дом. 95, корпус 2, офис
Заводской номер ККТ:            
                    00106708674303
--------------------------------
Тип чека:                 Приход
Кассир:                     тест
ИНН кассира:
Система налогообложения:        
                        УСН (Доход)
--------------------------------
Электровелосипед Volt Age CORE
     Количество:               1
          Сумма:         1433,63
        Без НДС:               0
--------------------------------
Доставка
     Количество:               1
          Сумма:         6820,03
        НДС 18%:         1040,34
--------------------------------
           ИТОГ:         8253,66
       Получено:
      Наличными:         8253,66
--------------------------------
Номер ФД:                    199
Дата:        27.03.2018 11:50:00
Подпись ФПД:          2920643498
Номер ФН:       9999078900007501
Рег. #:        70000056043008038
--------------------------------


    [RegisterCheck] => Array
        (
            [FiscalNumber] => 199
            [FiscalDate] => 2018-03-27T11:50:00
            [CheckType] => Приход
            [FiscalSign] => 2920643498
            [CashierName] => тест
            [CashierVATIN] => 
            [TaxVariant] => 1
            [ClientAddress] => 
            [Register] => Array
                (
                    [0] => Array
                        (
                            [Name] => Электровелосипед Volt Age CORE
                            [Quantity] => 1
                            [Amount] => 1433,63
                            [Tax] => -1
                        )

                    [1] => Array
                        (
                            [Name] => Доставка
                            [Quantity] => 1
                            [Amount] => 6820,03
                            [Tax] => 18
                        )

                )

            [Cash] => 8253,66
            [ElectronicPayment] => 0
            [AdvancePayment] => 0
            [Credit] => 0
            [CashProvision] => 0
            [AllSumm] => 8253,66
        )

    [URL] => https://lk.platformaofd.ru/web/noauth/cheque/?fn=9999078900007501&fp=2920643498
    [QRCode] => t=20180327T115000&s=8253.66&fn=9999078900007501&i=199&fp=2920643498&n=1
    [Command] => GetDataCheck
    [Error] => 
    [Status] => 0
    [IdCommand] => d41d8c-21fb08-11
    [NumDevice] => 2
    [QRCodeParse] => Array
        (
            [t] => 20180327T115000
            [s] => 8253.66
            [fn] => 9999078900007501
            [i] => 199
            [fp] => 2920643498
            [n] => 1
        )

)
Но я сейчас перепроверю и в логи запишу именно то, что приходит в ответ....без обработки.

Alexey
Сообщения: 216
Зарегистрирован: 13 мар 2017, 16:00
Контактная информация:

Re: Слип в ответе ккмсервера

Сообщение Alexey » 28 мар 2018, 18:43

Проверил, не приходит. Еще раз....я регистрирую обычный чек продажи....вот самый простой, без терминалов эквайринга и т.п. И чтобы не запрашивать текст чека через запрос дубликата, хотел бы получать его в ответе на регистрацию чека. И еще раз отмечу, что если можно указать для какой ширины в символах подготовить слип, то было бы вообще хорошо. Потому что касса может быть с летной 58 мм, а ESC/POS принтер на который печатается дубликат используя информацию из поля Slip может быть и другой ширины. Но это я уже жирую. Меня и так в целом устраивает, что ответ со слипом я получаю через два цикла связи, но если можно быстрее, то было бы лучше )

Audim
Администратор
Сообщения: 2395
Зарегистрирован: 17 мар 2015, 18:36

Re: Слип в ответе ккмсервера

Сообщение Audim » 28 мар 2018, 21:13

Таки мы действительно о разном,
Я и думал что речь о СЛИП чеке который должен отдавать терминал оплаты!
А вы о текстовой копии чека?

В 99,999% это не нужно.
А команда затратная по времени т.к. идут дополнительные запросы в ККТ.
Поэтому делать получение копии чека сразу после печати не стану - остальные 99,999% пользователей меня не поймут :)

ЗЫ: а зачем Вам всегда получать текст чека? что Вы с ним делаете?

Alexey
Сообщения: 216
Зарегистрирован: 13 мар 2017, 16:00
Контактная информация:

Re: Слип в ответе ккмсервера

Сообщение Alexey » 31 мар 2018, 11:48

Клиенты используют моё приложение https://www.webasyst.ru/store/app/kkm/ и скоро пройдет модерацию плагин к приложению https://www.webasyst.ru/store/plugin/kkm/courierlite/ (404 по плагин не пройдет проверку).
Если пользователь устанавливает плагин, то при каждом ответе ккмсервера, в котором есть ответ о регистрации чека сразу в ответ добавляет команду на печать дубликата (с 0 копией, то есть без вывода на бумагу). И соответственно, к каждому чеку прикрепляется его слип. Для чего.....

1. Курьер приезжает на место и в приложении Shop-Script переводит заказ в "Оплачено" или на специальной странице нажимает "Фискализация".
Изображение
2. Приложение добавляет в очередь задание на регистрацию чека. Ккмсервер делает запрос и забирает задания.
Изображение
3. Соответственно при следующем запросе ккмсервер присылает информацию о чеке и забирает задание о "печати" дубликата
Изображение
4. Ккмсервер присылает слип.
Изображение

Всё, с этого момента курьер на специальной странице может нажать чек и распечатать на ESC/POS принтер дубликат чека с помощью приложения https://play.google.com/store/apps/deta ... wbtprinter
Изображение

То есть единственная проблема, что сейчас курьер должен ждать 3 цикла связи ккмсервера, а можно сократить до двух, например, если добавить в команду регистрации чека параметр "вернуть слип". Законность данного способа, скажем так, дискуссионная. Но сейчас народ вообще изголяется печатая чек заранее, или вообще не печатая чек, а регистрируя чек удаленно, но не давая бумажного клиенту. Есть запрос - есть решение.

Audim
Администратор
Сообщения: 2395
Зарегистрирован: 17 мар 2015, 18:36

Re: Слип в ответе ккмсервера

Сообщение Audim » 01 апр 2018, 21:30

Тогда вопрос - если вы подаете команду на регистрацию чека - значит у Вас есть все данные для генерации текста чека.
Так почему не сгенерите сами этот текст?

Ведь когда идет команда на получении копии чека я из ККТ выдергиваю данные чека (фактически команду на регистрацию чека) и из этих данных и генерю текст чека.
Вы ведь можете сделать тоже-самое сразу после получения ответа о том что регистрация прошла.
???

dimases
Сообщения: 9
Зарегистрирован: 21 мар 2019, 03:34

Re: Слип в ответе ккмсервера

Сообщение dimases » 21 мар 2019, 03:38

Вы не поверите, но сейчас я делаю по заданию тоже самое. То есть отправляю на ККТ а потом по номеру получаю слип, чтобы напечатать на термопринтере. Из-за того, что термопринтер умеет только 32 символа в строке приходится парсить и пересоздавать. Самое главное, я заметил (пока что у меня тестовая ККТ), сначала был парамер URL в выдаче слипа, а сейчас куда-то пропал. Можете подсказать почему? И, действительно, очень хотелось бы получать слип под нужное количество символов в строке.

Audim
Администратор
Сообщения: 2395
Зарегистрирован: 17 мар 2015, 18:36

Re: Слип в ответе ккмсервера

Сообщение Audim » 21 мар 2019, 12:20

Ок

dimases
Сообщения: 9
Зарегистрирован: 21 мар 2019, 03:34

Re: Слип в ответе ккмсервера

Сообщение dimases » 21 мар 2019, 14:43

Audim писал(а):
21 мар 2019, 12:20
Ок
Сделаете? Как скоро?
И по URL, все-таки. Не могу понять, куда он мог пропасть. Настройки кассы не трогались...

Audim
Администратор
Сообщения: 2395
Зарегистрирован: 17 мар 2015, 18:36

Re: Слип в ответе ккмсервера

Сообщение Audim » 21 мар 2019, 18:52

Господа, посмотрите вот это: viewtopic.php?f=2&t=692&sid=74f5c003606 ... 1c1cee9a47
Это должно помочь вам в таких случаях.

Ответить