При работе с программным продуктом 1С:Комплексная автоматизация 2 (КА 2) специалисты часто сталкиваются с ситуацией, когда в конфигураторе видны определенные реквизиты или элементы форм, но в пользовательском режиме они отсутствуют. Одной из таких загадочных настроек является флаг «Подразделение-диспетчер» в справочнике СтруктураПредприятия. Рассмотрим подробно, почему эта настройка скрыта, как система определяет ее видимость и стоит ли пытаться включить ее принудительно.
Для начала проанализируем ситуацию с точки зрения разработки. Конфигурации «1С:ERP Управление предприятием» и «1С:Комплексная автоматизация 2» построены на единой кодовой базе. Это означает, что дерево объектов метаданных у них практически идентично. Разработчики фирмы «1С» не создают две разные конфигурации с нуля, а используют методику исключения (вырезания) определенного функционала из старшей конфигурации (ERP) для получения младшей (КА).
В результате такого подхода в 1С:Комплексная автоматизация остаются «артефакты»:
Реквизит ПодразделениеДиспетчер в справочнике СтруктураПредприятия — это как раз такой случай. В ERP он необходим для работы подсистемы управления производством версии 2.5, где диспетчер отвечает за график производства и формирование этапов.
Разберем, как система управляет интерфейсом. Автор вопроса заметил в коде проверку, которая напрямую влияет на отображение группы настроек на форме подразделения. Проанализируем типовой фрагмент кода, который встречается в модулях форм:
// Пример логики управления видимостью
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Определяем, является ли текущая конфигурация Комплексной автоматизацией
ЭтоКА = ОбщегоНазначения.ЭтоКА();
// Управление видимостью группы "Подразделение-диспетчер"
Элементы.ГруппаПодразделениеДиспетчер.Видимость = НЕ ЭтоКА;
КонецПроцедуры
На первый взгляд кажется, что достаточно изменить значение константы или переопределить переменную ЭтоКА, чтобы настройка появилась. Однако в современных версиях систем на базе ERP (начиная с 2.4 и 2.5) управление интерфейсом стало гораздо сложнее. Оно базируется на Функциональных опциях (ФО).
Выясним причину, по которой простое изменение кода не помогает. Помимо прямой проверки типа конфигурации, видимость реквизита ПодразделениеДиспетчер привязана к функциональной опции, отвечающей за использование методики управления производством 2.5.
В 1С:КА 2 функционал производства существенно ограничен:
Даже если программно «выдавить» галочку на форму через механизм Изменить форму или прямой правкой модуля, это не приведет к желаемому результату. Внутренние механизмы проведения документов и построения аналитических отчетов в КА 2 просто не содержат логики обработки этого флага. Система будет игнорировать статус подразделения как «диспетчера», так как в алгоритмах нет обращений к этой роли подразделения в контексте управления очередью заказов.
Рассмотрим подробнее методологический аспект. В полной версии ERP подразделение-диспетчер — это административный узел, который «видит» все производство целиком, распределяет этапы между выпускающими подразделениями и контролирует сроки исполнения всего заказа в целом.
В 1С:КА 2 реализована децентрализованная модель. Здесь каждое подразделение само отвечает за свои выпуски, а координация между ними происходит на уровне документов обеспечения (заказов на перемещение, заказов материалов). Понятие «Глобального диспетчера», которое активирует данный реквизит, в методологии КА 2 отсутствует по определению. Именно поэтому разработчики скрыли этот функционал на уровне ядра системы.
Если в вашей организации возникла острая потребность в использовании подразделений-диспетчеров, возможны два пути решения ситуации:
Проанализировав ситуацию, мы приходим к выводу, что отсутствие настройки «Подразделение-диспетчер» в 1С:КА 2 — это не ошибка и не случайное скрытие элемента. Это сознательное ограничение функционала, связанное с позиционированием продукта.
Попытки включить видимость через код константы КомплекснаяАвтоматизация малоэффективны, так как функционал глубоко интегрирован с подсистемой планирования, которая в КА 2 вырезана программно. Для полноценной диспетчеризации производства рекомендуется использовать соответствующее решение — 1С:ERP Управление предприятием.