Слип в ответе ккмсервера
Re: Слип в ответе ккмсервера
SLIP возвращается.
Может Вы ответ парсирете в объект, в котором нет этих полей?
Можете перехватить именно текст ответа на чек со слипом?
Может Вы ответ парсирете в объект, в котором нет этих полей?
Можете перехватить именно текст ответа на чек со слипом?
Re: Слип в ответе ккмсервера
Нет, я продолжаю настаивать, что мы говорим о разном, поэтому приведу запрос и ответ, чтобы не было расхождений в понятиях.
Запрос
Ответ (QRCodeParse - это уже я добавляю)
Потом я запрашиваю уже
И получаю
Но я сейчас перепроверю и в логи запишу именно то, что приходит в ответ....без обработки.
Запрос
Код: Выделить всё
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
)
Код: Выделить всё
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
)
)
Re: Слип в ответе ккмсервера
Проверил, не приходит. Еще раз....я регистрирую обычный чек продажи....вот самый простой, без терминалов эквайринга и т.п. И чтобы не запрашивать текст чека через запрос дубликата, хотел бы получать его в ответе на регистрацию чека. И еще раз отмечу, что если можно указать для какой ширины в символах подготовить слип, то было бы вообще хорошо. Потому что касса может быть с летной 58 мм, а ESC/POS принтер на который печатается дубликат используя информацию из поля Slip может быть и другой ширины. Но это я уже жирую. Меня и так в целом устраивает, что ответ со слипом я получаю через два цикла связи, но если можно быстрее, то было бы лучше )
Re: Слип в ответе ккмсервера
Таки мы действительно о разном,
Я и думал что речь о СЛИП чеке который должен отдавать терминал оплаты!
А вы о текстовой копии чека?
В 99,999% это не нужно.
А команда затратная по времени т.к. идут дополнительные запросы в ККТ.
Поэтому делать получение копии чека сразу после печати не стану - остальные 99,999% пользователей меня не поймут
ЗЫ: а зачем Вам всегда получать текст чека? что Вы с ним делаете?
Я и думал что речь о СЛИП чеке который должен отдавать терминал оплаты!
А вы о текстовой копии чека?
В 99,999% это не нужно.
А команда затратная по времени т.к. идут дополнительные запросы в ККТ.
Поэтому делать получение копии чека сразу после печати не стану - остальные 99,999% пользователей меня не поймут
ЗЫ: а зачем Вам всегда получать текст чека? что Вы с ним делаете?
Re: Слип в ответе ккмсервера
Клиенты используют моё приложение 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 цикла связи ккмсервера, а можно сократить до двух, например, если добавить в команду регистрации чека параметр "вернуть слип". Законность данного способа, скажем так, дискуссионная. Но сейчас народ вообще изголяется печатая чек заранее, или вообще не печатая чек, а регистрируя чек удаленно, но не давая бумажного клиенту. Есть запрос - есть решение.
Если пользователь устанавливает плагин, то при каждом ответе ккмсервера, в котором есть ответ о регистрации чека сразу в ответ добавляет команду на печать дубликата (с 0 копией, то есть без вывода на бумагу). И соответственно, к каждому чеку прикрепляется его слип. Для чего.....
1. Курьер приезжает на место и в приложении Shop-Script переводит заказ в "Оплачено" или на специальной странице нажимает "Фискализация".
2. Приложение добавляет в очередь задание на регистрацию чека. Ккмсервер делает запрос и забирает задания.
3. Соответственно при следующем запросе ккмсервер присылает информацию о чеке и забирает задание о "печати" дубликата
4. Ккмсервер присылает слип.
Всё, с этого момента курьер на специальной странице может нажать чек и распечатать на ESC/POS принтер дубликат чека с помощью приложения https://play.google.com/store/apps/deta ... wbtprinter
То есть единственная проблема, что сейчас курьер должен ждать 3 цикла связи ккмсервера, а можно сократить до двух, например, если добавить в команду регистрации чека параметр "вернуть слип". Законность данного способа, скажем так, дискуссионная. Но сейчас народ вообще изголяется печатая чек заранее, или вообще не печатая чек, а регистрируя чек удаленно, но не давая бумажного клиенту. Есть запрос - есть решение.
Re: Слип в ответе ккмсервера
Тогда вопрос - если вы подаете команду на регистрацию чека - значит у Вас есть все данные для генерации текста чека.
Так почему не сгенерите сами этот текст?
Ведь когда идет команда на получении копии чека я из ККТ выдергиваю данные чека (фактически команду на регистрацию чека) и из этих данных и генерю текст чека.
Вы ведь можете сделать тоже-самое сразу после получения ответа о том что регистрация прошла.
???
Так почему не сгенерите сами этот текст?
Ведь когда идет команда на получении копии чека я из ККТ выдергиваю данные чека (фактически команду на регистрацию чека) и из этих данных и генерю текст чека.
Вы ведь можете сделать тоже-самое сразу после получения ответа о том что регистрация прошла.
???
Re: Слип в ответе ккмсервера
Вы не поверите, но сейчас я делаю по заданию тоже самое. То есть отправляю на ККТ а потом по номеру получаю слип, чтобы напечатать на термопринтере. Из-за того, что термопринтер умеет только 32 символа в строке приходится парсить и пересоздавать. Самое главное, я заметил (пока что у меня тестовая ККТ), сначала был парамер URL в выдаче слипа, а сейчас куда-то пропал. Можете подсказать почему? И, действительно, очень хотелось бы получать слип под нужное количество символов в строке.
Re: Слип в ответе ккмсервера
Господа, посмотрите вот это: viewtopic.php?f=2&t=692&sid=74f5c003606 ... 1c1cee9a47
Это должно помочь вам в таких случаях.
Это должно помочь вам в таких случаях.