|   |   | 
| 
 | Открытие формы выбора справочника в установленной группе | ☑ | ||
|---|---|---|---|---|
| 0
    
        LivingStar 04.05.14✎ 16:22 | 
        У документа есть поле Исполнитель. Тип поля исполнитель справочник.Контрагенты. Нужно что бы при открытии открывался в каталоге исполнитель нужный подкаталог по установленному отбору. Что я не так делаю? Почему никак не могу открыть для выбора иерархию в нужном виде?
 В процедуре задаю Процедура КонтрагентИсполнительНачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ФормаВыбораИсполнителя = ПолучитьФорму("Справочник.Контрагенты.ФормаВыбора", , Элемент); ГородРодитель = Справочники.Контрагенты.НайтиПоНаименованию(Город); ФормаВыбораИсполнителя.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВИерархии; ФормаВыбораИсполнителя.Отбор.Ссылка.Значение = ГородРодитель; ФормаВыбораИсполнителя.Отбор.Ссылка.Использование = ИСТИНА; ФормаВыбораИсполнителя.ОткрытьМодально(); | |||
| 1
    
        LivingStar 04.05.14✎ 16:55 | 
        решил     | |||
| 2
    
        su_mai 04.05.14✎ 17:01 | 
        (1) Напиши как     | |||
| 3
    
        LivingStar 05.05.14✎ 08:59 | 
        (2)
 // LivingStar 2014_05_04 -> Процедура спрКонтрагентИсполнительНачалоВыбора(Элемент, СтандартнаяОбработка) // LivingStar 2014_05_04 -> //Отключим стандартный выбор, так как делаем свой :) СтандартнаяОбработка = Ложь; //Получаем форму и привязываем ее к Владельцу - Элемент ФормаВыбора = Справочники.Контрагенты.ПолучитьФормуВыбора(, Элемент); //Установим отбор по Родителю справочника //ЕСЛИ НА ФОРМЕ ВЫБОРА СЛЕВА ЕСТЬ ДЕРЕВО ГРУПП, то нужно установить значение родителя в нем: ФормаВыбора.ЭлементыФормы.СправочникДерево.ТекущаяСтрока = Справочники.Контрагенты.НайтиПоНаименованию(Город); //ЕСЛИ НА ФОРМЕ ТОЛЬКО СПИСОК НОМЕНКЛАТУРЫ, то устанавливаем так: ФормаВыбора.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = Истина; ФормаВыбора.ЭлементыФормы.СправочникСписок.ТекущийРодитель = Справочники.Контрагенты.НайтиПоНаименованию(Город); //Откроем выбор ФормаВыбора.ОткрытьМодально(); КонецПроцедуры // <- | |||
| 4
    
        LivingStar 06.05.14✎ 14:58 | 
        (3) Нужную группу то открывает, а вот если выбран какой либо элемент, его в нужном каталоге не открывает ((( Открывается просто указанная группа, без установки курсора на уже выбранного в поле контрагента.     | |||
| 5
    
        ИС-2 06.05.14✎ 15:03 | 
        (0) Есть свойство текущий элемент - находишь первый элемент этой группы и передаешь его в это свойство, открываешь форму.     | |||
| 6
    
        ИС-2 06.05.14✎ 15:03 | 
        только за чем открывать модально, если передан владелец формы     | |||
| 7
    
        LivingStar 06.05.14✎ 15:05 | 
        немного поправил, норм нет? вроде открывает как надо введенный уже элемент
 // LivingStar 2014_05_04 -> Процедура спрКонтрагентИсполнительНачалоВыбора(Элемент, СтандартнаяОбработка) // LivingStar 2014_05_04 -> // 2014_05_06 доработка Если Не ЗначениеЗаполнено(Элемент.Значение) Тогда //Отключим стандартный выбор, так как делаем свой :) СтандартнаяОбработка = Ложь; //Получаем форму и привязываем ее к Владельцу - Элемент ФормаВыбора = Справочники.Контрагенты.ПолучитьФормуВыбора(, Элемент); //Установим отбор по Родителю справочника //ЕСЛИ НА ФОРМЕ ВЫБОРА СЛЕВА ЕСТЬ ДЕРЕВО ГРУПП, то нужно установить значение родителя в нем: ФормаВыбора.ЭлементыФормы.СправочникДерево.ТекущаяСтрока = Справочники.Контрагенты.НайтиПоНаименованию(Город); //ЕСЛИ НА ФОРМЕ ТОЛЬКО СПИСОК НОМЕНКЛАТУРЫ, то устанавливаем так: ФормаВыбора.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = Истина; ФормаВыбора.ЭлементыФормы.СправочникСписок.ТекущийРодитель = Справочники.Контрагенты.НайтиПоНаименованию(Город); //Откроем выбор ФормаВыбора.ОткрытьМодально(); КонецЕсли; КонецПроцедуры | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |