11. Другие элементы управления

В форме есть панель со страницами. Как разместить картинку на закладке?

ЭлементыФормы.ОсновнаяПанель.Страницы.СчетаУчета.КартинкаЗаголовка = БиблиотекаКартинок.ДебетКредит;

Как обеспечить, чтобы при открытии формы уже записанного элемента справочника "Контрагенты" активной была закладка "СчетаИДоговоры" панели "Панель"?

Процедура ПриОткрытии() Если ЭтоНовый() = Ложь Тогда ЭлементыФормы.Панель.ТекущаяСтраница = ЭлементыФормы.Панель.Страницы.СчетаИДоговоры; КонецЕсли; КонецПроцедуры

Как организовать выбор из нескольких списков документов для открытия?

Док = Метаданные.Документы; СписокДокументов = Новый СписокЗначений(); СписокДокументов.Добавить(Док.ПлатежноеПоручениеИсходящее, , Ложь); СписокДокументов.Добавить(Док.ПлатежноеПоручениеВходящее, , Ложь); СписокДокументов.Добавить(Док.АккредитивПереданный, , Ложь); СписокДокументов.Добавить(Док.АккредитивПолученный, , Ложь); СписокДокументов.Добавить(Док.ПлатежноеТребованиеВыставленное, , Ложь); СписокДокументов.Добавить(Док.ПлатежноеТребованиеПолученное, , Ложь); СписокДокументов.Добавить(Док.ИнкассовоеПоручениеПереданное, , Ложь); СписокДокументов.Добавить(Док.ИнкассовоеПоручениеПолученное, , Ложь); СписокДокументов.Добавить(Док.ПлатежныйОрдерСписаниеДенежныхСредств, , Ложь); СписокДокументов.Добавить(Док.ПлатежныйОрдерПоступлениеДенежныхСредств, , Ложь); Если СписокДокументов.ОтметитьЭлементы("Укажите, какие списки документов открыть") Тогда Для Каждого НазваниеДокумента из СписокДокументов Цикл Если НазваниеДокумента.Пометка Тогда ФормаСписка = Документы[НазваниеДокумента.Значение.Имя].ПолучитьФормуСписка(); ФормаСписка.Открыть(); КонецЕсли; КонецЦикла; КонецЕсли;

Как можно организовать подстановку обращения к персоне?

Процедура ПерсонаОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка) Значение = Новый СписокЗначений(); Значение.Добавить("Уважаемый " + Текст); Значение.Добавить("Уважаемая " + Текст); Значение.Добавить("Уважаемое " + Текст); Значение.Добавить("Уважаемые " + Текст); Значение.Добавить(Текст); СтандартнаяОбработка = Ложь; КонецПроцедуры

Как в командной панели создать подменю с кнопками?

КнопкиКоманднойПанели = ЭлементыФормы.КоманднаяПанельФормы.Кнопки; // Проверить, нет ли уже на командной панели кнопки "Сформировать". // Если есть - удалить. Индекс = КнопкиКоманднойПанели.Индекс(КнопкиКоманднойПанели.Найти("Сформировать")); Если Индекс = -1 Тогда Индекс = 0; Иначе КнопкиКоманднойПанели.Удалить(Индекс); КонецЕсли; // Создать подменю "Сформировать". ПодменюСформировать = КнопкиКоманднойПанели.Вставить(Индекс, "Сформировать", ТипКнопкиКоманднойПанели.Подменю, "Сформировать"); // Добавить картинку. ПодменюСформировать.Картинка = БиблиотекаКартинок.Сформировать; ПодменюСформировать.Отображение = ОтображениеКнопкиКоманднойПанели.НадписьКартинка; // Опросить перечисление о возможных вариантах периодичности. Запрос = Новый Запрос("ВЫБРАТЬ Ссылка ИЗ Перечисление.Периодичность"); Выборка = Запрос.Выполнить().Выбрать(); //Добавить кнопки к подменю. Пока Выборка.Следующий() Цикл Период = Выборка.Ссылка; ПодменюСформировать.Кнопки.Добавить("кн" + Период, ТипКнопкиКоманднойПанели.Действие, "Сформировать за " + Период, Новый Действие("КнопкаСформироватьНажатие")); КонецЦикла; Процедура КнопкаСформироватьНажатие(Элемент) НазваниеПериодичности = СтрЗаменить(Элемент.Имя, "кн", ""); КонецПроцедуры

