При работе с самописными конфигурациями на платформе 1С:Предприятие 7.7 часто возникает вопрос корректного лицензирования. Поскольку платформа 7.7 является модульной, для работы конкретной конфигурации могут требоваться разные компоненты: «Бухгалтерский учет», «Оперативный учет» или «Расчет». Чтобы не переплачивать за лишние лицензии и при этом оставаться в рамках правового поля, необходимо точно определить, какие из этих модулей задействованы в коде и структуре данных вашей программы.
Рассмотрим подробнее несколько надежных способов идентификации используемых компонент, начиная от простого визуального анализа и заканчивая программными методами проверки.
Самый простой и очевидный способ — проанализировать структуру объектов в конфигураторе. Каждая компонента 1С 7.7 отвечает за определенные типы объектов метаданных. Разберем, на что именно нужно обратить внимание:
Планы счетов, Счета и Операции. Если эти разделы пусты, компонента, скорее всего, не требуется для базового функционирования.Регистры. Если там описан хотя бы один регистр (остатков или оборотов), значит, вам обязательно потребуется лицензия на «Торговлю и Склад» (или любую поставку с компонентой «Оперативный учет»).Журналы расчетов, Виды расчетов и Группы расчетов.Важно помнить: если конфигурация использует только Справочники, Документы, Константы, Перечисления и Отчеты, то она технически может работать на любой из трех компонент, так как эти объекты являются базовыми для всей платформы.
Проанализируем техническое поведение платформы при запуске. Операционная система Windows блокирует файлы, которые используются запущенным процессом. Это можно использовать для диагностики:
BIN в программных файлах 1С).Account.dll, Trade.dll и Salary.dll.Те библиотеки, которые система не позволит изменить (выдав сообщение «Файл занят другим процессом»), являются активными в данный момент. Однако будьте внимательны: если вы используете комплексный ключ защиты, платформа может инициализировать все доступные ей компоненты «про запас», даже если конфигурация их не задействует. Для чистоты эксперимента стоит оставить в папке только одну из библиотек и проверить, запустится ли программа.
Чтобы исключить субъективные факторы, мы можем написать небольшую процедуру, которая программно проверит доступность механизмов конкретных компонент. Этот код можно разместить во внешней обработке или в глобальном модуле при старте системы. Посмотрим на пример кода:
Процедура ПроверитьКомпоненты()
Попытка
ТестБух = СоздатьОбъект("БухгалтерскиеИтоги");
Сообщить("Компонента Бухгалтерский учет доступна");
Исключение
Сообщить("Компонента Бухгалтерский учет не используется или не лицензирована");
КонецПопытки;
Попытка
ТестОпер = СоздатьОбъект("Регистры");
Сообщить("Компонента Оперативный учет доступна");
Исключение
Сообщить("Компонента Оперативный учет не используется или не лицензирована");
КонецПопытки;
КонецПроцедуры
Если объект БухгалтерскиеИтоги создается успешно, это явный признак того, что в конфигурации реализован бухгалтерский функционал. Аналогично с объектом Регистры для оперативного учета.
Выясним причину, по которой иногда пустая ветка Регистры всё равно требует компоненту Trade.dll. Проанализируем настройки документов в конфигураторе. Даже если регистры не созданы, в свойствах документа могут стоять флаги, указывающие на принадлежность к определенному виду учета. Откроем любой документ, перейдем на закладку «Дополнительные» и проверим, не выбраны ли там специфические журналы или типы учета. Если документ «помечен» как объект оперативного учета, платформа будет требовать соответствующую компоненту.
Если система уже работает и ваша задача — понять, какая лицензия куплена официально, посмотрим на маркировку аппаратного ключа защиты (если используется USB- или LPT-ключ). Рассмотрим основные маркировки для 1С 7.7:
При выборе основной поставки для легализации самописного решения следует учитывать следующие правила 1С:
Таким образом, для точного определения необходимых лицензий мы рекомендуем сначала провести глобальный поиск по тексту всей конфигурации (Ctrl+Shift+F) по ключевым словам: Регистр., ПланыСчетов и ЖурналРасчетов. Если поиск не дал результатов, вы можете смело ориентироваться на минимальную поставку с любой одной компонентой.