К статье
Практический материал

Разработка и Конфигурация · 9 мин

Как включить константу в подсистему в 1С

Разбираем, как включить константу в подсистему в 1С: через конфигуратор и командный интерфейс. Проверка результата, типичные ошибки и ответы на вопросы.

Константа в 1С хранит единственное значение, доступное всей конфигурации: наименование организации, валюту учёта, функциональные опции. Чтобы пользователь увидел константу в интерфейсе, её нужно включить в подсистему — иначе она останется невидимой в командном интерфейсе и на панелях разделов.

Подсистема в 1С — это элемент конфигурации, который формирует разделы прикладного решения. Состав подсистемы определяет, какие объекты (справочники, документы, регистры, константы) попадут в панель разделов и командный интерфейс. Если константа создана, но не включена ни в одну подсистему, пользователь не сможет открыть её форму штатными средствами.

Ниже разобраны два рабочих способа: через свойства константы и через свойства подсистемы. Оба дают одинаковый результат, разница только в удобстве при массовом включении объектов.

Что нужно проверить перед включением константы в подсистему

Убедитесь, что константа существует в ветке «Общие» — «Константы» дерева конфигурации. Если константа ещё не создана, сначала добавьте её: правый клик по ветке «Константы» — «Добавить», задайте имя, синоним и тип значения.

Проверьте, что подсистема, в которую вы хотите включить константу, тоже существует. Подсистемы находятся в ветке «Общие» — «Подсистемы». Если нужного раздела нет, создайте его и задайте синоним — именно он будет отображаться в панели разделов пользователя.

Также проверьте права: у вашей роли должно быть право «Изменение» на константу и право администрирования конфигурации. Без этого сохранить изменения не получится.

Константа есть, но не видна в интерфейсеНе включена в подсистему

Откройте свойства константы и проверьте вкладку «Подсистемы»

Подсистемы нет в деревеРаздел не создан

Создайте подсистему в ветке «Общие» — «Подсистемы»

Константа есть в подсистеме, но скрыта у пользователяОграничение прав или функциональных опций

Проверьте роли и связь константы с функциональными опциями

Способ 1: включение через свойства константы

Это самый прямой путь, когда нужно включить одну константу в одну или несколько подсистем. Откройте конфигуратор (режим «Конфигурация» — «Открыть конфигурацию»), разверните ветку «Общие» — «Константы».

Найдите нужную константу, кликните по ней правой кнопкой мыши и выберите «Свойства» (или нажмите F4). В палитре свойств перейдите на вкладку «Подсистемы».

На вкладке отображается список всех подсистем конфигурации с учётом их иерархии. Отметьте флажками те подсистемы, в которых константа должна быть доступна. Одну константу можно включить сразу в несколько подсистем — тогда она появится в командном интерфейсе каждого из разделов.

Порядок действий через свойства константы
  1. 1
    Откройте конфигурацию в конфигураторе
  2. 2
    Найдите константу в ветке «Общие» — «Константы»
  3. 3
    Откройте палитру свойств константы (F4)
  4. 4
    Перейдите на вкладку «Подсистемы»
  5. 5
    Отметьте флажками нужные подсистемы
  6. 6
    Сохраните конфигурацию (Ctrl+S)
  7. 7
    Обновите конфигурацию базы данных (F7)
  8. 8
    Запустите 1С:Предприятие и проверьте раздел

Способ 2: включение через состав подсистемы

Этот способ удобнее, когда вы настраиваете подсистему целиком и добавляете в неё сразу несколько объектов: константы, справочники, документы, отчёты.

Разверните ветку «Общие» — «Подсистемы», найдите нужную подсистему и откройте её свойства. Нажмите кнопку «Командный интерфейс» или откройте вкладку «Состав» — в зависимости от версии платформы название может отличаться. В типовых конфигурациях на платформе 8.3 используется окно редактирования подсистемы со списком «Состав».

В списке состава найдите раздел «Константы» и отметьте флажком нужную константу. Здесь же видно, какие ещё объекты входят в подсистему, что помогает выстроить логичную структуру раздела.

Дополнительно через кнопку «Командный интерфейс» можно настроить порядок и видимость команд: перетащить константу выше или ниже в списке, снять видимость по умолчанию, если команда должна открываться только через «Ещё».

Проверка результата в режиме 1С:Предприятие

После обновления конфигурации базы данных запустите режим «1С:Предприятие» под пользователем с полными правами. Откройте раздел, соответствующий подсистеме: константа должна появиться в командном интерфейсе раздела — обычно в группе «Настройки» или в списке команд панели навигации.

Если константа включена в подсистему, но в интерфейсе её нет, проверьте командный интерфейс раздела: возможно, видимость команды снята. Откройте в конфигураторе «Командный интерфейс» подсистемы и убедитесь, что у команды константы установлена видимость.

