Подвисает расширение во время печати чека.

Mini web-сервер для печати чеков на фискальных регистраторах из мобильных приложений через HTTP запрос JSON.
Ответить
dimd1288
Сообщения: 16
Зарегистрирован: 09 авг 2018, 20:32

Подвисает расширение во время печати чека.

Сообщение dimd1288 » 02 май 2019, 13:52

Клиент обратился с такой проблемой: чек отправляют на печать. Чек печатается минут через 10. Со стороны кассы проверяли - не приходит команда.
Я провел тесты на эмуляторе. Действительно иногда печать чека подвисает. Может подвиснуть на сколько угодно. Если при этом нажать на значок расширения в браузере, чек тут же выбивается. Проблема плавающая. В некоторых случаях на 10 попыток приходится 1 зависание.
В некоторых может зависнуть 3-5 раз подряд. Какой-то общей взаимосвязи нет.

Я включил полное логирование. Картина получается такая
Изображение
Вначале идёт запрос на лицензию, затем запрос на оборудование, затем выходит предупреждающий чек о том, что лицензия закончилась.
В нормальном случае дальше идёт команда на печать чека. В моем примере команда на печать чека ушла только после того, как я нажал на расширение.

Ниже лог команды на печать, на которой произошло зависание. Печать произошло только после нажатия на значок расширения.
Почему такое может происходить? Что-то не так с командой?
Может быть причина в отсутствии лицензии?
Клиент, который обратился с проблемой, печатал чек на реальном кассовом аппарате (Атол 11Ф), с лицензией у них тоже всё в порядке.

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

