Универсальный Python-коннектор к 1С - COM, HTTP, запросы, метаданные, поиск по GUID
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
1. Подключение к базе 1С
Приложение поддерживает два способа подключения:
COM-соединение (файловая база):
- Указываете путь к папке базы (где лежит `1Cv8.1CD`)
- Логин и пароль пользователя 1С
- Приложение автоматически находит папку `bin` платформы 1С и загружает `V83.COMConnector`
HTTP-соединение (веб):
- URL базы (например, `http://localhost/UT11`)
- Автоматически обращается к `{url}/hs/connector/execute1`
- Авторизация через Basic Auth (UTF-8)

Особенности реализации:
- Автоматический поиск `bin`-папки платформы 1С (обход `C:\Program Files\1cv8`)
- Ленивая загрузка COM-модулей (`win32com`, `pythoncom`) — до первого подключения не импортируются
- Сохранение настроек подключения в `1c_connector_config.json`
2. Выполнение запросов
Два режима выполнения запросов:
Режим «Прямой запрос» (Ctrl+Q или меню «Инструменты»):
- Окно с полем ввода текста запроса на языке 1С
- Результат отображается в таблице с колонками из запроса
- Экспорт результата в CSV

Режим «Просмотр объекта» (основное окно):
- Выбор типа объекта (Справочники, Документы, Регистры и т.д.)
- Выбор конкретного объекта из выпадающего списка
- Фильтрация по полям (в т.ч. по GUID для ссылочных реквизитов)
- Двойной клик по строке — открытие карточки объекта
3. Просмотр метаданных
Приложение отображает полное дерево метаданных конфигурации:
Ключевые особенности:
- Автоматическое определение ссылочных полей — для них выводится `ПРЕДСТАВЛЕНИЕ()` вместо внутреннего представления COM
- Для каждого ссылочного поля дополнительно извлекается GUID (`УНИКАЛЬНЫЙИДЕНТИФИКАТОР()`)
- Двойной клик по строке таблицы — открытие карточки объекта с полными данными
- Поддержка табличных частей — отображаются на отдельных вкладках
- Фильтр по любому полю с поддержкой подстроки, даты и GUID
4. Глобальный поиск по GUID
Одна из самых полезных функций. Вводите GUID (UUID) — происходит поиск его **во всех объектах базы**:
1. Прямой поиск — является ли этот GUID идентификатором какого-либо объекта (документа, справочника, элемента плана счетов)
2. Поиск в реквизитах — используется ли объект с этим GUID в реквизитах других справочников и документов
3. Поиск в табличных частях — присутствует ли ссылка в табличных частях документов
4. Поиск в регистрах — записи регистров, связанные с объектом
Двойной клик по строке результата открывает карточку найденного объекта.
5. Экспорт и импорт данных
Экспорт в CSV:
- Любой результат запроса можно экспортировать в CSV
- Для ссылочных полей экспортируются и представление, а GUID — позволяет потом импортировать обратно
- Разделитель `;`, кодировка UTF-8 с BOM (для корректного открытия в Excel)
Импорт из CSV:
- Загрузка реквизитов объектов из CSV-файла
- Загрузка значений констант
- Автоматическое загрузка ссылок: по GUID → по наименованию → по коду
- Поддержка различных форматов дат (`ДД.ММ.ГГГГ`, `ГГГГ-ММ-ДД`, `YYYYMMDD` и др.)
6. Безопасный режим
При первом запуске включён безопасный режим:
- Ограничение количества выбираемых строк (защита от случайного `ВЫБРАТЬ *` на миллионах записей)
- Запрет на экспорт (предотвращение случайной утечки данных) и импорт(предотвращение загрузки некорректных данных)
- Запрет на поиск по GUID (ресурсоёмкая операция)
- Для снятия — подтверждение: «Рекомендуется сделать резервную копию базы»
7. Горячие клавиши
8. Настройка HTTP-подключения (веб-сервис в 1С)
Для подключения через HTTP необходимо добавить HTTP-сервис в конфигурацию 1С.
Пошаговая инструкция прикладывается
Установка и запуск
Вариант А: Запуск из исходников (для разработчиков)
Вариант Б: Готовый EXE (для пользователей)
Распакуйте архив → запустите `1C_Connector.exe`. Настройки автоматически сохраняются в `1c_connector_config.json` рядом с EXE.
Регистрация COM (при необходимости)
Если при подключении возникает ошибка «COM не зарегистрирован»:
1. Закройте все окна 1С
2. Запустите `register_1c_com.bat` от имени администратора
Сценарии использования
Сценарий 1: Быстрый запрос к базе
Сценарий 2: Найти объект по GUID из лога
Сценарий 3: Просмотр данных справочника с фильтром
Сценарий 4: Выгрузка данных в CSV
Сценарий 5: Удалённая работа через HTTP
Технические детали реализации
Одна из ключевых сложностей — работа с COM-объектами 1С из Python. COM-объект может содержать вложенные ссылки, которые при прямом приведении к строке дают ошибку. Приложение обрабатывает это автоматически:
Кеширование метаданных
Метаданные загружаются один раз и кешируются в памяти — повторные обращения не генерируют запросы к базе:
Заключение
Это универсальный инструмент для работы с данными 1С:Предприятие из внешнего приложения. Он объединяет несколько возможностей, которые обычно требуют разных инструментов:
- Консоль запросов → Прямой запрос (Ctrl+Q)
- Просмотр метаданных
- Поиск объекта по GUID → Глобальный поиск (Инструменты → Поиск по GUID)
- Выгрузка в Excel → Экспорт CSV в один клик
- Загрузка данных → Импорт из CSV с автоматическим разрешением ссылок
Приложение подходит как для разработчиков (быстрый доступ к данным без конфигуратора), так и для администраторов и продвинутых пользователей (просмотр и выгрузка данных без знания языка запросов 1С).
Буду рад обратной связи. Код полностью открыт.
Вступайте в нашу телеграмм-группу Инфостарт

