Опыт разработки
Как устроена обработка и почему выбрана такая архитектура
Постановка задачи
Внешняя обработка автоматизирует ввод реквизитов контрагента и создание платёжного поручения с помощью технологий искусственного интеллекта. На вход подаётся файл с реквизитами организации — изображение, скан, PDF, а также текстовый документ TXT, HTML, Word или Excel, — который отправляется в сервис распознавания ИИ Сканер документов. В ответ приходит JSON со структурированными данными, на основе которых создаётся или обновляется элемент справочника «Контрагенты» с банковским счётом и формируется платёжное поручение.
Исходные требования
- Входные данные: файл произвольного формата — JPEG, PNG, PDF, а также текстовые документы TXT, HTML, Word (DOC, DOCX), Excel (XLS, XLSX) с реквизитами организации.
- Сервис распознавания: HTTP API, принимающий файл в multipart/form-data и возвращающий JSON с наименованием, ИНН, КПП, ОГРН, юридическим адресом, банковскими и контактными данными.
- Результат: создание или обновление контрагента, привязка банковского счёта и формирование платёжного поручения.
- Среда: типовая конфигурация на БСП 3.1+, файловый или клиент-серверный вариант, тонкий клиент.
- Ограничения: конфигурация на поддержке — решение автономное, подключается через механизм дополнительных обработок.
Архитектура решения
Архитектура разделена на два логических слоя: клиентский и серверный. Клиентский слой реализован в модуле формы обработки и отвечает за взаимодействие с сервисом распознавания. HTTP-запросы выполняются с клиента, а не с сервера 1С:Предприятия. Это принципиальное решение:
- сервер 1С часто находится в закрытом сегменте сети без доступа в интернет, тогда как у тонкого клиента такой доступ есть;
- в веб-клиенте серверные HTTP-вызовы требуют расширений безопасного режима и разрешений, что усложняет регистрацию обработки;
- в клиент-серверном варианте проксирование через сервер 1С добавляет лишний слой с таймаутами и блокировками.
Серверный слой реализован в модуле объекта обработки и выполняет операции с базой данных: поиск существующего контрагента, создание или обновление элемента справочника, запись банковского счёта и контактной информации. Эти операции требуют серверного контекста из-за объектных блокировок и доступа к регистрам сведений.
Интеграция с типовой конфигурацией
Интеграция выполнена через подсистему БСП «Дополнительные отчёты и обработки» — стандартный механизм расширения функциональности без снятия конфигурации с поддержки. Решение работает в «1С:Бухгалтерии», «1С:ERP», «1С:Управлении торговлей» и любой другой конфигурации на БСП без изменения самой конфигурации.
⚠️ Важно: для распознавания сканов, фотографий и PDF без текстового слоя выбранная языковая модель обязательно должна поддерживать функцию Vision (визуальный анализ изображений). Без Vision обрабатываются только текстовые файлы.
Установка в типовую конфигурацию
Обработка подключается как дополнительная внешняя обработка в 1С:Бухгалтерии. Файл .epf регистрируется через раздел «Администрирование → Дополнительные отчёты и обработки», после чего становится доступен пользователям без изменения самой конфигурации и снятия её с поддержки.