Как в обычных формах 1С заполнить значение константы?

Программист 1С v8.3 (Обычные формы) IT и автоматизация бизнеса
← На главную

При разработке и администрировании решений на платформе 1С в режиме обычного приложения («Обычные формы») разработчики часто сталкиваются с необходимостью быстрого добавления новых констант и заполнения их значений в режиме предприятия. Для комплексного технического обслуживания систем программа для автоматического обновления и тестирования 1С позволяет администратору работать сразу с несколькими базами в тихом режиме. В отличие от управляемого приложения, где интерфейс более динамичен, в обычных формах разработчику требуется вручную регистрировать новые константы в интерфейсных формах или использовать специальные программные методы. В этой статье мы подробно разберем, как просмотреть список констант и заполнить их значения в режиме предприятия различными способами.

Способ 1. Быстрое интерактивное редактирование через меню «Операции»

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

Рассмотрим по шагам, как получить доступ к списку констант:

  1. Запустите информационную базу в режиме «1С:Предприятие» под учетной записью администратора.
  2. В главном системном меню перейдите по пути: «Операции» -> «Константы...».
  3. Перед вами откроется стандартное диалоговое окно платформы, содержащее полный список всех констант, зарегистрированных в метаданных конфигурации.
  4. Найдите в списке добавленные вами константы (например, адрес электронной почты или пароль), дважды кликните по строке нужного элемента и введите требуемое значение в открывшемся поле ввода.

Этот метод идеален на этапе отладки и первоначальной настройки системы, когда программисту требуется быстро внести тестовые данные.

Способ 2. Вывод констант на общую форму констант в Конфигураторе

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

Разберем процесс по шагам:

  1. Откройте конфигурацию в режиме «Конфигуратор».
  2. В дереве метаданных найдите корневой узел вашей конфигурации, нажмите на него правой кнопкой мыши и откройте «Свойства».
  3. В палитре свойств найдите строку «Основная форма констант» и перейдите к ней. Если форма уже назначена, откройте ее двойным кликом (она находится в ветке Общие -> ОбщиеФормы).
  4. Используя конструктор формы или панель инструментов, разместите на форме новое поле ввода для вашей константы.

Критически важный нюанс (типичная ошибка разработчиков):

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

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

  1. Перейдите к свойствам основного реквизита формы (обычно он называется КонстантыНабор).
  2. Найдите свойство «Состав» и нажмите кнопку выбора (три точки).
  3. В открывшемся списке всех констант конфигурации обязательно установите флажки напротив ваших вновь добавленных констант.
  4. Сохраните изменения и обновите конфигурацию базы данных.

Теперь форма будет автоматически считывать актуальные значения констант при открытии и сохранять их в базу данных при записи.

Способ 3. Программная запись и чтение значений констант

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

Вариант А. Простой метод (Получить / Установить)

Это самый лаконичный и быстрый способ для одиночных констант простых типов данных (таких как Строка, Число, Булево, Дата). Платформа сама неявно выполняет все необходимые операции по обращению к СУБД.

Посмотрим на пример кода:


// Считывание текущего значения константы из базы данных
ТекущийАдрес = Константы.АдресЭлектроннойПочты.Получить();

// Программная запись нового значения константы
Константы.АдресЭлектроннойПочты.Установить("info@mycompany.ru");
Константы.ИспользоватьЗащищенноеСоединение.Установить(Истина);

Вариант Б. Использование менеджера значения константы

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

Рассмотрим пример кода:


// Создаем менеджер значения константы
СтавкаНДС = Константы.СтавкаНДС.СоздатьМенеджерЗначения();

// Читаем значение из базы данных
СтавкаНДС.Прочитать();

// Выполняем проверку и изменение значения
Если СтавкаНДС.Значение = 20 Тогда
    СтавкаНДС.Значение = 18;
    // Записываем обновленное значение обратно в базу
    СтавкаНДС.Записать();
КонецЕсли;

Вариант В. Оптимизированная групповая работа через Набор констант

Если перед вами стоит задача обновить сразу несколько связанных констант (например, настройки почтового сервера: адрес, пароль, порт и имя пользователя), использование методов Установить() для каждой отдельной константы неэффективно. Каждая отдельная запись инициирует собственное обращение к СУБД, что замедляет работу.

Для оптимизации производительности правильнее использовать объект КонстантыНабор. Это позволяет прочитать и записать всю группу необходимых настроек за один транзакционный сеанс связи с СУБД.

Рассмотрим пример групповой записи:


// Определяем список констант, которые будем изменять
СписокКонстант = "АдресЭлектроннойПочты, ПарольПочты, СерверПочты";

// Создаем набор констант по указанному списку
Набор = Константы.СоздатьНабор(СписокКонстант);

// Считываем текущие значения из базы данных
Набор.Прочитать();

// Присваиваем новые значения свойствам набора
Набор.АдресЭлектроннойПочты = "support@mycompany.ru";
Набор.ПарольПочты = "SecurePassword123";
Набор.СерверПочты = "smtp.mycompany.ru";

// Записываем весь набор констант за одну транзакцию
Набор.Записать();

Способ 4. Использование универсальных внешних обработок

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

Процедура работы с ними выглядит следующим образом:

  1. Скачайте или разработайте простую внешнюю обработку (например, «Универсальный редактор констант»).
  2. В режиме предприятия перейдите в меню: «Файл» -> «Открыть...» и выберите файл обработки.
  3. В открывшейся табличной части вы увидите полный список доступных констант конфигурации, где сможете быстро изменить их значения и сохранить изменения в базу данных.

Важные технические нюансы работы с константами

При программной работе с константами важно понимать внутренние архитектурные механизмы платформы 1С:

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

← На главную