Справочные материалы по 1С
Работа с элементами управления в 1С 8.x
В форме есть панель со страницами. Как разместить картинку на закладке?
ЭлементыФормы.ОсновнаяПанель.Страницы.СчетаУчета.КартинкаЗаголовка = БиблиотекаКартинок.ДебетКредит;
Как обеспечить, чтобы при открытии формы уже записанного элемента справочника "Контрагенты" активной была закладка "СчетаИДоговоры" панели "Панель"?
Процедура ПриОткрытии()
Если ЭтоНовый() = Ложь Тогда
ЭлементыФормы.Панель.ТекущаяСтраница = ЭлементыФормы.Панель.Страницы.СчетаИДоговоры;
КонецЕсли;
КонецПроцедуры
Как организовать выбор из нескольких списков документов для открытия?
Док = Метаданные.Документы;
СписокДокументов = Новый СписокЗначений();
СписокДокументов.Добавить(Док.ПлатежноеПоручениеИсходящее, , Ложь);
СписокДокументов.Добавить(Док.ПлатежноеПоручениеВходящее, , Ложь);
СписокДокументов.Добавить(Док.АккредитивПереданный, , Ложь);
СписокДокументов.Добавить(Док.АккредитивПолученный, , Ложь);
СписокДокументов.Добавить(Док.ПлатежноеТребованиеВыставленное, , Ложь);
СписокДокументов.Добавить(Док.ПлатежноеТребованиеПолученное, , Ложь);
СписокДокументов.Добавить(Док.ИнкассовоеПоручениеПереданное, , Ложь);
СписокДокументов.Добавить(Док.ИнкассовоеПоручениеПолученное, , Ложь);
СписокДокументов.Добавить(Док.ПлатежныйОрдерСписаниеДенежныхСредств, , Ложь);
СписокДокументов.Добавить(Док.ПлатежныйОрдерПоступлениеДенежныхСредств, , Ложь);
Если СписокДокументов.ОтметитьЭлементы("Укажите, какие списки документов открыть") Тогда
Для Каждого НазваниеДокумента из СписокДокументов Цикл
Если НазваниеДокумента.Пометка Тогда
ФормаСписка = Документы[НазваниеДокумента.Значение.Имя].ПолучитьФормуСписка();
ФормаСписка.Открыть();
КонецЕсли;
КонецЦикла;
КонецЕсли;
Как можно организовать подстановку обращения к персоне?
Процедура ПерсонаОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка)
Значение = Новый СписокЗначений();
Значение.Добавить("Уважаемый " + Текст);
Значение.Добавить("Уважаемая " + Текст);
Значение.Добавить("Уважаемое " + Текст);
Значение.Добавить("Уважаемые " + Текст);
Значение.Добавить(Текст);
СтандартнаяОбработка = Ложь;
КонецПроцедуры
Как в командной панели создать подменю с кнопками?
КнопкиКоманднойПанели = ЭлементыФормы.КоманднаяПанельФормы.Кнопки;
// Проверить, нет ли уже на командной панели кнопки "Сформировать".
// Если есть - удалить.
Индекс = КнопкиКоманднойПанели.Индекс(КнопкиКоманднойПанели.Найти("Сформировать"));
Если Индекс = -1 Тогда
Индекс = 0;
Иначе
КнопкиКоманднойПанели.Удалить(Индекс);
КонецЕсли;
// Создать подменю "Сформировать".
ПодменюСформировать = КнопкиКоманднойПанели.Вставить(Индекс, "Сформировать",
ТипКнопкиКоманднойПанели.Подменю, "Сформировать");
// Добавить картинку.
ПодменюСформировать.Картинка = БиблиотекаКартинок.Сформировать;
ПодменюСформировать.Отображение = ОтображениеКнопкиКоманднойПанели.НадписьКартинка;
// Опросить перечисление о возможных вариантах периодичности.
Запрос = Новый Запрос("ВЫБРАТЬ Ссылка ИЗ Перечисление.Периодичность");
Выборка = Запрос.Выполнить().Выбрать();
//Добавить кнопки к подменю.
Пока Выборка.Следующий() Цикл
Период = Выборка.Ссылка;
ПодменюСформировать.Кнопки.Добавить("кн" + Период, ТипКнопкиКоманднойПанели.Действие,
"Сформировать за " + Период, Новый Действие("КнопкаСформироватьНажатие"));
КонецЦикла;
Процедура КнопкаСформироватьНажатие(Элемент)
НазваниеПериодичности = СтрЗаменить(Элемент.Имя, "кн", "");
КонецПроцедуры
Как созданной кнопке назначить "горячие клавиши"?
СозданнаяКнопка.СочетаниеКлавиш = Новый СочетаниеКлавиш(Клавиша.L, Истина, Истина,);
Как реализовать заполнение возможных значений поля выбора "ОбрабатываемаяТабличнаяЧасть" при заполнении поля ввода "ОбрабатываемыйДокумент"?
Процедура ОбрабатываемыйДокументПриИзменении(Элемент)
СписокВыбора = ЭлементыФормы.ОбрабатываемаяТабличнаяЧасть.СписокВыбора;
СписокВыбора.Очистить();
Если Элемент.Значение <> Неопределено И Не(Элемент.Значение.Пустая()) Тогда
ТабличныеЧасти = Элемент.Значение.Метаданные().ТабличныеЧасти;
Для Каждого ТабличнаяЧасть из ТабличныеЧасти Цикл
СписокВыбора.Добавить(ТабличнаяЧасть);
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Процедура ОбрабатываемыйДокументОчистка(Элемент, СтандартнаяОбработка)
ОбрабатываемаяТабличнаяЧасть = "";
КонецПроцедуры
Если пользователь указал несколько дат в поле календаря - как их перебрать?
КоллекцияДат = ЭлементыФормы.ПолеКалендаря.ВыделенныеДаты;
Для каждого ДатаКалендаря из КоллекцияДат Цикл
Сообщить(ДатаКалендаря);
КонецЦикла;
ЭлементыФормы.ПолеКалендаря.РежимВыделения = РежимВыделенияДаты.Множественный;
Как организовать работу с индикатором?
Выборка = РезультатЗапроса.Выбрать();
Индикатор = ЭлементыФормы.ИндикаторПеребора;
Индикатор.МаксимальноеЗначение = Выборка.Количество();
Индикатор.Значение = 0;
Пока Выборка.Следующий() Цикл
Индикатор.Значение = Индикатор.Значение + 1;
КонецЦикла;
Выборка = РезультатЗапроса.Выбрать();
Индикатор = ЭлементыФормы.ИндикаторПеребора;
Индикатор.МаксимальноеЗначение = Выборка.Количество();
Индикатор.Значение = 0;
Индикатор.ОтображатьПроценты = Истина;
Индикатор.СтильОтображения = РежимСглаживанияИндикатора.Прерывистый;
Индикатор.Ориентация = Ориентация.Вертикально;
Индикатор.Шаг = 0.1;
Пока Выборка.Следующий() Цикл
Индикатор.Значение = Индикатор.Значение + 1;
КонецЦикла;
Как у элемента управления сменить источник данных?
Процедура КнопкаВыполнитьНажатие(Элемент)
ЭлементыФормы.ТП.Данные = "СписокКонтрагентов";
ЭлементыФормы.ТП.СоздатьКолонки();
КонецПроцедуры
Процедура Номенклатура(Кнопка)
ЭлементыФормы.ТП.Данные = "СписокНоменклатуры";
ЭлементыФормы.ТП.СоздатьКолонки();
КонецПроцедуры
Как задать представление даты, отображаемое в поле ввода по-умолчанию?
ЭлементыФормы.ПолеВвода1.Формат = "ДП='01.01.0001'";
ЭлементыФормы.ПолеВвода1.Формат = "ДП='00:00:00'";
ЭлементыФормы.ПолеВвода1.Формат = "ДП='01.01.0001 00:00:00'";
Как вывести текст в поле картинки в том случае, если картинка не выбрана?
ЭлементыФормы.ОсновноеИзображение.ТекстНевыбраннойКартинки = "фотография номенклатуры отсутствует";
Как открыть пользователю стандартный диалог выбора цвета?
Диалог = Новый ДиалогВыбораЦвета;
Если Диалог.Выбрать() Тогда
ВыбранныйЦвет = Диалог.Цвет;
КонецЕсли;