Имя: Пароль:
1C
Админ
Форма выбора
0 sanja26
 
21.10.11
16:03
Как получить форму владелец поля ввода из которого была открыта форма выбора документа? В форме выбора "Владелец" просто "поле ввода"
1 sanja26
 
21.10.11
16:04
Событие поля ввода "НачалоВыбора"
2 Ненавижу 1С
 
гуру
21.10.11
16:05
а причем тут секция Админ?

ВладелецФормы
3 sanja26
 
21.10.11
16:07
(2) там просто "Поле ввода"
4 riv40rus
 
21.10.11
16:09
(0) ты сам понял что написал?
5 Ненавижу 1С
 
гуру
21.10.11
16:10
(3) тогда передавай параметром
6 sanja26
 
21.10.11
16:14
(5) куда всунуть этот параметр? Стандартная обработка, а в форме выбора надо настроить ДокументСписок
7 Ненавижу 1С
 
гуру
21.10.11
16:15
(6) а зачем тебе владелец то?
8 EvgeniuXP
 
21.10.11
16:15
www.spec8.ru
9 sanja26
 
21.10.11
16:19
потому что поле ввода, из которого вызывается форма выбора тип "СписокЗначений". Жму поле ввода, открывается пустой список, жиу добавить - открывается типовая форма выбора документа Заказ. в форме выбора должны быть только закрытые заказы(проверяется по регистру "заказы") по опреленному контрагенту.
Если сделать стандартнуюОбработку = Ложь - слетает форма спискаЗначений, просто открывается моя форма выбора
10 sanja26
 
21.10.11
16:23
Процедура ПолеВводаВариантаЗначенияНачалоВыбора(Элемент, СтандартнаяОбработка)

   // Заполним список возможных типов для выбора  
   
   СписокВидов = Новый СписокЗначений;
   МассивТипов = Новый Массив;
   МассивТипов.Добавить(Тип("ДокументСсылка.ЗаказПоставщику"));
   РазмерСписка = МассивТипов.Количество();

       // В случае одного элемента выбирать нечего, нужное значение мы установили при выборе действия,
       // поэтому этот случай здесь не обрабатывается.
       
       Для каждого ЭлементМассива Из МассивТипов Цикл

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

       СписокВидов.СортироватьПоПредставлению();

       НачальноеЗначение = Неопределено;
       НачальноеЗначениеСписка = СписокВидов.Получить(0);
       ВыбранныйЭлемент = ВыбратьИзСписка(СписокВидов, Элемент, НачальноеЗначениеСписка);

       Если ВыбранныйЭлемент = Неопределено Тогда // отказ от выбора
           СтандартнаяОбработка = Ложь;
           Возврат;
       КонецЕсли;

       Если Документы.ТипВсеСсылки().СодержитТип(ВыбранныйЭлемент.Значение) Тогда
           ЭлементыФормы.ПолеВводаВариантаЗачения.Значение = Новый СписокЗначений;
           МассивТипов = Новый Массив;
           МассивТипов.Добавить(ВыбранныйЭлемент.Значение);
           ЭлементыФормы.ПолеВводаВариантаЗачения.Значение.ТипЗначения = Новый ОписаниеТипов(МассивТипов);
       Иначе
           Элемент.Значение = ОбщегоНазначения.ПустоеЗначениеТипа(ВыбранныйЭлемент.Значение);
       КонецЕсли;
       
       //Форма = Документы.ЗаказПоставщику.ПолучитьФормуВыбора("ФормаВыбораНезакрытых");
       //Форма.РежимВыбора = Истина;          
       //Форма.Открыть();
       
       
КонецПроцедуры // ПолеВводаВариантаЗаченияНачалоВыбора()
11 sanja26
 
21.10.11
16:32
ап
12 Mort
 
21.10.11
16:35
Мой тебе совет: делай свою форму подбора нужного списка документов. Из типовой формы редактирования списка мало чего выжать, и более того можно сделать гораздо удобней.
13 sanja26
 
21.10.11
16:36
Уже на типовую много времени потрачено
14 sanja26
 
21.10.11
16:58
Может как-то можно программно вызвать форму Списка значений с типом "Заказ"