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