OneSniffer: как мы устали ловить HTTP в 1С через ЖР и написали свой сниффер

07.08.26

База данных - Журнал регистрации

Долго отлаживали интеграции через сообщения, журнал регистрации и чужие прокси. На проде это не взлетело. Собрали простой инструмент внутри платформы — смотришь запрос/ответ, повторяешь, выгружаешь curl.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
OneSniffer: Версия 0.0.0.7
.cfe 1,85Mb
3 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

P.S. Код писали руками — с болью, мемами и парой «почему оно так». ИИ помог чуть отшлифовать формулировки и эту статью. Инструмент от этого ничуть не «сгенерированный»: если что-то работает криво — виноваты мы, не нейросеть 🙂

 

Интеграция вчера отвечала 200. Сегодня - 400, таймаут или пустое тело. Пользователь уже пишет в чат. Ты в Конфигураторе. Классика.

Прод. Интеграция. Всё нормально.

 

Сначала делали «как все»,  "Сообщить()", куски JSON в журнал регистрации, временная "ЗаписьJSON" «на пять минут».

Через неделю база орёт логами, а нужного тела ответа всё равно нет. Или есть но не в том сеансе, не в том событии и без заголовков.

 

Это фиаско, братан

Когда в ЖР нашёл всё, кроме тела ответа

 

Потом поставили что то на подобии Fiddler. На своей машине красота.

На сервере 1С - «нельзя ставить стороннее ПО», сертификаты, и всё равно непонятно, какой прикладной вызов это был. Прокси видит пакеты. Бизнес-контекст живёт в коде.

 

Drake: внешний сниффер vs лог в базе

 

Нужен был не «ещё один Postman», а журнал трафика там, где живёт код: включил - увидел запрос и ответ - повторил - выгрузил в файл, curl.

Без магии «перехватим всю базу сами». Честный контракт: логируются только вызовы, которые вы сами перевели на API расширения.

 

Ожидание: перехватит всё сам. Реальность: одна обёртка - и спишь спокойно

Ожидание: перехватит всё сам. Реальность: одна обёртка - и спишь спокойно

 

Так появился **OneSniffer** - расширение сниффер HTTP внутри 1С:Предприятие 8.

Список логов — входящие и исходящие рядом

 

Что умеет, коротко:

1. Исходящий HTTP через `_HTTPСоединение._ВызватьHTTPМетод`, входящий - через `_HTTPСервис`.

2. Список логов, настройки РС/ЖР, Monaco-редактор, повтор запроса с формы.

3. Экспорт markdown / curl / код 1С, маскирует Authorization / Cookie / X-API-Key при записи.

 

Включил логирование - выбрал, куда писать и прочее...

 

Поправил запрос - отправил снова - сравнил ответ

 

Важно: это не волшебная кнопка «сниффить всю конфигурацию».

Заменил вызов на обёртку - получил лог. На проде не пишем лишнее, если не включили.

 

Исходящий трафик было:

Ответ = HTTPСоединение.ВызватьHTTPМетод(HTTPМетод, HTTPЗапрос, ИмяВыходногоФайла);

Исходящий трафик стало:

Ответ = _HTTPСоединение._ВызватьHTTPМетод(HTTPСоединение, HTTPМетод, HTTPЗапрос, ИмяВыходногоФайла, ИмяСобытия);

 

Входящий трафик:

_HTTPСервис.ЗаписатьВходящийЛог(Запрос, ИмяСобытия, Ответ, , ВремяНачалаЗамера);

 

Когда после одной замены вызова в списке наконец появился POST

Когда после одной замены вызова в списке наконец появился POST

 

Хватит читать ЖР как детектив.

Скачай OneSniffer, подключи, включи логирование, кинь тестовый запрос с формы списка - и посмотри, что ушло и что вернулось.

 

 
 Технические требования

  Режим совместимости платформы 8.3.14

 
 Описание версий

 

 
 Версия 0.0.0.7

 - настройки вынесены в РС OneSniffer_Настройки (без константы курсора ЖР);

- доработаны форма списка и Monaco;

- убраны просмотр картинок и усечение base64;

- обновлены справка и README;

- строгая типизация и стабилизация релиза.

 
 Версия 0.0.0.3

 

Как получить OneSniffer?

Можно скачать проект абсолютно бесплатно, поставив звездочку на GitHub: 

Или же отблагодарить автора (донатом), скачав расширение с этой страницы!

Проверено на следующих конфигурациях и релизах:

  • 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.11.283

Вступайте в нашу телеграмм-группу Инфостарт

HTTP интеграция отладка расширение логирование сниффер

См. также

WEB-интеграция Разработчик Аналитик 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

17568 руб.

20.12.2024    7738    35    4    

35

Сайты и интернет-магазины WEB-интеграция Системный администратор Разработчик Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM / LOGICSTARS. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM / LOGICSTAR разных брендов в одной информационной базе в ручном и автоматическом режиме.

42700 руб.

03.08.2020    25811    42    26    

30

