Проверка ТТН ЕГАИС по сервису check1.fsrar.ru

Обработки - Обработка документов

Обработка позволяет проверить ТТН через сервис check1.fsrar.ru по номеру ТТН и коду клиента отправителя или получателя. Обработка будет полезна оптовиками и розничникам, которым периодически нужно контролировать состояние исходящих/входящих ТТН.

Проверку ТТН можно выполнить и через сам сервис check1.fsrar.ru , однако с помощью обработки не надо отдельно открывать браузер и все действия можно выполнить из учетной системы.  Сам сервис check1.fsrar.ru  поддерживает запросы по разным параметрам, в обработке поддерживается только режим запроса данных по накладным на основании известного идентификатора ТТН (WBRegId ) и ид клиента-отправителя или получателя.

Обработка является скорее шаблоном для адаптация к своим конфигурациям, но можно использовать и в исходном виде. Для обращения к сервису обработка использует com-объекты WinHttp.WinHttpRequest.5.1 и ADODB.Stream, которые уже присутствуют в ОС Windows и позволяют обработке работать на разных версиях платформы 1С. Данная обработка ориентирована на обычное приложение.

Основные моменты при интерактивной работе:

После ввода ид клиента и номера ТТН обработка получается капчу с сервиса ФСРАР, которую пользователь должен ввести вручную, после этого выводится результат обращения к сервису. Если получена ошибка ввода капчи, то обработка предложит новую капчу.

Технические моменты:

Используя com-объект WinHttp.WinHttpRequest.5.1 помогает значительно упростить работу с протоколом https и работать под разными платформами 1С. Объект ADODB.Stream  необходим для того, чтобы сохранить капчу из потока WinHttp в файла и показать соответствующую картинку пользователю.

Ключевые параметры POST-запроса к сервису в режиме поиска по отправителю имеют следующий вид:

  1. id - Идентификатор ТТН
  2. owner_id – идентификатор ид-клиента отправителя
  3. CaptchaId  - пока всегда равен SampleCaptcha
  4. InstanceId – идентификатор капчи, который получается при первом обращении к странице с элемента с id = LBD_VCID_SampleCaptcha
  5. UserInput – введенная капча пользователе

Ключевые параметры POST-запроса к сервису в режиме поиска по получателю имеют следующий вид:

  1. id - Идентификатор ТТН
  2. owner_receiver – идентификатор ид-клиента получателя
  3. CaptchaId  - пока всегда равен SampleCaptcha
  4. InstanceId – идентификатор капчи, который получается при первом обращении к странице с элемента с id = LBD_VCID_SampleCaptcha
  5. UserInput – введенная капча пользователем

Сервис возвращает данные в формате JSON, в обработке используется простая обработка результата для возможности запуска на разных платформах, поэтому возможно появление служебных символов, на данный момент результат обработки приемлемый.

Скачать файлы

Наименование Файл Версия Размер
Проверка ТТН
.epf 7,89Kb
22.07.16
32
.epf 7,89Kb 32 Скачать

См. также

Комментарии
1. Алексей Хачак (ahachak) 14 22.07.16 08:43 Сейчас в теме
Спасибо, полезная обработка.
2. Денис Денисовский (апостол) 32 24.10.16 12:25 Сейчас в теме
Геннадий, как и обещал ставлю лайк за обработку. Хорошая вещь. Спасибо большое
3. Геннадий Жаркой (ifal) 186 24.10.16 13:43 Сейчас в теме
4. Роман Борисовский (imbaZeratul) 18 20.04.17 15:47 Сейчас в теме
5. Геннадий Жаркой (ifal) 186 20.04.17 16:07 Сейчас в теме
(4) Нет, необходимости не было.
6. Роман Борисовский (imbaZeratul) 18 20.04.17 17:46 Сейчас в теме
(5) А возможно такое сделать для 1с 77?
7. Геннадий Жаркой (ifal) 186 20.04.17 18:17 Сейчас в теме
(6) Препятствий не вижу: 77 с com-объектами работает, картинки отображает, html-поля только нет, но можно ответ распарсить и вывести уже как угодно.
8. Владимир Павлов (astratek) 20.07.17 13:45 Сейчас в теме
Может кто подскажет как отправить POST запрос на проверку статус ТТН по fsrar ID получателя?
9. Геннадий Жаркой (ifal) 186 20.07.17 14:14 Сейчас в теме
(8) что именно: Поиск по Идентификатору транспортного пакета, Поиск по Идентификатору накладной, Поиск накладной из ЕГАИС-производитель ?
10. Владимир Павлов (astratek) 20.07.17 19:09 Сейчас в теме
В обработке реализован механизм запроса исходящих ТТН, а меня интересует поиск по Идентификатору входящей накладной.
11. Геннадий Жаркой (ifal) 186 20.07.17 21:00 Сейчас в теме
(10) Я только знаю про повторный запрос в ЕГАИС входящей накладной по номеру ТТН, если это то, что вы имеете ввиду, то данную информацию вы сможете найти в руководстве по эксплуатации транспортного модуля ЕГАИС (http://egais.ru/files/documentation203.pdf) пункт 1.19. Примеры post запросов к ЕГАИС есть на infostarte, например, тут http://infostart.ru/public/398079/
12. Владимир Павлов (astratek) 21.07.17 09:05 Сейчас в теме
Во вложенном файл отметил, что меня интересует.
Повторюсь, мне нужно получить статус документа ТТН по ФСРАР ИД и номеру ТТН.
Прикрепленные файлы:
13. Владимир Павлов (astratek) 21.07.17 09:06 Сейчас в теме
Не знаю как передать значение метки, которое расположен перед fsrar ID получателя.
14. Геннадий Жаркой (ifal) 186 21.07.17 10:36 Сейчас в теме
(12) Так это я вас и спросил сначала. Надо передать эти параметры:

id - Идентификатор ТТН
owner_receiver – идентификатор ид-клиента получателя
CaptchaId - пока всегда равен SampleCaptcha
InstanceId – идентификатор капчи, который получается при первом обращении к странице с элемента с id = LBD_VCID_SampleCaptcha
UserInput – введенная капча пользователем
15. Владимир Павлов (astratek) 21.07.17 11:57 Сейчас в теме
Спасибо, но все равно отрабатывает не корректно.
Внес изменения в код
ТекстЗапроса = "";
	ТекстЗапроса = ТекстЗапроса + "id=" + ИдентификаторТТН + "&";
	// отправитель
	//ТекстЗапроса = ТекстЗапроса + "owner_id=" + КлиентИД + "&";
	// получатель
	ТекстЗапроса = ТекстЗапроса + "owner_receiver" + КлиентИД +  "&";
	ТекстЗапроса = ТекстЗапроса + "CaptchaId=" + "SampleCaptcha" + "&";
	ТекстЗапроса = ТекстЗапроса + "InstanceId=" + КапчаИД + "&";
	ТекстЗапроса = ТекстЗапроса + "UserInput=" + Капча;
...Показать Скрыть

Результат отрицательный, хотя при проверки на сайте check1.fsrar.ru документ находится.
Прикрепленные файлы:
16. Владимир Павлов (astratek) 21.07.17 11:59 Сейчас в теме
Все разобрался, поторопился нашел свою ошибку.
Пропустил знак равенства.
ТекстЗапроса = ТекстЗапроса + "owner_receiver=" + КлиентИД + "&";
Оставьте свое сообщение