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

Администрирование · 8 мин

Как менять константы в 1С: способы, риски и проверка результата

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

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

Менять константы приходится в трёх типовых ситуациях: при первоначальной настройке базы, при включении или отключении функциональных опций (например, учёта по нескольким складам) и при исправлении ошибок настройки. Способ изменения зависит от того, есть ли у вас доступ к пользовательскому интерфейсу настройки или требуется вмешательство на уровне конфигуратора.

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

Где хранятся константы и как их найти

В пользовательском режиме константы обычно «спрятаны» за пунктами настройки: «Администрирование», «Настройка программы», разделы параметров учёта. Типовые конфигурации выводят не сами константы, а формы настроек, где одно поле может менять сразу несколько связанных значений.

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

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

Изменение константы через пользовательский интерфейс

Это основной и самый безопасный способ. Откройте раздел настроек вашей конфигурации: в «1С:Бухгалтерии» это «Администрирование — Параметры учёта» и «Администрирование — Общие настройки», в «Управлении торговлей» — раздел «Настройки» по подсистемам. Найдите нужный параметр, измените значение и запишите форму.

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

После записи перезапустите сеанс или обновите интерфейс: часть констант влияет на видимость команд и разделов, и изменения проявляются только после перезапуска клиентского приложения.

Порядок изменения через интерфейс
  1. 1
    Откройте раздел настроек конфигурации и найдите нужный параметр
  2. 2
    Зафиксируйте текущее значение (скриншот или запись)
  3. 3
    Измените значение и нажмите «Записать» или «Записать и закрыть»
  4. 4
    Перезапустите сеанс при необходимости
  5. 5
    Проверьте поведение зависимых функций

Изменение константы в конфигураторе и через отладку

Если настройка недоступна в интерфейсе (нет прав, форма не предусмотрена), значение можно изменить программно. Для разового изменения удобна функция «Вычислить выражение» в режиме отладки: запустите базу под отладкой, откройте «Табло» (Shift+F9) и выполните присваивание.

bsl
Константы.ВалютаРегламентированногоУчета.Установить(Справочники.Валюты.НайтиПоКоду("643"));
Константы.ИспользоватьСерийныеНомера.Установить(Истина);
// Чтение текущего значения:
Значение = Константы.НазваниеОрганизации.Получить();

Метод Установить() записывает новое значение в базу, метод Получить() возвращает текущее. Обратите внимание: присваивание через Константы.Имя.Установить() выполняется сразу, без транзакции формы, поэтому отменить действие закрытием окна нельзя.

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

Права доступа и ограничения

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

Если кнопка настройки неактивна или форма открывается только на чтение, проверьте роли пользователя в разделе «Администрирование — Пользователи и права». Не выдавайте полные права ради одной настройки: попросите администратора выполнить изменение или временно расширьте профиль.

В клиент-серверном режиме учитывайте, что константа — общий ресурс базы. Одновременная запись из двух сеансов приведёт к конфликту блокировок, поэтому массовые изменения лучше выполнять при минимальной активности пользователей.

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

После записи значения убедитесь, что оно действительно сохранилось: повторно откройте форму настройки или прочитайте константу через табло в отладке. Значение должно соответствовать заданному типу и формату.

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

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

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

Значение константы после записи
Норма

Форма или Получить() возвращает новое значение

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

Значение старое — запись не выполнена или нет прав

Видимость связанных разделов интерфейса
Норма

После перезапуска сеанса разделы появились или скрылись

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

Интерфейс не изменился — обновите кэш или перезапустите клиент

Работа зависимых документов и отчётов
Норма

Документы проводятся, отчёты формируются без ошибок

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

Ошибки при проведении или пустые отчёты — откатите изменение

Типичные ошибки при работе с константами

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

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

Частые вопросы

Где в 1С посмотреть список всех констант?

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

Можно ли отменить изменение константы?

Автоматической истории у констант нет. Отменить изменение можно только вручную, вернув прежнее значение, — поэтому фиксируйте старое значение до записи. Если изменение уже привело к ошибкам в данных, восстановите базу из резервной копии.

Почему после изменения константы интерфейс не изменился?

Функциональные опции, связанные с константами, кэшируются. Закройте и заново откройте сеанс пользователя. Если не помогло — проверьте, действительно ли значение записалось, и нет ли у пользователя ограничений по ролям, скрывающих разделы независимо от настройки.

Чем константа отличается от параметра сеанса?

Константа хранится в базе постоянно и общая для всех пользователей. Параметр сеанса существует только внутри сеанса конкретного пользователя, устанавливается при входе и не сохраняется между сеансами.

Можно ли изменить константу, не имея прав администратора?

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

Опасно ли менять константы в рабочей базе?

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

Итог

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

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