WEB-интеграция Системный администратор Разработчик Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена по API между конфигурацией 1С:Альфа-Авто 6 и порталом LogicStar. Позволяет работать с несколькими обменами LogicStars разных брендов (CHERY, OMODA, JAECOO, EXEED, TENET) в одной информационной базе в ручном и автоматическом режиме. Поддерживается выгрузка заказ-нарядов, реализаций товаров и товарных остатков.

20740 руб.

13.05.2025    3065    6    0    

8

Журнал регистрации Системный администратор 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

История изменений реквизитов и табличных частей справочников, документов, независимых регистров сведений, возможность отката изменения, восстановление удаленных объектов, сбор статистики использования базы 1С. Альтернативный журнал регистрации.

23180 руб.

22.02.2018    39594    65    56    

60

Журнал регистрации Системный администратор 1С:Предприятие 8 1C:Бухгалтерия Платные (руб)

Конфигурация LogiCH эффективно решает проблему хранения и анализа записей журналов регистрации. Разработка использует столбцовую СУБД ClickHouse, одну из самых быстрых Big Data OLAP СУБД. Любой анализ журнала можно выполнить в одном отчете, в котором доступны все возможности СКД с учетом ограничений RLS. Количество подключаемых баз не ограничено и не влияет на скорость построения анализа.

6100 руб.

28.11.2018    24991    24    9    

49

WEB-интеграция Разработчик Пользователь 1С:Предприятие 8 1C:Бухгалтерия Управленческий учет Платные (руб)

Хорошая основа вашего решения импорта данных статистики Яндекс.Метрики в информационную базу 1С. Получение счетчиков, запрос статистики, получение данных - все в одной обработке.

5094 руб.

21.06.2022    11400    12    0    

12
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. war41k 1430 07.08.26 09:39 Сейчас в теме
2. Viktor_Ermakov 419 07.08.26 11:06 Сейчас в теме
(1) Спасибо! Сам уже пользуюсь несколько лет, вот только руки дошли до шлифовки и выпуска релиза))
mefalcon; +1 – Ответить
3. Vasvas05 27 07.08.26 11:18 Сейчас в теме
исходящий вы сами выполняется на форме, это понятно, но когда вам из другой систему приходит запрос на http, как вы его ловите для отображения данных?
4. Viktor_Ermakov 419 07.08.26 21:06 Сейчас в теме
(3) форма тут не при чем. В статье описан метод обертки для исходящих, это просто подмена платформенного метода.
Ответ = _HTTPСоединение._ВызватьHTTPМетод(Соединение, Строка(ПротоколЗапроса.Метод), Запрос, , ПротоколЗапроса.Событие);

А для входящих вы в HTTP-сервисе просто в конце делаете вызов, например:
Ответ = Новый HTTPСервисОтвет(200);
Ответ.Заголовки.Вставить("Content-Type", "application/json; charset=utf-8");
ТелоJSON = "{""service"":""OneSniffer"",""ping"":""ok""}";
Ответ.УстановитьТелоИзСтроки(ТелоJSON, КодировкаТекста.UTF8);
		
_HTTPСервис.ЗаписатьВходящийЛог(Запрос, ИмяСобытия, Ответ, , ВремяНачалаЗамера);
mefalcon; +1 – Ответить
5. Vasvas05 27 07.08.26 23:13 Сейчас в теме
(4) теперь понятно, значит надо редактивать конфу и везде где используется заменять на ваш код чтобы было логирование?
как идеи для развития еще можно посмотреть бесплатный инструмент от рарус
https://github.com/rarus/safe-rest-api-1c
https://rarus.ru/instruments/kontrol-http-servisov/
mefalcon; +1 – Ответить
6. Viktor_Ermakov 419 09.08.26 20:02 Сейчас в теме
(5) Да, нужно обернуть механизм платформы, это можно сделать в расширении, что бы не редактировать конфигурацию.
Спасибо за ссылки, обязательно ознакомлюсь!
7. Viktor_Ermakov 419 09.08.26 20:32 Сейчас в теме
(5) Посмотрел, у них только входящие логи, у меня же и входящие и исходящие. В целом инструменты похожие, разная реализация. Каждый выберет то, что ему больше подходит. Спасибо, если еще что есть кидайте.
8. mefalcon 41 15.09.26 09:24 Сейчас в теме
Хороший системный подход.
Сам такое делал, но не выкладывал, ибо пока не было времени на "шлифовку".
А, по правде сказать, эти велосипеды изобретают на каждом проекте)), затрачивая проектные и без того ограниченные ресурсы. Поэтому было бы не плохо такое готовое под рукой иметь сразу. Идеально, если бы это было в БСП из коробки, только вот у БСП нет сообщества, вроде бы, в котором допиливались бы разные удобные фичи и были бы доступны в одном месте=)
Viktor_Ermakov; +1 – Ответить
9. Viktor_Ermakov 419 18.10.26 11:44 Сейчас в теме
(8) Согласен, такая штука должна быть в БСП уж точно, в Администрировании.
Для отправки сообщения требуется регистрация/авторизация