Также проверьте функциональные опции: если константа или связанные объекты входят в состав функциональной опции, которая выключена, команда будет скрыта. Это штатное поведение управляемого интерфейса.

Контрольные точки

Как проверить результат

Раздел подсистемы в режиме Предприятия
Норма

Команда открытия константы видна в панели навигации

Тревожный признак

Команды нет — проверьте состав подсистемы и видимость в командном интерфейсе

Форма константы
Норма

Открывается, значение сохраняется

Тревожный признак

Ошибка прав — проверьте роли пользователя

Обновление конфигурации
Норма

Прошло без ошибок

Тревожный признак

Конфликт блокировок — все пользователи должны выйти из базы

Типичные ошибки и ограничения

Самая частая ошибка — забыть обновить конфигурацию базы данных. Изменения сохранены в конфигурации, но рабочая база продолжает использовать старую структуру, и константа не появляется в интерфейсе.

Вторая распространённая ситуация: константа включена в подсистему, но у пользователя нет прав на её просмотр или изменение. Проверьте роли в ветке «Общие» — «Роли»: у роли пользователя должны быть права «Чтение» и «Изменение» на константу.

Третья ошибка — работа в типовой конфигурации на поддержке без снятия замка. При попытке изменить состав подсистемы конфигуратор выдаст сообщение о запрете редактирования. Потребуется включить возможность изменения через «Конфигурация» — «Поддержка» — «Настройка поддержки». Учтите: изменения типовых объектов усложняют последующие обновления.

Типичные ошибки
01
Забыли обновить конфигурацию базы данных — константа не появляется в интерфейсе
02
Включили константу, но не дали права в ролях — пользователи видят ошибку доступа
03
Сняли видимость команды в командном интерфейсе — константа есть в составе, но скрыта
04
Изменили типовую подсистему без резервной копии — сложности при обновлении релиза

Альтернативы: если включать в подсистему не нужно

Не каждая константа обязана быть видимой в разделах. Если значение задаётся редко или программно, константу можно оставить вне подсистем и изменять через обработку, код или общую форму настроек.

В типовых конфигурациях на базе БСП константы часто выводятся не напрямую, а через общие формы настроек («Администрирование»). Тогда достаточно добавить константу на соответствующую форму обработки настроек, а подсистема подключается к самой форме.

Ещё вариант — функциональная опция. Если константа по смыслу является переключателем «включено/выключено», логичнее создать функциональную опцию, которая хранится в константе: тогда видимостью связанных объектов можно управлять централизованно.

Сравнение вариантов

Включение в подсистему напрямую

Подходит для пользовательских настроек, которые меняют вручную. Ограничение — команда видна всем, у кого есть права на раздел

Вывод через форму настроек

Подходит для типовых конфигураций на БСП. Требует доработки формы, но даёт единый центр настроек

Функциональная опция

Подходит для переключателей, влияющих на видимость других объектов. Избыточна для простых значений

FAQ

Почему константа не отображается в разделе после включения в подсистему?

Чаще всего не обновлена конфигурация базы данных (нужно нажать F7 в конфигураторе). Также проверьте видимость команды в командном интерфейсе подсистемы, права роли пользователя и связанные функциональные опции.

Можно ли включить одну константу в несколько подсистем?

Да. На вкладке «Подсистемы» в свойствах константы отметьте флажками все нужные разделы. Команда открытия константы появится в командном интерфейсе каждой из них.

Чем включение в подсистему отличается от добавления в командный интерфейс?

Включение в подсистему добавляет объект в состав раздела. Командный интерфейс подсистемы дополнительно позволяет настроить порядок команд и их видимость по умолчанию — объект может входить в состав, но быть скрыт в меню «Ещё».

Нужно ли снимать конфигурацию с поддержки, чтобы изменить подсистему?

Полностью снимать с поддержки не требуется. Достаточно включить режим «Редактируется с сохранением поддержки» в настройках поддержки. Перед изменением сделайте резервную копию базы.

Как программно проверить, входит ли константа в подсистему?

В коде на встроенном языке можно обратиться к метаданным: Метаданные.Подсистемы[ИмяПодсистемы].Состав.Содержит(Метаданные.Константы[ИмяКонстанты]). Метод вернёт Истина, если константа включена в состав подсистемы.

Видна ли константа пользователю без полных прав?

Только если у его роли есть права «Чтение» и «Изменение» на эту константу. Состав подсистемы определяет видимость команды, но доступ к данным регулируется ролями независимо.

Итог

Что важно запомнить

Константа включается в подсистему через вкладку «Подсистемы» в её свойствах или через состав самой подсистемы. После изменений обязательно обновите конфигурацию базы данных и проверьте видимость команды, права ролей и функциональные опции. Перед изменением типовой конфигурации сделайте резервную копию.