Имя: Пароль:
1C
1С v8
Повторное открытие формы подбора не нужно
0 Старик Юзергад
 
29.05.13
14:27
&НаКлиенте
Процедура ФильтрЗаявкаПодбор(Команда)
   
Парам = Новый Структура;
Парам.Вставить("РежимВыбора", Истина);
Парам.Вставить("ЗакрыватьПриВыборе", Ложь);

ФормаПодбора = ПолучитьФорму("Документ.Заявка.ФормаВыбора",Парам, Элементы.ФильтрЗаявка, ЭтаФорма.УникальныйИдентификатор);
 
ЭлементОтбораКоллекция = ФормаПодбора.Список.Отбор.Элементы.Добавить(ТИП("ЭлементОтбораКомпоновкиДанных"));

ЭлементОтбораКоллекция.ЛевоеЗначение    = Новый ПолеКомпоновкиДанных("НомерЗ");
ЭлементОтбораКоллекция.ПравоеЗначение    = Отчет.ФильтрНомерЗ;
ЭлементОтбораКоллекция.ВидСравнения    = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбораКоллекция.Использование    = Истина;

ФормаПодбора.Открыть();
   
КонецПроцедуры

Почему при повторном нажатии кнопки открывается еще одна форма в новом окне? Ведь я передаю в форму подбора ункальный идентификатор формы отчета. А он один и тот же.
1 Старик Юзергад
 
29.05.13
14:29
Мля, понял
2 Старик Юзергад
 
29.05.13
14:42
Реально фигня получается. При повторном запуске открывается в новом окне. Что не так делаю?

Парам = Новый Структура;
Парам.Вставить("РежимВыбора", Истина);
Парам.Вставить("ЗакрыватьПриВыборе", Ложь);
Парам.Вставить("Уникальность", ЭтаФорма.УникальныйИдентификатор);
// Парам.Вставить("Владелец", ЭтаФорма);

ФормаПодбора = ПолучитьФорму("Документ.Заявка.ФормаВыбора",Парам);
 
ФормаПодбора.Открыть();
3 kosts
 
29.05.13
14:48
(2) Для управляемых форм рекомендуется использовать вместо
Форма = ПолучитьФорму();
Форма.Открыть();
вот такое
ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>);
Попробуй, может взлетит...
4 mikecool
 
29.05.13
14:50
заполнять ключ уникальности
5 kosts
 
29.05.13
14:52
А по сабжу может быть УникальныйИдентификатор уже занят ЭтойФормой. Придумай свой УникальныйИдентификатор.
6 Старик Юзергад
 
29.05.13
14:53
(4)
Парам = Новый Структура;
Парам.Вставить("РежимВыбора", Истина);
Парам.Вставить("ЗакрыватьПриВыборе", Ложь);
//Парам.Вставить("Уникальность", ЭтаФорма.УникальныйИдентификатор);
// Парам.Вставить("Владелец", ЭтаФорма);

ФормаПодбора = ПолучитьФорму("Документ.Заявка.ФормаВыбора",Парам,Элементы.ФильтрЗаявка,ЭтаФорма.УникальныйИдентификатор);

ФормаПодбора.Открыть();

Не фига не взлетает. Из кнопки в новом окне всегда открывается....
7 kosts
 
29.05.13
14:55
(6) Что из (3) и (5) пробовал?
8 Старик Юзергад
 
29.05.13
14:55
(5)
Не работает, все равно при каждом запуске в новом окне, даже если первая форма уже открыта.

Парам = Новый Структура;
Парам.Вставить("РежимВыбора", Истина);
Парам.Вставить("ЗакрыватьПриВыборе", Ложь);

ФормаПодбора = ПолучитьФорму("Документ.Заявка.ФормаВыбора",Парам,Элементы.ФильтрЗаявка,"МойИдентификатор");

ФормаПодбора.Открыть();
9 Старик Юзергад
 
29.05.13
14:57
+(8) Что за хня может быть?
10 Старик Юзергад
 
29.05.13
14:58
пля, ну не модально же открывать...
11 Старик Юзергад
 
29.05.13
15:01
В жеппу! Сделал так, все заработало. Забил на принципы и открыл модально!

&НаКлиенте
Процедура ФильтрЗаявкаПодбор(Команда)
   
Парам = Новый Структура;
Парам.Вставить("РежимВыбора", Истина);
Парам.Вставить("ЗакрыватьПриВыборе", Ложь);

ФормаПодбора = ПолучитьФорму("Документ.Заявка.ФормаВыбора",Парам,Элементы.ФильтрЗаявка,);
 

ФормаПодбора.ОткрытьМодально();
   
КонецПроцедуры
12 Старик Юзергад
 
29.05.13
15:02
ФормаПодбора.ОткрытьМодально(900);
13 Старик Юзергад
 
29.05.13
15:03
Но хня абсолютно непонятная. Открываю по предопределенной кнопки панели списка значений.
14 kosts
 
29.05.13
15:20
Вот так у меня корректно работает (не открывается второй еще одна форма)

&НаКлиенте
Процедура ПодборТехнологов(Команда)
   
   СтруктураОтбора = Новый Структура;
   
   ПараметрыОткрытияФормы = Новый Структура;
   ПараметрыОткрытияФормы.Вставить("МножественныйВыбор", Истина);
   ПараметрыОткрытияФормы.Вставить("ЗакрыватьПриВыборе", Ложь);
   ПараметрыОткрытияФормы.Вставить("Отбор", СтруктураОтбора);
   ПараметрыОткрытияФормы.Вставить("АдресТехнологовВХранилище", ПоместитьТехнологовВХранилище());
   
   ОткрытьФорму("Справочник.ИнженерыТехнологи.Форма.ФормаВыбора", ПараметрыОткрытияФормы, Элементы.Технологи);
   
КонецПроцедуры
15 Старик Юзергад
 
29.05.13
15:33
(14) у меня то же самое написано.

На форме находится СписокЗначений. У списка есть панель с кнопкой "Подбор" и свойством автозаполнения.

В приСозданииНаСервере кнопке "подбор" назначаю свою команду формы.
   Элементы.ФильтрЗаявка.КоманднаяПанель.ПодчиненныеЭлементы.ФильтрЗаявкаПодбор.ИмяКоманды = "ФильтрЗаявкаПодбор";


&НаКлиенте
Процедура ФильтрЗаявкаПодбор(Команда)
   
Парам = Новый Структура;
Парам.Вставить("РежимВыбора", Истина);
Парам.Вставить("ЗакрыватьПриВыборе", Ложь);

ФормаПодбора = ПолучитьФорму("Документ.Заявка.ФормаВыбора",Парам,Элементы.ФильтрЗаявка);
 
ЭлементОтбораКоллекция = ФормаПодбора.Список.Отбор.Элементы.Добавить(ТИП("ЭлементОтбораКомпоновкиДанных"));

ЭлементОтбораКоллекция.ЛевоеЗначение    = Новый ПолеКомпоновкиДанных("Страна");
ЭлементОтбораКоллекция.ПравоеЗначение    = Отчет.ФильтрСтрана;
ЭлементОтбораКоллекция.ВидСравнения    = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбораКоллекция.Использование    = Истина;

//ФормаПодбора.Открыть();
ФормаПодбора.ОткрытьМодально(900);
   
КонецПроцедуры
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан