Портал запросов: парк баз 1С одним запросом + API для ИИ-агентов
Разработка - Инструментарий разработчика
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Портал запросов
Централизованный опрос множества информационных баз 1С:Предприятия. Версия 2026.09.30.1.
Содержание
- О решении
- Установка
- Развёртывание базы портала
- Развёртывание расширения
- Ограничения и безопасность
- Поставка
Эта страница — HTML-версия документации из папки поставки. Исходные тексты: README.md, Установка.md, РазвертываниеБазы.md, РазвертываниеРасширения.md, Поставка.md.
1. О решении
Решение для централизованного опроса множества информационных баз 1С:Предприятия: выполнение запросов по списку баз, получение сведений о состоянии баз и выгрузка результатов в файлы.
Закрытых частей в решении нет: логика портала — в общих модулях, на стороне обслуживаемой базы — один HTTP-сервис расширения. Обмен идёт простым протоколом: текст запроса на входе, XML на выходе.
Решение состоит из двух частей, которые поставляются и устанавливаются отдельно:
| Часть | Куда ставится | Роль |
|---|---|---|
| Конфигурация «База портала запросов» | отдельная информационная база администратора | рабочее место: список баз, запросы, результаты, выгрузка |
| Расширение «Исполнитель портала запросов» | каждая обслуживаемая база | HTTP-сервис, который выполняет запрос и отдаёт данные |
Расширение не меняет прикладное решение: префикс объектов — ИспПЗ_, назначение расширения — «Адаптация». Его можно поставлять отдельным файлом расширения (*.cfe) и подключать к базам независимо от конфигурации портала.
Кому и зачем это нужно
Обслуживающим организациям и франчайзи, у которых много баз на сопровождении. Нужно знать состояние парка баз, не заходя в каждую вручную:
- имя и версия конфигурации в базе, поставщик, режим совместимости;
- версия платформы, под которой работает база;
- версия конфигурации, сохранённая в информационной базе — видно, прошло ли обновление (сравнение с версией конфигурации показывает расхождение);
- версия БСП и список подключённых расширений;
- дата и время сервера базы.
Сервисам, которые готовят отчёты и сводки. Портал отдаёт данные в машиночитаемых форматах (XML, CSV, XLSX) и имеет HTTP-API, поэтому может использоваться как источник данных для внешних сервисов отчётности.
ИИ-агентам и инструментам на основе моделей. HTTP-API расширения — машиночитаемый интерфейс к базе, поэтому его можно подключить к агенту как инструмент: агент получает из баз 1С данные и сведения о состоянии для ответа на запросы пользователя.
Как это работает
Рабочее место портала обслуживаемая база
(Основное рабочее место) (расширение ИспПЗ_ВыполнениеЗапроса)
| |
| POST /hs/execute/execute |
| тело: текст запроса 1С -------> | Запрос.Выполнить()
| |
| <-- XML с колонками и строками |
| |
| POST /hs/execute/info |
| (сведения о базе) -----> | Метаданные, платформа, БСП
| <-- XML: Параметр / Значение |
v
HTML на форме (закладка на базу)
выгрузка в XLSX / CSV / XML
Запросы ко всем отмеченным базам выполняются параллельно; таймаут соединения — 30 секунд.
Возможности рабочего места
| Кнопка | Действие |
|---|---|
| Пометить все / Снять все | отметить все базы (или снять отметки) |
| Показать отправляемый запрос | показать текст запроса после подстановки значений параметров |
| Сохранить параметры | записать введённые значения параметров в справочник запросов |
| Выполнить в отмеченных базах | параллельно выполнить запрос во всех отмеченных базах |
| Запрос info | параллельно получить сведения о состоянии отмеченных баз |
| Выгрузить в файлы | сохранить результаты: XLSX, CSV или XML (формат выбирается на форме) |
| Запустить в 1С:Предприятии | открыть клиент 1С:Предприятия, подключённый к базе |
Результаты показываются на закладке «Результаты»: по закладке на каждую базу, с адресом сервиса; ошибки по базам выводятся отдельным текстом.
Выгрузка результатов
- XLSX — одна книга, лист на каждую базу, имя листа — представление базы; значения записываются с сохранением типов (числа, даты).
- CSV — отдельный файл на базу, разделитель
;, кодировка UTF-8 с BOM (корректно открывается в Excel). - XML — отдельный файл на базу:
<Результат База="...">с<Колонки>,<Строки>либо<Ошибка>.
Свойства: привязка запросов к базам
Свойства определяют, какие базы попадают в список при выборе запроса.
| Где | Что означает |
|---|---|
| Справочник «Свойства баз данных» | сам классификатор: перечень возможных свойств (например, «УТ 11», «БП 3.0», «Проверяемая») |
| Табличная часть «Свойства» справочника «Базы данных» | набор свойств, которыми обладает конкретная база |
| Табличная часть «Свойства» справочника «Запросы» | набор свойств, которые требует запрос |
В список попадает база, у которой есть все свойства запроса. Если у запроса свойств нет, в список попадают все базы.
Зачем это нужно:
- Один запрос — много баз. Запрос пишется под тип конфигурации и применяется ко всем базам с этим свойством.
- Защита от ошибок. Запрос, написанный по метаданным УТ, не будет выполнен на базе бухгалтерии: она просто не попадёт в список.
- Гибкая классификация. Свойства можно заводить любые: по конфигурации, по версии, по назначению базы, по площадке.
- Комбинирование. Если у запроса указано несколько свойств, база должна иметь их все.
Примеры запросов
Вместе с решением поставляются готовые наборы запросов: их можно загрузить в справочник «Запросы» и сразу выполнять по базам.
| Файл | Для чего | Группа в справочнике |
|---|---|---|
ЗапросыБСП.txt |
конфигурации на БСП: пользователи, их активность и профили групп доступа | БСП |
ЗапросыБП.txt |
1С:Бухгалтерия предприятия 3.0: остатки и обороты по счетам | БП 3.0 |
Загружаются обработкой «Загрузка запросов» (раздел «Главное»): «Выбрать файл» → выбрать .txt → заполнить «Свойства загрузки» → «Загрузить запросы». В веб-клиенте выбор и чтение файлов недоступны.
2. Установка
Решение разворачивается в два шага: база портала, затем расширение на каждую обслуживаемую базу.
Требования
| Параметр | Значение |
|---|---|
| Платформа 1С:Предприятие | не ниже 8.3.27 (конфигурация портала); расширение совместимо с 8.3.26 и выше |
| Версия конфигурации портала | 2026.09.30.1 |
| Версия расширения | 2026.09.30.1 |
| Язык конфигурации | русский |
| Режим запуска портала | управляемое приложение |
| БСП | не требуется |
| Веб-сервер | требуется на каждой обслуживаемой базе (для публикации HTTP-сервиса) |
Порядок установки
- Развернуть базу портала — одним из двух способов:
- из файла поставки конфигурации
1Cv8.cf: создать информационную базу без конфигурации и загрузить в неё файл — Конфигуратор: «Конфигурация → Загрузить конфигурацию из файла...»; - из выгрузки базы
1Cv8.dt— быстрый старт: создать информационную базу без конфигурации и загрузить в неё файл — Конфигуратор: «Администрирование → Загрузить информационную базу...». В такой базе конфигурация уже загружена, а данные очищены.
- из файла поставки конфигурации
- Установить расширение на обслуживаемые базы — добавить расширение из файла
*.cfeв Конфигураторе. Подробно — раздел «Развёртывание расширения». - Опубликовать обслуживаемые базы на веб-сервере с включённой публикацией HTTP-сервисов расширений. Без публикации адреса
/hs/execute/...недоступны. - Настроить портал — заполнить справочники «Свойства баз данных», «Базы данных», «Запросы» и проверить подключение.
Проверка подключения
# ServicedBase — имя, под которым опубликована обслуживаемая база
curl -X POST "http://server/ServicedBase/hs/execute/info"
Успешный ответ — XML с таблицей параметров базы. Если ответа нет — проверить публикацию базы, установку расширения и доступность порта веб-сервера.
Что делать при обновлении
- Конфигурация портала — загрузить новый файл
*.cfи обновить конфигурацию базы данных. - Расширение — заменить файл расширения на обслуживаемых базах и применить изменения: в Конфигураторе либо из Портала.
3. Развёртывание базы портала
База портала — отдельная информационная база, в которой ведётся список обслуживаемых баз, хранятся тексты запросов и выполняются обращения к базам через HTTP-сервис.
3.1. Создание информационной базы и загрузка конфигурации
- Создать отдельную информационную базу (файловую или клиент-серверную).
- Загрузить в неё конфигурацию «База портала запросов»:
- из файла поставки
*.cf— «Конфигурация» → «Загрузить конфигурацию из файла»; - либо собрать из исходников проекта
ПорталЗапросовсредствами EDT.
- из файла поставки
- Обновить конфигурацию базы данных и принять изменения.
Пользователи и их права настраиваются средствами информационной базы: собственных ролей в конфигурации портала нет.
3.2. Первый сеанс
Отдельных действий при первом сеансе не требуется. Ключ шифрования паролей — значение константы «Ключ шифрования паролей» — создаётся автоматически при первой записи пароля доступа к базе в справочнике «Базы данных»: пока паролей нет, константа остаётся пустой.
Ключ шифрования входит в резервную копию базы портала. При потере ключа пароли баз придётся вводить заново.
3.3. Публикация базы портала
Публикация нужна только для работы через веб-клиент: в толстом и тонком клиенте портал обращается к обслуживаемым базам напрямую с компьютера пользователя. Протокол публикации самого портала выбирается свободно — он влияет только на доступ к порталу, не на опрос баз.
3.4. Начальное заполнение
- Справочник «Свойства баз данных» — заполнить свойства, по которым запросы привязываются к базам (например, «УТ 11», «БП 3.0», «Промышленная»).
- Справочник «Базы данных» — добавить базы: адрес сервиса, пользователь, пароль, свойства. Адрес указывается без пути
/hs/...— только корень публикации, напримерhttp://server/ServicedBase, гдеServicedBase— имя, под которым опубликована обслуживаемая база (не база портала). Справочник иерархический: базы можно группировать (до двух уровней). - Справочник «Запросы» — создать запросы: текст запроса, параметры, свойства (к каким базам применим). Текст удобно набирать через кнопку «Конструктор запроса» в форме элемента справочника.
- Рабочее место «Основное рабочее место» — выбрать запрос, отметить базы, выполнить.
3.5. Проверка
curl -X POST "http://server/ServicedBase/hs/execute/info"
Проверяется обращение к обслуживаемой базе: успешный ответ — XML с таблицей параметров базы. Если ответа нет — проверить публикацию обслуживаемой базы, установку расширения и доступность порта веб-сервера.
Проверить саму базу портала можно, открыв рабочее место и выполнив запрос info по отмеченным базам — результат или текст ошибки показывается на закладке «Результаты».
3.6. Доступ и права
База портала. Ролей в конфигурации портала нет: работа ведётся под правами пользователя информационной базы, а разграничение доступа выполняется средствами самой базы. Разграничение доступа средствами конфигурации — отдельная задача, которая в текущей версии не решалась.
Обслуживаемые базы. Сервис выполняется от имени пользователя, указанного в реквизите «Пользователь» элемента справочника «Базы данных», — это учётная запись обслуживаемой базы, не портала. Создание этого пользователя и назначение ему прав — на усмотрение администратора обслуживаемой базы.
Рекомендации администратору базы:
- завести для портала отдельного пользователя, а не использовать учётную запись администратора — тогда доступ ограничен только теми данными, которые нужны запросам портала;
- при этом выдача административных прав — допустимый вариант, если так удобнее администратору: решение о правах принимается на стороне обслуживаемой базы;
- для служебного пользователя полезно запретить интерактивный вход;
- пароль пользователя вводится в справочнике «Базы данных» портала и хранится в зашифрованном виде.
3.7. Хранение паролей
Пароли пользователей баз хранятся в справочнике «Базы данных» в зашифрованном виде:
- пароль преобразуется обратимым алгоритмом (поразрядное XOR с ключом) и кодируется Base64;
- ключ хранится в константе «Ключ шифрования паролей»;
- в форме элемента справочника пароль вводится и отображается в открытом виде, в базу данных записывается только зашифрованное значение.
Важно. Применённое преобразование — обратимое, криптостойким оно не является: оно защищает пароль от случайного просмотра в базе, но не от целенаправленной расшифровки при наличии доступа к базе портала. Для более строгой защиты рекомендуется перейти на
БезопасноеХранилищеДанныхбиблиотеки стандартных подсистем или на КриптоМенеджер.Ключ шифрования и пароли баз следует хранить в резервной копии базы портала: при потере ключа пароли придётся вводить заново.
4. Развёртывание расширения
Расширение «Исполнитель портала запросов» ставится на каждую обслуживаемую базу и публикует HTTP-сервис, через который портал выполняет запросы и получает сведения о базе.
Расширение не меняет прикладное решение: префикс объектов — ИспПЗ_, назначение — «Адаптация». Конфигурация базы не снимается с поддержки и не изменяется.
4.1. Сборка файла расширения
Файл *.cfe собирается из проекта ПорталЗапросов.ИсполнительПорталаЗапросов средствами EDT либо выгружается из Конфигуратора («Расширения конфигурации» → «Сохранить в файл»).
4.2. Первичная установка на обслуживаемой базе
Установить расширение можно в Конфигураторе или в тонком клиенте.
В Конфигураторе:
- Открыть базу в Конфигураторе, раздел «Расширения конфигурации».
- Добавить расширение из файла
*.cfeи применить его. - Убедиться, что расширение включено (состояние — «Активно»).
В тонком клиенте — пользователю нужно право «Администрирование расширений конфигурации»:
- Меню → «Все функции» → «Для технического специалиста» → «Управление расширениями конфигурации».
- Нажать «Добавить из файла», указать
*.cfeи подтвердить предупреждение о загрузке расширения. - Перезапустить сеанс, чтобы изменения применились.
Сеанс обслуживаемой базы можно открыть прямо из портала: в справочнике «Базы данных» есть команда «Запустить в 1С:Предприятии».
Безопасный режим нужно отключить. Платформа при добавлении расширения включает у него флажок «Безопасный режим» автоматически, а в безопасном режиме расширение работает с ограничениями. Снимите флажок «Безопасный режим» в списке расширений; в клиент-серверном варианте вместо этого можно указать имя профиля безопасности, разрешающего расширение модулей.
Первичную установку нужно выполнить в Конфигураторе или в тонком клиенте: пока расширения в базе нет, метода extension в ней тоже нет, поэтому установить расширение из Портала «с нуля» нельзя.
4.3. Публикация HTTP-сервиса — обязательна
Чтобы портал мог обратиться к базе, база должна быть опубликована на веб-сервере: без публикации адреса /hs/execute/... недоступны. Требования:
- база опубликована на веб-сервере 1С:Предприятия;
- расширение с HTTP-сервисом установлено и применено;
- HTTP-сервисы публикуются вместе с базой по адресу
/hs/<корень сервиса>/<шаблон>; - HTTP-сервис поставляется расширением, поэтому в настройках публикации базы на закладке «HTTP-сервисы» должен быть установлен флажок «Публиковать HTTP сервисы расширений по умолчанию» — без него адрес
/hs/execute/...на обслуживаемой базе недоступен; - база может быть опубликована как по
http, так и поhttps: протокол и порт портал берёт из адреса базы в справочнике «Базы данных»; - при
httpsсертификат сервера не проверяется, поэтому самоподписанные сертификаты работают без дополнительной настройки; - порт веб-сервера должен быть доступен с той машины, где выполняется обращение к базе: в тонком и толстом клиенте это компьютер пользователя, в веб-клиенте — сервер 1С. При необходимости — VPN или обратный прокси.
4.4. Обновление из Портала
Обновить расширение можно, не заходя в Конфигуратор, — методом POST <корень>/hs/execute/extension. Портал передаёт методу файл расширения, база устанавливает его средствами платформы.
Первичную установку этим методом выполнить нельзя: пока расширения в базе нет, метода extension в ней тоже нет. Установка без Конфигуратора — из портала: в справочнике «Базы данных» есть команда «Запустить в 1С:Предприятии», в открывшемся сеансе расширение ставится через «Управление расширениями конфигурации» (см. п. 4.2).
Условия:
- требуются права «Администрирование» (для снятия безопасного режима) и «Администрирование расширений конфигурации» (для установки); без них база вернёт ошибку
403с понятным текстом; - безопасный режим устанавливаемого расширения отключается: установка из Портала выполняется без интерактивного подтверждения. Если предполагается установка из Портала, безопасный режим расширения нужно держать выключенным;
- изменения применяются к новым сеансам базы: работающие пользователи продолжают работать со старым составом расширений и увидят новую версию после перезапуска;
- этим способом расширение только обновляется — первичная установка выполняется в Конфигураторе или из портала, запустив базу из справочника «Базы данных».
4.5. Обновление версий
Заменить файл расширения на новую версию и применить изменения — в Конфигураторе, в тонком клиенте либо из Портала. Конфигурация базы при этом не изменяется.
4.6. Проверка
# ServicedBase — имя, под которым опубликована обслуживаемая база
curl -X POST "http://server/ServicedBase/hs/execute/ping"
Успешный ответ — XML с подтверждением доступа к базе. Сведений о базе метод ping не отдаёт — для них предназначен метод info (кнопка «Запрос info» на рабочем месте).
5. Ограничения и безопасность
- Сервис выполняет произвольный текст запроса на языке запросов 1С. Код на встроенном языке не исполняется; язык запросов умеет только выбирать данные (чтение, без записи).
- Доступ к данным определяется пользователем, под которым сервис аутентифицирован в целевой базе.
- Результаты и сведения о базах не кэшируются: каждое нажатие кнопки — новое обращение к базам.
- Таймаут соединения с базой — 30 секунд; при большом объёме выборки запрос следует ограничивать (
ПЕРВЫЕ, условия отбора, агрегаты вместо детальных строк). - Результат передаётся в ответе целиком; упаковка (
X-Pack: 1) сокращает объём передачи, но не снимает ограничения по объёму. Портал держит ответ целиком в памяти, поэтому многомегабайтные ответы нежелательны. - Сведения о платформе и о БСП в методе
infoчитаются в безопасном режиме и не зависят от наличия БСП. - Пароли баз зашифрованы обратимо — см. раздел «Хранение паролей».
- При работе по
httpsсертификат сервера не проверяется — это осознанное решение, чтобы базы с самоподписанными сертификатами работали без дополнительной настройки. Строгая проверка TLS-сертификата сейчас не выполняется.
Назначение базы портала. База портала запросов — это пример использования HTTP-сервиса и инструмент для отладки запросов к базам. Промышленный регламентный сбор данных в ней не предполагается: регулярный сбор и накопление результатов выполняются на стороне сервисов отчётности, которые обращаются к базам через HTTP-API.
6. Поставка
6.1. Состав дистрибутива
| Файл | Что это | Для чего |
|---|---|---|
1Cv8.dt |
выгрузка информационной базы: конфигурация портала загружена, данные очищены | быстрый старт базы портала |
1Cv8.cf |
файл поставки конфигурации «База портала запросов» | развёртывание базы портала; база ставится на поддержку |
1Cv8.cfu |
файл обновления конфигурации | обновление ранее развёрнутой базы портала |
ИсполнительПорталаЗапросов.cfe |
файл расширения «Исполнитель портала запросов» | установка на каждую обслуживаемую базу |
| документация | README.md, Установка.md, РазвертываниеБазы.md, РазвертываниеРасширения.md, Поставка.md, Документация.html |
описание решения и порядка развёртывания |
ЗапросыБСП.txt, ЗапросыБП.txt |
примеры запросов | загрузка в справочник «Запросы» |
В поставку не входит служебная внешняя обработка подготовки пустой базы (ПорталЗапросов_ПодготовкаНачальнойБазы.epf): это инструмент разработчика, он нужен только при сборке дистрибутива.
6.2. Версии релиза
| Параметр | Значение |
|---|---|
| Версия конфигурации портала | 2026.09.30.1 |
| Версия расширения | 2026.09.30.1 |
| Режим совместимости конфигурации | 8.3.26 |
| Режим совместимости расширения | 8.3.26 |
| Режим совместимости расширений конфигурации | 8.3.27 |
| Поставщик | «Сервис-квадрат», mail@rokhin.ru |
Требования к релизу: версии конфигурации и расширения в одном релизе совпадают; режим совместимости расширения не выше режима совместимости основной конфигурации; у расширения заполнены назначение («Адаптация») и префикс имён (ИспПЗ_).
6.3. Комплект поставки
Если дистрибутив нужно передать одним архивом с установщиком, в Конфигураторе есть «Конфигурация → Поставка конфигурации → Комплект поставки...». Он собирает .zip, внутри которого файл 1cv8.efd (в нём — .cf поставки, .cfu и .dt), дополнительные файлы и установщики setup.exe / setup / setup.app. Файл расширения .cfe и документацию в комплект придётся добавить отдельно — в .efd они не попадают.
6.4. Проверка перед передачей
| Что проверить | Как |
|---|---|
| Версии конфигурации и расширения совпадают | свойства конфигурации и расширения в EDT |
| Режим совместимости расширения не выше конфигурации | свойства расширения в EDT |
| База портала пуста | открыть справочники и константу в загруженном .dt |
| Расширение устанавливается | установить .cfe в тестовую базу и обновить конфигурацию базы данных |
| Сервис отвечает | curl -X POST "http://server/ServicedBase/hs/execute/info" |
| Примеры запросов загружаются | обработка «Загрузка запросов» в базе портала |
6.5. Планы развития
- Свойства баз и готовые запросы для типовых конфигураций (УТ, БП и других) в составе поставляемой базы.
- Готовый адаптер для ИИ-агентов (набор инструментов или MCP-сервер) поверх HTTP-API.
- При необходимости: журнал опросов, порядок обновления решения на парке баз, ротация ключа шифрования паролей.
Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.207.25
Вступайте в нашу телеграмм-группу Инфостарт