АйТиБложик
В управляемых формах невозможно задать тип значения для реквизита, который имеет тип СписокЗначений, хотя в обычных формах такая возможность есть. Если реквизит с типом СписокЗначений является реквизитом формы, то здесь особых сложностей нету, достаточно в обработчике события формы ПриСозданииНаСервере написать код по установке типа для значения списка:
ТипыСписка = «Строка»;
ДоступныеТипы = Новый ОписаниеТипов(ТипыСписка);
ЭтаФорма.РеквизитСписокЗначений.ТипЗначения = ДоступныеТипы;
Как видно из примера, тип значения устанавливается через свойство списка значений ТипЗначения, которое имеет тип ОписаниеТипов.
Другое дело, когда форма содержит таблицу значений, у которой имеется реквизит с типом СписокЗначений. В такой ситуации через обработчики событий формы к этому реквизиту не достучаться, поэтому нужно использовать обработчики событий элемента формы, связанного с данным реквизитом.
![]() |
| 1. Реквизит ТЧ с типом СписокЗначений |
Для этого напишем код по установке типа значения в обработчике события элемента формы НачалоВыбора:
Процедура РеквизитыТаблицыСписокДоступныхЗначенийНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ТипыСписка = «Строка»;
ДоступныеТипы = Новый ОписаниеТипов(ТипыСписка);
Элемент.Родитель.ТекущиеДанные.РеквизитСписокЗначений.ТипЗначения = ДоступныеТипы;
Что бы для типа значения задать составной тип, необходимо в конструктор объекта ОписаниеТипов передать первым параметром массив типов:
ТипыСписка = Массив;
ТипыСписка.Добавить(Тип(«Строка»));
ТипыСписка.Добавить(Тип(«Число»));
ДоступныеТипы = Новый ОписаниеТипов(ТипыСписка);
ЭтаФорма.РеквизитСписокЗначений.ТипЗначения = ДоступныеТипы;
Единственный минус составного типа в списке значений — это отсутствие множественного выбора (кнопки Подбор), придется добавлять по одному значению в список. а это просто печалит.
Элементы управления формы 1С
Элементы управления — это объекты формы, определяющие визуальное представление формы и предназначенные для интерактивного взаимодействия с пользователем (например, кнопки, флажки, поля ввода и т.д., визуальное объединение «элементарных» элементов управления).
Поведение каждого типа элементов управления по умолчанию задано платформой, однако может корректироваться разработчиком.
Для обычных форм элементы управления настраиваются только конфигуратором, а для управляемых возможны определенные корректировки элементов в режиме 1С:Предприятие.
В элементах управления данные не хранятся!
Разделители являются специальными элементами, с помощью которых возможно перераспределение пространства формы без изменения ее размеров.
Платформа в режиме 1С:Предприятие для управляемых форм самостоятельно добавляет эти элементы в форму.
При построении обычных форм используются вертикальные и горизонтальные разделители.
Элемент управления Разделитель позволяет пользователю менять пространство формы, сдвигая ее части. Разделитель может быть как с отображением, так и невидимый.
Наличие разделителя должно интуитивно угадываться при работе с формой, поэтому ближайшие от разделителя по направлениям его передвижения элементы управления размещаются вплотную к нему, таким образом визуально предполагая его расположение:
- вертикальным разделителям устанавливается ширина 6, горизонтальную привязку рекомендуется устанавливать в НеПривязано ;
- горизонтальным разделителям устанавливается высота 6, вертикальную привязку рекомендуется устанавливать в НеПривязано;
- рамку рекомендуется устанавливать в НетРамки . В сложных случаях, когда пользователю может быть тяжело догадаться о наличие разделителя, допускается устанавливать рамку Одинарная .
Разделитель обладает способностью «захватываться» мышью и перемещаться внутри формы в ее пределах с учетом возможности расположения других элементов и ориентации разделителя.
Таким образом, элемент управления «Разделитель» позволяет перераспределять внутреннее пространство формы, изменяя размеры расположенных в ней элементов управления, привязанных к разделителю. Размеры самой формы при этом не меняются.
Команды формы редактируются в списке. Разработчик имеет возможность:
- добавить, удалить команды формы;
- задать свойства команд с помощью палитры свойств;
- назначить для команды процедуру, которая будет выполняться при вызове этой команды пользователем.
Для добавления команды в виде кнопки:
- на обычной форме можно разместить на форме элемент управления «Кнопка», назначить обработчик события «Нажатие» и определить алгоритм в модуле формы;
- на управляемой форме можно:
- добавить в форму элемент управления «Кнопка», назначить команду из списка команд формы и определить алгоритм команды в модуле формы;
- добавить команду формы в командный интерфейс формы и включить ее видимость.
На закладках «Стандартные команды» и «Глобальные команды» разработчику предоставляются списки команд, генерируемых платформой и доступных для использования в данной форме. Их свойства изменять нельзя, можно только добавлять их в форму.
С помощью мыши разработчик может перетащить команду в командный интерфейс формы (платформа автоматически нарисует кнопку). Также можно перетащить команду и прямо в дерево элементов, если нужно, например, отобразить эту команду в виде кнопки, расположенной в форме (платформа автоматически нарисует кнопку).
Для кнопки можно определить процедуру-обработчик для события «Нажатие»; тем самым кнопка программируется для выполнения некого стандартного действия:
В качестве обработчика события «Нажатие» элемента управления «Кнопка» может быть выбрано:
- стандартное действие;
- процедура модуля формы, в которой расположена кнопка.
Глобальную процедуру инициировать напрямую по кнопке нельзя.
Поясняющая информация на элементе управления «Кнопка» может быть представлена в виде:
