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'";
Как вывести текст в поле картинки в том случае, если картинка не выбрана?
ЭлементыФормы.ОсновноеИзображение.ТекстНевыбраннойКартинки = "фотография номенклатуры отсутствует";
Как открыть пользователю стандартный диалог выбора цвета?
Диалог = Новый ДиалогВыбораЦвета; Если Диалог.Выбрать() Тогда ВыбранныйЦвет = Диалог.Цвет; КонецЕсли;