199	5/2/2019 10:26:10 AM	KktEmulator	KKT Эмулятор	0149060506089651	7701237658	RegisterCheck
Текст команды:
IdType: KktEmulator, IdModel: 0, ver: 2.1.26.22, IP client: 
{"Command":"RegisterCheck","NumDevice":1,"IdCommand":"b6913657-c0a2-a878-caf8-a5c86ca87529","VerFFD":"1.0","InnKkm":"","KktNumber":"","IsFiscalCheck":true,"TypeCheck":0,"NotPrint":false,"NumberCopies":0,"CashierName":"Кассир","CashierVATIN":"123456789012","ClientAddress":"","SenderEmail":"","TaxVariant":"","AdditionalProps":[],"KPP":"","ClientId":"","KeySubLicensing":"","CheckStrings":[{"Register":{"Name":"Проживание в номере \"Копия - Эконом\"","Quantity":1,"Price":114,"Amount":114,"Department":0,"Tax":120,"EAN13":null,"EGAIS":null,"SignMethodCalculation":3,"SignCalculationObject":4,"MeasurementUnit":null,"NomenclatureCode":null,"AgentSign":null,"AgentData":null,"PurveyorData":null}}],"Cash":0,"ElectronicPayment":114,"AdvancePayment":0,"Credit":0,"CashProvision":0,"PayByProcessing":false,"ReceiptNumber":"","PrintSlipForCashier":true,"RRNCode":"","AuthorizationCode":"","CheckProps":[],"CashLessType1":0,"CashLessType2":0,"CashLessType3":0,"CancelOpenedCheck":true,"Timeout":30}Q{"Command":"AddInGetSettings",
Текст ошибки:
Низкоуровневые команды:

Время выполнения команды:00:00.282272
Время выполнения команды:00:00.303307
Время выполнения команды:00:00.083079
Время выполнения команды:00:00.109105
Время выполнения команды:00:00.823616
Время выполнения команды:00:00.075071
Время выполнения команды:00:00.110100
Время выполнения команды:00:00.072061
Время выполнения команды:00:00.108092
Время выполнения команды:00:00.070056
Время выполнения команды:00:00.104084
Время выполнения команды:00:00.146141
Время выполнения команды:00:00.071068
Время выполнения команды:00:00.108105
Время выполнения команды:00:00.138123
Время выполнения команды:00:00.072074
Время выполнения команды:00:00.106088
Время выполнения команды:00:00.139134
Время выполнения команды:00:00.073081
Время выполнения команды:00:00.108104
Время выполнения команды:00:00.052131
Время выполнения команды:00:00.075078
Время выполнения команды:00:00.127122
Время выполнения команды:00:00.073071
Время выполнения команды:00:00.112104
Время выполнения команды:00:00.225166
Время выполнения команды:00:00.154811
Время выполнения команды:00:00.141356
Время выполнения команды:00:00.141148
Время выполнения команды:00:00.107116
Время выполнения команды:00:00.071606
Время выполнения команды:00:00.106101
Время выполнения команды:00:00.132690
Время выполнения команды:00:00.070068
Время выполнения команды:00:00.105099
Время выполнения команды:00:00.053050
Время выполнения команды:00:00.070067
Время выполнения команды:00:00.105099
Время выполнения команды:00:00.079263
Время выполнения команды:00:00.140587
Время выполнения команды:00:00.071072
Время выполнения команды:00:00.106101
Время выполнения команды:00:00.135117
Время выполнения команды:00:00.070068
Время выполнения команды:00:00.106118
Время выполнения команды:00:00.144137
Время выполнения команды:00:00.071080
Время выполнения команды:00:00.103095
Время выполнения команды:00:00.142119
Время выполнения команды:00:00.074070
Время выполнения команды:00:00.110094
Время выполнения команды:00:00.141134
Время выполнения команды:00:00.076071
Время выполнения команды:00:00.107114
Время выполнения команды:00:00.134132
Время выполнения команды:00:00.072068
Время выполнения команды:00:00.104099
Время выполнения команды:00:00.144138
Время выполнения команды:00:00.071055
Время выполнения команды:00:00.105099
Время выполнения команды:00:00.136142
Время выполнения команды:00:00.070055
Время выполнения команды:00:00.109100
Время выполнения команды:00:00.139133
Время выполнения команды:00:00.073058
Время выполнения команды:00:00.110117
Время выполнения команды:00:00.136143
Время выполнения команды:00:00.072057
Время выполнения команды:00:00.105101
Время выполнения команды:00:00.148129
Время выполнения команды:00:00.070055
Время выполнения команды:00:00.105088
Время выполнения команды:00:00.145138
Время выполнения команды:00:00.072056
Время выполнения команды:00:00.111106
Время выполнения команды:00:00.085080
Время выполнения команды:00:00.113108
Время выполнения команды:00:00.072056
Время выполнения команды:00:00.105083
Время выполнения команды:00:00.139133
Время выполнения команды:00:00.073068
Время выполнения команды:00:00.107105
Время выполнения команды:00:00.138132
Время выполнения команды:00:00.071051
Время выполнения команды:00:00.106118
Время выполнения команды:00:00.138132
Время выполнения команды:00:00.072069
Время выполнения команды:00:00.107102
Время выполнения команды:00:00.073069
Время выполнения команды:00:00.111108
Время выполнения команды:00:00.072069
Время выполнения команды:00:00.105089
Время выполнения команды:00:00.141135
Время выполнения команды:00:00.073066
Время выполнения команды:00:00.112107
Время выполнения команды:00:00.073070
Время выполнения команды:00:00.106089
Время выполнения команды:00:00.152146
Время выполнения команды:00:00.070054
Время выполнения команды:00:00.112117
Время выполнения команды:00:00.070072
Время выполнения команды:00:00.106088
Время выполнения команды:00:00.145138
Время выполнения команды:00:00.072080
Время выполнения команды:00:00.111106
Время выполнения команды:00:00.137130
Время выполнения команды:00:00.074056
Время выполнения команды:00:00.105100
Время выполнения команды:00:00.140126
Время выполнения команды:00:00.070071
Время выполнения команды:00:00.105101
Время выполнения команды:00:00.142147
Время выполнения команды:00:00.072086
Время выполнения команды:00:00.106092
Время выполнения команды:00:00.133128
Время выполнения команды:00:00.072069
Время выполнения команды:00:00.110108
Время выполнения команды:00:00.137133
Время выполнения команды:00:00.072069
Время выполнения команды:00:00.111119
Время выполнения команды:00:00.072070
Время выполнения команды:00:00.107104
Время выполнения команды:00:00.141125
Время выполнения команды:00:00.070081
Время выполнения команды:00:00.106103
Время выполнения команды:00:00.136144
Время выполнения команды:00:00.072070
Время выполнения команды:00:00.107104
Время выполнения команды:00:00.138122
Время выполнения команды:00:00.074082
Время выполнения команды:00:00.110095
Время выполнения команды:00:00.138150
Время выполнения команды:00:00.071069
Время выполнения команды:00:00.105102
Время выполнения команды:00:00.140136
Время выполнения команды:00:00.072086
Время выполнения команды:00:00.107116
Время выполнения команды:00:00.139135
Время выполнения команды:00:00.073070
Время выполнения команды:00:00.110094
Время выполнения команды:00:00.140135
Время выполнения команды:00:00.075084
Время выполнения команды:00:00.110124
Время выполнения команды:00:00.145141
Время выполнения команды:00:00.071069
Время выполнения команды:00:00.109094
Время выполнения команды:00:00.137136
Время выполнения команды:00:00.071057
Время выполнения команды:00:00.105083
Время выполнения команды:00:00.139134
Время выполнения команды:00:00.073070
Время выполнения команды:00:00.107105
Время выполнения команды:00:00.136172
Время выполнения команды:00:00.073064
Время выполнения команды:00:00.107087
Время выполнения команды:00:00.071056
Время выполнения команды:00:00.109105
Время выполнения команды:00:00.140125
Время выполнения команды:00:00.073070
Время выполнения команды:00:00.107104
Время выполнения команды:00:00.139124
Время выполнения команды:00:00.073053
Время выполнения команды:00:00.108104
Время выполнения команды:00:00.137132

dimd1288
Сообщения: 16
Зарегистрирован: 09 авг 2018, 20:32

Re: Подвисает расширение во время печати чека.

Сообщение dimd1288 » 03 май 2019, 01:05

Провел несколько тестов с помощью инструмента https://localhost:5893/html/SamplesAddIn.html

Команда на печать такая

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

{
	"Command": "RegisterCheck",
	"NumDevice": 1,
	"DefaultSettings": {
		"Timeout": 30,
		"CashierName": "",
		"CashierVATIN": "",
		"SenderEmail": "",
		"CheckProps": [],
		"KeySubLicensing": ""
	},
	"_QueryResponses": {},
	"_ListBarCodeEvent": {},
	"VerFFD": "1.0",
	"InnKkm": "",
	"KktNumber": "",
	"IsFiscalCheck": true,
	"TypeCheck": 0,
	"NotPrint": false,
	"NumberCopies": 0,
	"CashierName": "Кассир",
	"CashierVATIN": "123456789012",
	"ClientAddress": "",
	"SenderEmail": "",
	"TaxVariant": "",
	"AdditionalProps": [],
	"KPP": "",
	"ClientId": "",
	"KeySubLicensing": "",
	"CheckStrings": [{
			"Register": {
				"Name": "Проживание в номере \"Копия - Эконом\"",
				"Quantity": 1,
				"Price": 221,
				"Amount": 221,
				"Department": 0,
				"Tax": 120,
				"EAN13": null,
				"EGAIS": null,
				"SignMethodCalculation": 4,
				"SignCalculationObject": 4,
				"MeasurementUnit": null,
				"NomenclatureCode": null,
				"AgentSign": null,
				"AgentData": null,
				"PurveyorData": null
			}
		}
	],
	"Cash": 221,
	"ElectronicPayment": 0,
	"AdvancePayment": 0,
	"Credit": 0,
	"CashProvision": 0,
	"PayByProcessing": false,
	"ReceiptNumber": "",
	"PrintSlipForCashier": true,
	"RRNCode": "",
	"AuthorizationCode": "",
	"CheckProps": [],
	"CashLessType1": 0,
	"CashLessType2": 0,
	"CashLessType3": 0,
	"CancelOpenedCheck": true,
	"Timeout": 30
}
В таком виде сервер не отвечает, расширение отваливается. Чек выходит только если во время зависания нажать на значок расширения в браузере.

Но если в поле Name из название "Копия - Эконом" убрать дефис, то никаких проблем нет.
Если вместо дефиса поставить одну цифру, проблема снова воспроизводится. Если больше одной цифры, то всё ок.
Нет ли какого-то ограничения?

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

Re: Подвисает расширение во время печати чека.

Сообщение Audim » 03 май 2019, 20:51

Не воспроизводится.

Пропробуйте в другом браузере - там воспроизводится?

dimd1288
Сообщения: 16
Зарегистрирован: 09 авг 2018, 20:32

Re: Подвисает расширение во время печати чека.

Сообщение dimd1288 » 04 май 2019, 12:55

Я проверил в Chrome и в Яндекс браузере. Браузеры обновлены до актуальных версий.
Воспроизводится. При первой попытке выполнить команду сервер не отвечает. Если при этом кликнуть на расширение, то тут же выходит чек.
В настройках сервера все галочки сняты, все настройки по умолчанию.
Включил только логирование всех команд.
А вы на каком браузере проверяли?

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

Re: Подвисает расширение во время печати чека.

Сообщение Audim » 04 май 2019, 22:32

Могу предположить что проблемы с запуском компоненты.
Нужно проверить права. Для проверки попробуйте запускать браузер от администратора.

Обходной путь: Установите запуск kkmserver автоматом в трей или как сервис.
И в расширении укажите не встроенный сервер а внешний (и перезагрузите машину)

Ответить