Является ли использование 1C++ (1cpp.dll) и прямого доступа к СУБД нарушением лицензионного соглашения 1С?

Программист 1С v7.7 IT и автоматизация бизнеса
← На главную

При использовании платформы 1С:Предприятие 7.7 в высоконагруженных системах разработчики часто сталкиваются с проблемой производительности штатных механизмов. Для ускорения выборки данных и интеграции с внешними системами традиционно применяется внешняя компонента 1cpp.dll (1С++), предоставляющая возможность отправки прямых SQL-запросов к СУБД. В связи с этим возникает вопрос: насколько легитимно использование таких сторонних средств с точки зрения лицензионной политики фирмы «1С» и законодательства?

Рассмотрим подробнее официальную позицию правообладателя, юридическую сторону вопроса и технические нюансы работы с прямыми запросами.

Официальная позиция фирмы «1С»

Официальная политика лицензирования фирмы «1С» строго регламентирует способы взаимодействия с данными информационной базы. Согласно официальным разъяснениям правообладателя:

Лицензионное соглашение не позволяет использовать недокументированные фирмой «1С» средства для построения решений на платформе 1С:Предприятие. Это означает, что любые сторонние инструменты или средства СУБД разрешено задействовать только в том случае, если документация по продуктам (включая материалы 1С:ИТС) содержит явную рекомендацию использовать конкретное средство для решения поставленной задачи.

Во всех остальных ситуациях допускается использовать исключительно штатные механизмы платформы. Обращаться к данным информационной базы разрешено только через объекты платформы (например, через объект Запрос, справочники, документы и регистры). Прямой доступ к СУБД — как средствами самой базы данных, так и при помощи внешних компонент (включая 1cpp.dll) — является нарушением условий лицензионного соглашения. Данное ограничение распространяется на любые действия: чтение, запись, изменение структуры или служебных данных.

Фирма «1С» аргументирует данное ограничение необходимостью гарантировать стабильность работы механизмов системы, обеспечивать техническую поддержку и корректный переход на новые версии платформы.

Правовые аспекты и практическое применение

Проанализируем ситуацию с юридической точки зрения и в контексте реальной практики применения:

  1. Адаптация для собственных нужд: Согласно статье 1280 Гражданского кодекса РФ, законный пользователь программы имеет право на её адаптацию — то есть внесение изменений, необходимых исключительно для функционирования ПО на технических средствах пользователя, или для обеспечения взаимодействия с другими программами. На практике, если компания дорабатывает систему исключительно для внутреннего использования и не распространяет решение на рынке, фирма «1С» не выдвигает претензий и санкций.
  2. Тиражные решения и сертификация: Если разработка создается для продажи или распространения через партнерскую сеть, ситуация кардинально меняется. Конфигурация или модуль, использующий прямой доступ к СУБД через 1cpp.dll, не сможет получить сертификат «1С:Совместимо!». Это связано со рисками поломки решения при изменении структуры таблиц самой платформой.

Технические риски прямого доступа к СУБД в 1С 7.7

Помимо лицензионных ограничений, прямое изменение данных через SQL-запросы в 1С 7.7 несёт ряд серьёзных технических рисков:

  1. Разрушение целостности итогов регистров: Платформа 1С 7.7 хранит рассчитанные итоги регистров в специализированных таблицах остатков и оборотов. Если изменить данные в таблицах движений прямыми командами INSERT, UPDATE или DELETE, произойдет рассинхронизация остатков, что потребует полного пересчета итогов.
  2. Проблемы с блокировками: Внутренний менеджер блокировок 1С 7.7 не знает о транзакциях и блокировках, выполняемых через внешнее ODBC/OLE DB соединение. При параллельной работе пользователей это приводит к взаимным блокировкам (deadlocks) и аварийному завершению сеансов.

Рекомендуемые безопасные архитектурные решения

Выясним, как построить высокопроизводительную систему или интеграцию с системной шиной, соблюдая требования к стабильности и лицензированию:

  1. Гибридная схема работы: Прямые SQL-запросы через внешние библиотеки применяются исключительно для чтения данных (операции SELECT) в целях формирования тяжелых отчетов или выгрузок. Любые операции создания, редактирования и проведения документов выполняются строго через стандартный метод СоздатьОбъект и штатную бизнес-логику.
  2. Промежуточная база данных (Staging DB): Интеграционная шина обменивается данными с отдельной реляционной базой. Платформа 1С 7.7 забирает готовые пакеты из промежуточной базы или записывает их туда штатными методами (через COM-соединение или стандартный файловый обмен), не затрагивая оперативные таблицы 1С напрямую.
  3. Административная оптимизация СУБД: Для повышения производительности штатного языка 1С без использования сторонних dll выполняется регулярное обслуживание Microsoft SQL Server: перестроение и дефрагментация индексов, обновление статистики и разбиение длинных транзакций в коде 1С на мелкие порции.
← На главную