Разбор · 9 мин
Демонабор 1С: найти разрешённую функцию общего модуля
Поиск формата, правил вызова, нужной процедуры или функции и подтверждённого примера использования.
В собственной прикладной библиотеке 1С обычно уже есть разрешённая точка вызова: экспортная процедура или функция общего модуля. Прямой вызов низкоуровневой операции может обойти проверки и единый формат ошибок.
Искать нужно не просто похожий код, а разрешённую функцию общего модуля, её формат параметров, ограничения и подтверждённые примеры использования.
Карта поиска собственной библиотеки
Сначала находится назначение операции и имя общего модуля. Затем проверяются экспортность процедуры или функции, обязательные параметры, клиентский или серверный контекст, виды ошибок и требования к журналированию. Публичный корпус показывает вымышленную библиотеку Route Delivery; наличие такой функции в библиотеке команды придётся проверить отдельно в закрытом пилоте.
Разрешённая точка скрывает внутренние детали
Единая функция общего модуля может сама сформировать ключ, подготовить структуру, вызвать транспорт и привести ошибку к принятому виду. Код проекта использует её контракт и не зависит от внутреннего порядка шагов.
Разрешённая экспортная функция.
СформироватьКлючИдемпотентности.
ПодготовитьТелоЗапроса.
ВыполнитьHTTPЗапрос.
Типичные обходы, которые выглядят быстрее
Прямой HTTP-вызов, новый ключ после таймаута и запись полного тела в журнал сокращают код, но нарушают правила библиотеки. Агент должен сначала найти разрешённый путь, а не создавать второй способ интеграции.
Проверка проходит по нескольким источникам
Сигнатура сверяется с sdk/client.bsl, структура данных — с JSON Schema, порядок повтора — со стандартом идемпотентности, а журналирование — с отдельным стандартом. Наличие этих материалов в корпусе ещё не доказывает, что такой общий модуль есть в конкретной конфигурации.
Экспортная функция и внутренний помощник
В синтетическом client.bsl вызывающий код должен обращаться к экспортной СоздатьОтправление, а не напрямую к низкоуровневому ВыполнитьHTTPЗапрос. Вход учебной задачи — имя операции и версия SDK 1.2.0; ожидаемый ответ — сигнатура публичной функции и отдельно три подтверждённых локальных вызова. Эти вызовы не доказывают полный сетевой маршрут.
Решение для собственной библиотеки принимается только после проверки экспортности, серверного или клиентского контекста и примера разрешённого вызова в её исходниках. Если функция оказалась неэкспортной либо её контракт устарел, агент не должен объявлять прямой вызов допустимой заменой.
Найти путь создания отправления
В route-delivery-bsl-sdk / 1.2.0 / custom синтетический SDK разделён на клиент, модели, повторы, диагностику и ошибки.
- Спросить агента: «Найди разрешённую экспортную функцию общего модуля для создания отправления, её параметры и ограничение версии. Не утверждай, что она есть в моём проекте».
- Через search найти операцию создания, через symbol открыть экспортную функцию СоздатьОтправление.
- Через Exact подтвердить три локальных вызова, отдельно найти правила повтора и безопасного журнала.
- Решение для демо: назвать функцию и источники. Для собственного проекта отдельно подтвердить существование модуля, его экспортность, вызывающие места и тест.
Имена модулей и вся библиотека синтетические. В реальном проекте разрешённая точка должна быть подтверждена его исходниками.
Что уже можно утверждать, а что нужно проверить
- В синтетическом client.bsl определена экспортная функция и три локальные связи.
- Форматы и правила вынесены в отдельные источники.
- Фактический общий модуль проекта.
- Его экспортность, контекст и вызывающие участки.