Формы - это основной вид диалога с пользователем. Все справочники, документы, журналы, отчеты и обработки имеют экранные формы. Обычно форма открывается пользователем интерактивно (мышкой), но форму можно открыть и программно.
Конт
= 0; //контекст формы (ссылка на форму)
ОткрытьФорму("Справочник.Сотрудники.Основная",Конт);
//открыть форму списка справочника
ОткрытьФорму(ВыбрСотрудник); //открыть форму элемента справочника
ОткрытьФорму("Отчет.ГлавнаяКнига");
ОткрытьФорму("Документ.ПриемНаРаботу",Конт); //новый документ
//можно открыть форму модально и еще можно передать в форму параметр
//в модуле формы переданный параметр доступен через конструкцию
Форма.Параметр
ОткрытьФормуМодально("Обработка.УсловияПоиска",10);
В модуле формы к элементам диалога можно обращаться по их идентификаторам через конструкцию Форма.ЭлементДиалога
Форма.Сотрудник.Доступность(1);
//сделать доступным
Форма.Сотрудник.Доступность(0); //сделать недоступным
Форма.Сотрудник.Видимость(1); //сделать видимым
Форма.Сотрудник.Видимость(0); //сделать невидимым
//можно менять заголовки на кнопке и на других элементах диалога
Форма.Кнопка.Заголовок("Далее >>");
Форма.Кнопка.Заголовок("Готово!");
//можно менять
цвет элементов диалога
Если ВыбрСотрудник.Выбран()=0 Тогда
... Форма.Надпись_Сотрудник.Цвет(200,50,50); //красный, зеленый,
синий (RGB)
....Активизировать("ВыбрСотрудник");
Иначе
... Форма.Надпись_Сотрудник.Цвет(0,0,0);
КонецЕсли;
Форма может состоять из нескольких слоев. Каждый слой может быть показан или скрыт в любой комбинации с другими слоями.
Синтаксис:
Форма.ИспользоватьСлой(<ИмяСлоя>,[<Режим>])
//показать слой
Основной
Форма.ИспользоватьСлой("Основной",1);
//скрыть слой
Основной
Форма.ИспользоватьСлой("Основной",0);
//показать слой Основной и скрыть все остальные
Форма.ИспользоватьСлой("Основной",2);
//показать слой Основной и Фон и скрыть все остальные
Форма.ИспользоватьСлой("Основной,Фон",2);
//закладки на
форме реализуются с помощью слоев
Форма.ИспользоватьЗакладки(1);
Форма.Закладки.ДобавитьЗначение(1, "Закладка 1");
Форма.Закладки.ДобавитьЗначение(2, "Закладка 2");
Процедура ПриВыбореЗакладки(НомерЗакладки,
ЗначениеЗакладки)
....Если НомерЗакладки = 1 Тогда
......Форма.ИспользоватьСлой("Фон,Шаг1");
...Иначе
......Форма.ИспользоватьСлой("Фон,Шаг2");
...КонецЕсли;
КонецПроцедуры
Функция подбора позволяет выбирать несколько значений из справочника или другого объекта, не закрывая его. Например, есть документ РасходнаяНакладная, в котором пользователь может указать несколько товаров.
Синтаксик: ОткрытьПодбор(<Объект>,<ИмяФормы>,<КонтекстФормы>,<ФлагМножВыбора>,<ТекЗнач>)
ОткрытьПодбор("Справочник.Номенклатура","ФормаДляПодбора",Конт,1);
Процедура ОбработкаПодбора(Элемент,КонтФормы)
...НоваяСтрока();
...Товар = Элемент;
КонецПроцедуры