Сервис доступа к данным 1С для внешних систем
Жёлтый мост
Практика · Программисту 1С

УПП 1.3: отдать данные во внешнюю систему, не трогая конфигурацию

База большая, формы обычные, доработок за годы накопилось столько, что снимать с поддержки страшно. Разбираем, как забрать из УПП данные наружу и где она подводит сильнее, чем УТ.

Задача

"Управление производственным предприятием" 1.3 - это обычно база, которой десять лет и больше. В ней считают себестоимость, ведут производство, закрывают месяц, и она живая: в ней работают каждый день. Конфигурация давно на поддержке с изменениями, история доработок известна частично.

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

Как это решают обычно

Веб-сервисы. На УПП их пишут руками в конфигураторе и публикуют базу на веб-сервере. Значит, изменение конфигурации, Apache или IIS, белый IP и проброс портов. Отдельная сложность именно у УПП: базы часто стоят в закрытом контуре производства, и открывать его наружу не даст служба безопасности.

Выгрузка файлами по расписанию. Работает, но данные всегда вчерашние. Для остатков склада это терпимо, для производственного заказа - уже нет.

COM и прямой доступ к SQL. Прямое чтение таблиц SQL особенно соблазнительно на больших базах и особенно опасно: структура хранения 1С не документирована, итоги считаются не так, как кажется, а обновление платформы ломает запросы молча. Ошибку в себестоимости вы увидите не сразу.

Как быстрее

Путь данных: из закрытого контура наружу идет только исходящий HTTPS
1С: УПП 1.3обычные формы, база в контуре производства
Обработка Жёлтого мостаоткрытый код, конфигурация не меняется
Шлюз onecdatalink.ruочередь заданий, ключи, маскировка
ИИ-ассистент или ваше приложениепривычный ИИ-чат, код на питоне, дашборд, система качества, ТСД

Сервис "Жёлтый мост" разворачивает направление: наружу ходит сама база. В нее ставится внешняя обработка, она спрашивает у шлюза, есть ли задание, выполняет запрос внутри базы и возвращает результат. Входящих соединений в контур нет, поэтому белый IP и публикация не нужны, а служба безопасности видит только исходящий HTTPS.

Для УПП 1.3 существенны три вещи:

Запрос выполняется внутри базы на языке запросов 1С, поэтому доступны виртуальные таблицы остатков и оборотов, соединения и временные таблицы. Себестоимость и остатки берутся штатными средствами, а не собираются вручную из движений.

Так выглядит ответ на запрос остатков материалов: строки приходят в JSON, внешняя система получает готовые значения
МатериалСкладОстатокВ резервеДоступно
Лист 3 ммЦех 11240300940
Пруток 12Цех 185085
Краска сераяСклад сырья000

Как это сделать

1. Зарегистрируйтесь в кабинете и скачайте обработку для обычных форм. Если платформа 8.3.5 или ниже, возьмите сборку для старых платформ.

2. Откройте обработку в базе как внешнюю, вставьте ключ из кабинета и включите обмен. Пока окно открыто, база на связи. Для постоянной работы обмен ставится регламентным заданием.

3. Внешняя система обращается к API сервиса по ключу. Текст запроса пишете вы, отбор и период указываете сами.

Права у обработки ровно те, что у пользователя, под которым она запущена. На УПП это особенно полезно: заведите отдельного пользователя, дайте ему чтение нужных объектов, и наружу не уйдет ничего сверх них.

Что стоит знать заранее

УПП подводит не интеграцией, а нагрузкой. База большая, запросы к регистрам за год идут минутами, а во время закрытия месяца она занята своими расчетами. Ставьте период и ограничение строк, тяжелые своды считайте ночью, а не в рабочий день.

Запросы к одной базе выполняются по очереди, по одному. Если внешняя система шлет их пачками, вторая половина будет ждать. Для потока запросов держите очередь у себя, а не в шлюзе.

Отдельная особенность старых баз: доработки прошлых лет. Имена объектов и реквизитов в вашей УПП могут отличаться от типовых, поэтому первый запрос всегда проверяйте на живой базе, а не по справке.

Не уверены, как подключается именно ваша база - в 1С:Фреш, в аренде, своя серверная или файловая? Выберите свой случай на главной: покажем, что мешает и что меняет мост.

Проверьте на своей базе. Подключение занимает около пятнадцати минут: обработка из кабинета, ключ, готовый текст для ИИ. При регистрации даются три дня работы одной базы, карта не нужна.
Настроить у себя Другие задачи