При развертывании и администрировании решений на платформе «1С:Предприятие» технические специалисты и руководители ИТ-отделов часто сталкиваются с дилеммой выбора между базовой и ПРОФ-версиями программных продуктов. Бытует множество мифов о том, как ведут себя базовые версии в различных инфраструктурных сценариях. Например, можно ли запустить базовую конфигурацию на полнофункциональном сервере приложений, или заработает ли многопользовательский режим, если приобрести многопользовательский сетевой ключ защиты (лицензию ПРОФ)?
В этой статье мы подробно проанализируем внутреннее устройство ограничений «1С», разберем разницу между платформенными запретами и ограничениями на уровне программного кода конфигурации, а также выясним, с какими «подводными камнями» можно столкнуться при попытке оптимизировать расходы компании за счет базовых версий.
Для понимания принципов работы систем «1С» необходимо четко разделять два понятия: базовая лицензия платформы и базовая конфигурация. Очень часто их путают, что приводит к ошибочным архитектурным решениям.
Рассмотрим подробнее каждый из этих компонентов:
Выяснив эту разницу, мы можем перейти к анализу нестандартных сценариев интеграции, когда базовая конфигурация запускается в программной среде уровня ПРОФ.
Типичный сценарий, который часто пытаются реализовать системные администраторы: в компании есть сетевой ключ защиты (USB или программные лицензии ПРОФ) на несколько рабочих мест. Что произойдет, если запустить базовую конфигурацию под этой ПРОФ-лицензией? Позволит ли система работать нескольким сотрудникам одновременно?
Проанализируем техническую сторону этого процесса. Поскольку платформа запущена под лицензией ПРОФ, она успешно разрешит запуск нескольких клиентских сеансов к одной файловой базе данных. Несколько пользователей действительно смогут войти в программу, открывать журналы документов, формировать отчеты и просматривать справочники. Платформенного запрета в данном случае нет.
Однако при попытке любого изменения данных вступает в силу программный код самой конфигурации. В базовых прикладных решениях разработчики «1С» встроили жесткие проверки количества активных соединений. Как только пользователь пытается записать новый элемент справочника или провести документ, срабатывают обработчики событий (например, ПередЗаписью или ПриЗаписи).
Примерная упрощенная схема этой проверки в коде выглядит следующим образом:
Процедура ПередЗаписьюДокумента(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
Если СтандартныеПодсистемыСервер.ЭтоБазоваяВерсияКонфигурации() Тогда
АктивныеСоединения = ПолучитьСоединенияИнформационнойБазы();
Если АктивныеСоединения.Количество() > 1 Тогда
Отказ = Истина;
ВызватьИсключение "Ограничение базовой версии. Базовая версия не поддерживает одновременную работу нескольких пользователей.";
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Как мы видим из логики кода, система моментально заблокирует транзакцию записи и выведет ошибку. Таким образом, полноценная совместная работа нескольких пользователей в базовой конфигурации технически невозможна, даже если у вас установлены самые дорогие лицензии ПРОФ или КОРП. Записать или провести документ сможет только тот пользователь, чей сеанс оказался единственным в базе на момент транзакции.
Описанное выше ограничение на совместную работу таит в себе скрытую проблему, с которой может столкнуться даже один-единственный работающий в базе бухгалтер. Речь идет о механизме РегламентныеЗадания и фоновых процессах.
Современные конфигурации 1С (особенно на управляемых формах, такие как БухгалтерияПредприятия редакции 3.0) активно используют фоновые процессы для выполнения служебных задач:
Когда платформа запускает фоновое задание в файловой базе, операционная система регистрирует это задание как отдельный сеанс. Для конфигурации это выглядит так, будто в базе в данный момент находятся два пользователя: реальный бухгалтер и служебный процесс платформы.
В этот момент бухгалтер пытается провести документ или закрыть месяц, и конфигурация, отрабатывая стандартную проверку количества соединений, находит два активных сеанса. Программа выдает ошибку: «Ограничение базовой версии...» и прерывает операцию. Чтобы избежать подобных коллизий в файловом режиме, администраторам приходится перенастраивать расписание регламентных заданий на нерабочее время или принудительно отключать их выполнение в настройках программы.
В сообщении форума автор указывает, что успешно запускал базовую «Бухгалтерию предприятия 3.0» на сервере приложений 1С, и она «прекрасно себя чувствовала». Разберем, насколько жизнеспособен такой сценарий.
Технически это абсолютно реально. Если сервер 1С и клиентские компьютеры обеспечены ПРОФ-лицензиями, вы можете загрузить файл конфигурации базовой версии в клиент-серверную базу (на СУБД MS SQL или PostgreSQL). Платформа без проблем развернет базу на сервере. Более того, производительность некоторых ресурсоемких операций (например, групповое перепроведение документов) в серверном варианте может возрасти.
Однако здесь мы сталкиваемся с двумя критическими ограничениями:
Именно поэтому использование связки «сервер + базовая конфигурация» не имеет практического смысла для организации совместной работы.
Помимо лимита на количество пользователей и ведение только одной организации в одной информационной базе, в код базовых версий разработчиками внедрены и другие специфические механизмы контроля:
В некоторых специализированных или акционных поставках (таких как «1С:БизнесСтарт» или спецпредложения «для одного») ограничение на ведение одной фирмы реализовано на уровне контроля ИНН. При первом запуске и регистрации базы пользователь указывает ИНН своей компании. В дальнейшем встроенные механизмы конфигурации блокируют любую возможность изменения этого реквизита в карточке организации. Вы не сможете переписать базу на другое юридическое лицо или использовать ее для ведения учета новой компании в случае закрытия старой.
В базовых конфигурациях (например, в «1С:Зарплата и управление персоналом») максимально упрощена система разграничения прав доступа. В таких решениях технически невозможно настроить профили групп доступа для разных сотрудников (например, ограничить доступ кадровика только кадровыми документами, а расчетчика — начислениями). Платформа принудительно назначает всем пользователям полные административные права, что исключает возможность безопасного делегирования полномочий внутри одной базы.
Расширения конфигурации — современный инструмент, позволяющий кастомизировать программу без изменения основного кода и снятия с поддержки. Поведение расширений в базовых версиях напрямую зависит от лицензии платформы:
Попытки обойти ограничения базовых версий «1С» путем использования серверных платформ или многопользовательских лицензий ПРОФ не дают ожидаемого эффекта совместной работы. Разработчики применили комплексный подход: ограничения заложены как в ядро платформы, так и непосредственно в программный код конфигураций. Любая попытка параллельной работы приведет к неизбежным блокировкам транзакций при записи документов.
Базовые версии остаются отличным, экономичным решением для индивидуальных предпринимателей, малых предприятий с одним бухгалтером или для ведения учета на аутсорсинге. Для любых задач, предполагающих масштабируемость, многопользовательский ввод данных или интеграцию в корпоративную сеть компании, необходимо приобретать полноценные версии линейки ПРОФ.