Волшебство
программирования на 1С:Предприятие 7.7 и 8.0 Выпуск 76 / 23.09.2004
v8:
Будни: Форма констант
Если форма констант не создана программистом, то она генерируется системой
автоматически. Когда констант много, то появляется прокрутка, и форма может
быть не очень удобной. Кроме того, возникает желание сгруппировать константы
по смыслу, например, с помощью закладок (панели).
В качестве формы констант обычно используется общая форма,
которую можно создать конструктором форм:
а) Щелкните правой кнопкой на
ветке "Константы" в дереве
конфигурации
б) Выберите "Создать форму констант" или "Создать
основную форму констант".
в) Разместите на форме элементы управления (поля ввода, флажки),
связанные с константами.
Основная форма констант прописывается в свойствах всей конфигурации.
Форму
констант можно получать из программных модулей с помощью конструкции:
Форма = Константы.ПолучитьФорму(<Имя>);
//если имя не указано, то основная форма констант
Форма.Открыть();
Форму констант также можно вызывать
по собственному пункту в меню, например, Сервис => Настройка параметров учета или Операции => Константы.
У формы констант создается реквизит "КонстантыНабор". Далее начинается
самое интересное. По умолчанию в набор констант входят только имеющиеся
на данный
момент константы (свойство "Состав"). При создании новой константы ее не
получится разместить на форме: ее просто нет в списке констант, который
появляется по кнопке "Размещение
данных"). Можно попытаться разместить элемент управления и связать
его с константой, но в режиме Предприятие такой элемент будет недоступным.
Это
происходит, потому что новая константа не входит в набор констант для этой
формы.
Чтобы новую константу разместить на форме, нужно сделать одно из двух:
1. Или включить ее в набор (свойство Состав)
2. Или у формы установить флаг "Использовать все константы", тогда
свойство Набор становится недоступным.
Отмечу, что константы типа "Хранилище значения" нельзя разместить
на форме, даже если они входят в набор или установлен флаг "Использовать
все константы". Их редактирование нужно запрограммировать самостоятельно.
--------