Как созданной кнопке назначить "горячие клавиши"?

СозданнаяКнопка.СочетаниеКлавиш = Новый СочетаниеКлавиш(Клавиша.L, Истина, Истина,);

Как реализовать заполнение возможных значений поля выбора "ОбрабатываемаяТабличнаяЧасть" при заполнении поля ввода "ОбрабатываемыйДокумент"?

Процедура ОбрабатываемыйДокументПриИзменении(Элемент) СписокВыбора = ЭлементыФормы.ОбрабатываемаяТабличнаяЧасть.СписокВыбора; СписокВыбора.Очистить(); Если Элемент.Значение <> Неопределено И Не(Элемент.Значение.Пустая()) Тогда ТабличныеЧасти = Элемент.Значение.Метаданные().ТабличныеЧасти; Для Каждого ТабличнаяЧасть из ТабличныеЧасти Цикл СписокВыбора.Добавить(ТабличнаяЧасть); КонецЦикла; КонецЕсли; КонецПроцедуры Процедура ОбрабатываемыйДокументОчистка(Элемент, СтандартнаяОбработка) ОбрабатываемаяТабличнаяЧасть = ""; КонецПроцедуры

Если пользователь указал несколько дат в поле календаря - как их перебрать?

КоллекцияДат = ЭлементыФормы.ПолеКалендаря.ВыделенныеДаты; Для каждого ДатаКалендаря из КоллекцияДат Цикл Сообщить(ДатаКалендаря); КонецЦикла; ЭлементыФормы.ПолеКалендаря.РежимВыделения = РежимВыделенияДаты.Множественный;

Как организовать работу с индикатором?

Выборка = РезультатЗапроса.Выбрать(); Индикатор = ЭлементыФормы.ИндикаторПеребора; Индикатор.МаксимальноеЗначение = Выборка.Количество(); Индикатор.Значение = 0; Пока Выборка.Следующий() Цикл Индикатор.Значение = Индикатор.Значение + 1; КонецЦикла; Выборка = РезультатЗапроса.Выбрать(); Индикатор = ЭлементыФормы.ИндикаторПеребора; Индикатор.МаксимальноеЗначение = Выборка.Количество(); Индикатор.Значение = 0; Индикатор.ОтображатьПроценты = Истина; Индикатор.СтильОтображения = РежимСглаживанияИндикатора.Прерывистый; Индикатор.Ориентация = Ориентация.Вертикально; Индикатор.Шаг = 0.1; Пока Выборка.Следующий() Цикл Индикатор.Значение = Индикатор.Значение + 1;КонецЦикла;

Как у элемента управления сменить источник данных?

Процедура КнопкаВыполнитьНажатие(Элемент) ЭлементыФормы.ТП.Данные = "СписокКонтрагентов"; ЭлементыФормы.ТП.СоздатьКолонки(); КонецПроцедуры Процедура Номенклатура(Кнопка) ЭлементыФормы.ТП.Данные = "СписокНоменклатуры"; ЭлементыФормы.ТП.СоздатьКолонки(); КонецПроцедуры

Как задать представление даты, отображаемое в поле ввода по-умолчанию?

ЭлементыФормы.ПолеВвода1.Формат = "ДП='01.01.0001'"; ЭлементыФормы.ПолеВвода1.Формат = "ДП='00:00:00'"; ЭлементыФормы.ПолеВвода1.Формат = "ДП='01.01.0001 00:00:00'";

Как вывести текст в поле картинки в том случае, если картинка не выбрана?

ЭлементыФормы.ОсновноеИзображение.ТекстНевыбраннойКартинки = "фотография номенклатуры отсутствует";

Как открыть пользователю стандартный диалог выбора цвета?

Диалог = Новый ДиалогВыбораЦвета; Если Диалог.Выбрать() Тогда ВыбранныйЦвет = Диалог.Цвет; КонецЕсли;