Разработка и Конфигурация · 8 мин
Где найти константы в 1С: подробная инструкция
Где находятся константы в 1С: как открыть список констант в конфигураторе и пользовательском режиме, изменить значения, найти константу в коде и избежать типичных ошибок.
Константы в 1С — это объекты конфигурации, которые хранят единичные значения, редко меняющиеся в процессе работы: наименование организации, функциональные опции, параметры учёта, настройки обмена данными. Найти их можно двумя путями: через конфигуратор, если вы разработчик или администратор, и через пользовательский интерфейс, если нужно просто изменить значение в рабочей базе.
Место хранения констант зависит от того, что именно вы ищете. Описание самой константы (её имя, тип, длину) находится в дереве конфигурации, а текущее значение — в таблице констант базы данных, доступ к которой в пользовательском режиме обычно идёт через формы настроек программы. Ниже разобраны оба сценария с конкретными шагами.
Где константы находятся в конфигураторе
Откройте конфигуратор, загрузите конфигурацию и вызовите дерево объектов через меню «Конфигурация → Открыть конфигурацию» (или «Конфигурация → Конфигурация базы данных», если конфигурация уже открыта). В дереве разверните ветку «Общие», затем «Константы» — здесь перечислены все константы, определённые разработчиком конфигурации.
Двойной щелчок по константе открывает палитру свойств, где видны имя, синоним, тип данных, длина строки, признак использования в функциональных опциях. Если констант много, удобнее искать через глобальный поиск: Ctrl+Shift+F, в поле поиска указать часть имени, в области поиска выбрать «Вся конфигурация».
Важно понимать: в конфигураторе вы видите только метаданные — описание константы. Значение константы в конфигураторе не отображается, оно хранится в самой базе данных и доступно в режиме «1С:Предприятие».
Как найти константу в пользовательском режиме
В режиме «1С:Предприятие» отдельной общей формы со списком всех констант в типовых конфигурациях обычно нет. Значения констант разбросаны по формам настроек: например, в «1С:Бухгалтерии» и «1С:Управление торговлей» большинство констант доступны в разделе «Администрирование» через панели настроек («Общие настройки», «Настройки номенклатуры», «Печатные формы, отчеты и обработки» и т.п.).
Если нужной настройки в интерфейсе не нашлось, используйте строку глобального поиска по разделам (в верхней части окна, значок лупы) — введите название настройки, и программа покажет форму, где она находится. Это работает для большинства типовых конфигураций на управляемых формах.
Для разработчиков и администраторов есть более прямой путь — внешние обработки вида «Редактирование констант» или стандартная обработка «Инструменты разработчика». Они открывают табличный список всех констант с текущими значениями и позволяют редактировать их напрямую.
Как обратиться к константе из кода
Во встроенном языке доступ к константам выполняется через менеджер констант. Чтобы прочитать значение, используется метод Получить(), чтобы записать — Установить():
НаименованиеОрганизации = Константы.НаименованиеОрганизации.Получить();
Константы.ВалютаУчета.Установить(НоваяВалюта);
Также доступен объект «КонстантыМенеджер» для работы с набором констант одновременно и метод СоздатьНабор(), когда нужно прочитать или записать несколько констант в одной транзакции. Это актуально, если константы логически связаны и должны меняться согласованно.
Чтобы узнать, где конкретная константа используется в коде, в конфигураторе выделите её в дереве и выберите «Правый клик → Поиск ссылок в объектах». Система покажет все модули, где встречается обращение к этой константе.
Значение = Константы.ФункциональнаяОпцияИспользоватьСклады.Получить();
Если Значение Тогда
Сообщить("Складской учет включен");
КонецЕсли;Как изменить значение константы без ошибок
Самый безопасный способ — через штатные формы настроек пользовательского режима: программа сама проверит тип данных, выполнит связанные проверки и при необходимости пересчитает зависимые механизмы (например, включение функциональной опции может добавить новые элементы в интерфейс).
Прямое редактирование через обработки или код допустимо, но требует осторожности: некоторые константы участвуют в логике проведения документов и регламентных операций, и их изменение задним числом может сделать существующие данные некорректными. Перед изменением сделайте резервную копию базы или хотя бы зафиксируйте текущее значение.
- 1Откройте раздел «Администрирование» в пользовательском режиме
- 2Найдите нужную настройку через панели настроек или глобальный поиск
- 3Измените значение и нажмите «Записать» или закройте форму с сохранением
- 4Проверьте, что связанные механизмы (отчёты, документы, интерфейс) работают с новым значением
Где константы хранятся физически
На уровне СУБД все константы хранятся в одной служебной таблице базы данных — каждой константе соответствует строка с идентификатором и полем значения. Это означает, что чтение константы — быстрая операция, но при очень частом обращении в циклах лучше один раз получить значение в переменную.
Напрямую править таблицу констант через средства SQL запрещено: это нарушает целостность базы, лишает поддержки и может привести к невозможности обновления конфигурации. Все изменения выполняются только средствами платформы.
Типичные ошибки при работе с константами
Первая распространённая ошибка — путать константу и параметр сеанса. Константа хранится в базе и общая для всех пользователей, параметр сеанса существует только в памяти текущего сеанса. Если значение «сбрасывается» после перезахода — скорее всего, вы работали с параметром сеанса, а не с константой.
Вторая ошибка — искать значение константы в конфигураторе. Метаданные и данные разделены: в конфигураторе видно только описание, значение доступно только в режиме предприятия или через запрос к базе.
FAQ
Почему в меню программы нет пункта «Константы»?
В типовых конфигурациях константы намеренно спрятаны за формами настроек, чтобы пользователь менял их осмысленно, а не напрямую. Полный список доступен разработчику через конфигуратор или специальные обработки.
Можно ли посмотреть, кто и когда изменил константу?
Если включён журнал регистрации с событием изменения данных, изменение константы фиксируется там с указанием пользователя и времени. Откройте журнал регистрации в конфигураторе и отфильтруйте по имени константы.
Чем константа отличается от функциональной опции?
Функциональная опция — это механизм включения и выключения частей функциональности, а её значение часто хранится именно в константе типа «Булево». То есть константа — хранилище значения, функциональная опция — логический механизм, который это значение использует.
Как найти константу, если неизвестно её точное имя?
В конфигураторе используйте глобальный поиск (Ctrl+Shift+F) по части названия с областью поиска «Вся конфигурация». Также можно открыть ветку «Общие → Константы» и просмотреть синонимы — они обычно совпадают с названиями настроек в интерфейсе.
Можно ли создать свою константу без изменения конфигурации?
Нет, константа — объект метаданных, она создаётся только в конфигураторе. Если конфигурация на поддержке без возможности изменения, добавление константы потребует включения возможности изменений либо использования расширения конфигурации.
Почему после изменения константы ничего не поменялось в отчётах?
Некоторые механизмы кэшируют значения или требуют перезапуска сеанса, регламентных операций либо перепроведения документов. Проверьте, не зависит ли показатель от исторических данных, а не только от текущего значения константы.
Что важно запомнить
Описание констант ищите в конфигураторе в ветке «Общие → Константы», значения меняйте в пользовательском режиме через формы настроек или программно через Константы.Имя.Установить(). Прямое редактирование таблиц SQL запрещено, а перед сменой учётных констант делайте резервную копию.