Таймаут!
Был внеурочное время звонок - пропал звонивший... Типа программа постоянно выдаёт сообщение типа, если правильно запомнил:
Цитата: Не дождался ответа от УТМ - может быть у них какие-то проблемы? Пожалуйста проверьте работоспособность УТМ транспорта! Возможно был удален запрос или накладная в другой копии?
Как программа беседует с УТМ:
В большинстве, а особенно "старых" модулях. Создаётся XML файл, отправляется через cURL в УТМ, пишет сообщение "Ожидаю в течение ХХ секунд получения квитанции (ответа) от УТМ" и постоянно анализирует факт появления ответа от УТМ в течении некоторого ХХ времени. Если ответ не приходит, то выдаёт данное сообщение. Пример кода:
Код:
cXml := cdReport+Alltrim( zConv(cXml) )+".XML"
cZ := cgpCurl+[curl -X GET ]+cZap+[ > ]+cXml
RUN (cZ)
pInkey(ngWait)
IF lReplUTM( cXml,ngWait)
ErrMess("Сохранено в папку отчетов",cHelpc)
ENDI
Переменная
ngWait - число секунд ожидания ответа
задаётся в настройке и от чего она (длительность паузы) зависит? - БЫСТРОДЕЙСТВИЕ ПК и ИНТЕРНЕТ!!!
В реальности, на ПК i3 с 8Gb RAM и быстрым интернет вполне достаточно для обработки файла ХМЛ программой УТМ 3 секунд, но в случае медленного ПК и интернет, например Celeron 1.2 RAM 256Mb, 3G модем гарантирована обработка УТМ в течении 40 секунд, что и нужно установить в настройке.
Был ещё вопрос (замечание) в письме:
Цитата: С "моргающим курлом" писать нормально тож не могу. Он, скотина, уже минут 40 егаис мучает, поставки за год всасывает
Что год не подтверждали приходные ТТН? ... Хотя Гушанский отвечал "что лучше поздно, чем никогда"... пусть накопилось 200 накладных и пауза стоит 10 секунд, тогда, учитывая и время работы самой УСЕга процесс закачки (без удаления из УТМ) данного списка займет 11*200 = 2200 секунд - 37 минут... хотя тоже странно? Накладные в УТМ живут всего неделю...