• Форум работает в архивном режиме www.old.nado.in

Расширение "AIRDocLocal" для BAS конфигураций

boomzoom666

New member
Регистрация
5 Янв 2015
Сообщения
6
Реакции
0

AIRDoc - сервис распознавания документов для BAS​


AIRDocLocal — расширение BAS, которое перехватывает сетевой слой штатной обработки AIRDoc_ЗагрузкаДокументов и переадресует его с облака ai.br.org.ua на локальный Python-сервис server.py (127.0.0.1:8077), цель снять зависимость от платного облака и работать локально.

Как устроено:
Аннотациями &Вместо в заимствованном модуле AIRDoc_Сервер подменены девять методов вендора: получение превью, распознавание товаров, загрузка справочника номенклатуры в индекс, подбор номенклатуры, проверка доступа.
JSON-контракт ответов не изменён, поэтому код формы обработки остаётся нетронутым — расширение не правит конфигурацию.
Только читает: контрагентов и номенклатуру по-прежнему заводит штатный механизм AIRDoc, форма находит их сама по ЕДРПОУ и кнопкой.
Настройки (адрес, порт, SSL, токен, таймауты) лежат в ХранилищеОбщихНастроек, редактируются через обработку AIRDocLocal_Настройки.
Есть плавный откат: если локальный режим выключен или сервис недоступен — ПродолжитьВызов(), то есть поведение вендора.

В комплекте скрипты для автоматической загрузки и установки сервиса распознавания.

Примечание:
Распознает изображения .jpg, .png, но требуется довольно мощный компьютер, на моем (см. ниже) один файл обрабатывался примерно 30 мин.

У Вас недостаточно прав для просмотра ссылок. Войдите или зарегистрируйтесь.


Тестировалось на:
BAF (8.3.23.2301)
Конфигурация Business automation software for accounting, edition 2.1 (2.1.34.2)
Ноутбук (2018 года) Xiaomi Mi Notebook "Air 13.3" (Core i5 / 8 GB / Windows 11)

Открытый код без каких-либо ограничений, можно устанавливать на любое количество баз, будет работать на BAS конфигурациях с встроенным сервисом AIRDoc
 
AIRDocLocal DEMO (до 31.12.2026, для проверки срока действия используется сетевое время, получаемое по протоколу NTP с публичных серверов.)


Локальная реализация REST API AIRDoc (ai.br.org.ua) без использования расширения (используется типовой функционал).
Распознает только pdf (с текстовым слоем), xlsx, xls.

Ссылка:
У Вас недостаточно прав для просмотра ссылок. Войдите или зарегистрируйтесь.
скачивание доступно до 07.11.2026

Ниже — полная инструкция для компьютера на Windows.

1. Подготовка ПК
- Windows + Python 3.14 (скачать с python.org, при установке отметить «Add python.exe to PATH»). Проверить: python --version → должно быть 3.14.x.
- Установить зависимости (один раз, в консоли):
python -m pip install fastapi "uvicorn[standard]" pydantic python-multipart cryptography openpyxl xlrd PyMuPDF Pillow
(cryptography — только если захотите перегенерировать сертификат; для работы не нужна.)
- NTP: исходящий UDP 123 должен быть открыт в файрволе/корпоративной сети.

2. Копирование
Скопируйте папку AIRDocLocal.1.0.0.protected целиком, например в C:\AIRDocLocal.1.0.0.protected. Структуру внутри не менять (server.pyc, airdoc\, shield\, data\, run*.cmd, trust-hosts.cmd).
Сервис слушает только 127.0.0.1, поэтому 1С и AIRDoc должны быть на одном компьютере. На других ПК hosts не настраивается — перенаправление бессмысленно.

3. Настройка hosts и доверия к сертификату (один раз)
Откройте консоль от администратора, перейдите в папку сервиса и запустите:
cd C:\AIRDocLocal.1.0.0.protected
trust-hosts.cmd
Скрипт добавит 127.0.0.1 ai.br.org.ua в hosts и доверит отгруженный сертификат. Откат: trust-hosts.cmd /undo (+ ipconfig /flushdns).

4. Запуск
- Проверка «живости» без прав администратора:
run.cmd
Откроется
У Вас недостаточно прав для просмотра ссылок. Войдите или зарегистрируйтесь.
.
- Реальная работа с 1С (HTTPS 443, нужна консоль администратора):
run-hosts.cmd
Проверка:
У Вас недостаточно прав для просмотра ссылок. Войдите или зарегистрируйтесь.
.
Остановка — Ctrl+C в консоли.

5. Настройки в BAS (на этом же ПК)
- Функции для технического специалиста → Константы → Идентификатор информационной базы → любое значение.
- Функции для технического специалиста → Обработки → AIRDoc настройка → Код за ЄДРПОУ → выберите организацию.

Важные замечания
- Байткод собран на Python 3.14 — на другой версии не запустится («bad magic number»). Используйте именно 3.14.
- Не запускайте через uvicorn server:app — TLS и защита порта 443 останутся выключенными.
- Срок работы — до 31.12.2026 включительно. После этой даты сервис при старте завершится с кодом 3; если он уже запущен и полночь прошла — запросы будут отвечать 403, а check_access вернёт result: false с date_end: 31.12.2026.
 
Последнее редактирование:
Назад
Сверху