//Пример 1 Процедура СтатьяПДРНачалоВыбора(Элемент, СтандартнаяОбработка) ФормаВыбора = Справочники.ПрочиеДоходыИРасходы.ПолучитьФормуВыбора(, Элемент); ЭлементОтбораВидПДР = ФормаВыбора.Отбор.ВидПрочихДоходовИРасходов; Если ЭлементОтбораВидПДР <> Неопределено Тогда ЭлементОтбораВидПДР.ВидСравнения = ВидСравнения.Равно; ЭлементОтбораВидПДР.Значение = Перечисления.ВидыПрочихДоходовИРасходов.ПрочиеВнереализационныеДоходыРасходы; ЭлементОтбораВидПДР.Использование = Истина; КонецЕсли; // Закроем доступ к настройке отбора. Таким образом, пользователь не может отключить заданный программно отбор // и имеет возможность сделать выбор значения только из ограниченного списка. ФормаВыбора.ЭлементыФормы.СправочникСписок.НастройкаОтбора.ВидПрочихДоходовИРасходов.Доступность = Ложь; ФормаВыбора.Открыть(); СтандартнаяОбработка = Ложь; КонецПроцедуры //Пример 2 Процедура СчетДтНачалоВыбора(Элемент, СтандартнаяОбработка) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Хозрасчетный.Ссылка |ИЗ | ПланСчетов.Хозрасчетный КАК Хозрасчетный |ГДЕ | Хозрасчетный.Родитель В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Материалы)) | И Хозрасчетный.ЗапретитьИспользоватьВПроводках = ЛОЖЬ"; СписокСчетов = Новый СписокЗначений; СписокСчетов.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка")); ФормаВыбора = ПланыСчетов.Хозрасчетный.ПолучитьФормуВыбора(, Элемент); ЭлементОтбораСсылка = ФормаВыбора.Отбор.Ссылка; Если ЭлементОтбораСсылка <> Неопределено Тогда ЭлементОтбораСсылка.ВидСравнения = ВидСравнения.ВСписке; ЭлементОтбораСсылка.Значение = СписокСчетов; ЭлементОтбораСсылка.Использование = Истина; КонецЕсли; ФормаВыбора.ЭлементыФормы.Список.НастройкаОтбора.Ссылка.Доступность = Ложь; ФормаВыбора.Открыть(); СтандартнаяОбработка = Ложь; КонецПроцедуры
//Пример 1 Процедура ВидПДРНачалоВыбора(Элемент, СтандартнаяОбработка) ВидыПДР = Новый СписокЗначений; ВидыПДР.Добавить(Перечисления.ВидыПрочихДоходовИРасходов.ПрочиеВнереализационныеДоходыРасходы); ВидыПДР.Добавить(Перечисления.ВидыПрочихДоходовИРасходов.ПрочиеОперационныеДоходыРасходы); ВыбранныйЭлемент = ВыбратьИзСписка(ВидыПДР, Элемент, ВидыПДР.НайтиПоЗначению(Элемент.Значение)); Если ВыбранныйЭлемент <> Неопределено Тогда Элемент.Значение = ВыбранныйЭлемент.Значение; КонецЕсли; СтандартнаяОбработка = Ложь; КонецПроцедуры //Пример 2 Процедура СчетКтНачалоВыбора(Элемент, СтандартнаяОбработка) СчетаКт = Новый СписокЗначений; СчетаКт.Добавить(ПланыСчетов.Хозрасчетный.РасчетыСПоставщиками); СчетаКт.Добавить(ПланыСчетов.Хозрасчетный.РасчетыСПодотчетнымиЛицами); СчетаКт.Добавить(ПланыСчетов.Хозрасчетный.РасчетыСПрочимиПоставщикамиИПодрядчиками); СчетаКт.Добавить(ПланыСчетов.Хозрасчетный.РасчетыПоТекущимОперациям); СчетаКт.Добавить(ПланыСчетов.Хозрасчетный.ПрочиеДоходы); ВыбранныйЭлемент = ВыбратьИзСписка(СчетаКт, Элемент, СчетаКт.НайтиПоЗначению(Элемент.Значение)); Если ВыбранныйЭлемент <> Неопределено Тогда Элемент.Значение = ВыбранныйЭлемент.Значение; КонецЕсли; СтандартнаяОбработка = Ложь; КонецПроцедуры