Имя: Пароль:
1C
1С v8
В подборе закрывается форма после выбора первого элемента.
0 MAlek5ey
 
29.03.16
10:26
Может кто-то подскажет почему так происходит.
1Сv8.2.18.109. Обычное приложение.
Создаю подбор номенклатуры в РасходнуюНакладную. Если получаю ФормуВыбора по умолчанию, то все работает как надо. А если получаю другую форму, то она закрывается после выбора первого элемента.

    // работает
    ФормаПодбора = Справочники.Номенклатура.ПолучитьФормуВыбора( ,ЭлементыФормы.ТабличнаяЧасть1);
    ФормаПодбора.ЗакрыватьПриВыборе = Ложь;
    ФормаПодбора.Открыть();
    // не работает
    ФормаПодбора = Справочники.Номенклатура.ПолучитьФормуВыбора("ФормаПодбора",ЭлементыФормы.ТабличнаяЧасть1);
    ФормаПодбора.ЗакрыватьПриВыборе = Ложь;
    ФормаПодбора.Открыть();

Можно ли для подбора использовать форму, не назначенную по умолчанию?
1 Fragster
 
гуру
29.03.16
10:28
да, но нужно еще и чтобы основным реквизитом был список + не назначать параметры после открытия, а передавать их в ОткрытьФорму. Ну и параметр РежимВыбора также нужно указать, если это не указано у списка в открываемой форме.
2 MAlek5ey
 
29.03.16
11:07
(1) Сделал так:

    Парам = Новый Структура;
    //Парам.Вставить("РежимВыбора", Истина); // этот параметр не передается
    Парам.Вставить("ЗакрыватьПриВыборе", Ложь);
    ОткрытьФорму("Справочник.Номенклатура.Форма.ФормаПодбора", Парам, ЭлементыФормы.ТабличнаяЧасть1);

Параметр РежимВыбора почему-то не передается в открываемую форму. Его задал ПриОткрытии ФормыПодбора. В свойствах  ФормыПодбора Данные = СправочникСписок, ТипЗначения = СправочникСписок.Номенклатура.

Теперь ФормаПодбора не закрывается а уходит на второй план.
3 Fragster
 
гуру
29.03.16
11:13
(2) есть мнение, что там в обработках открытия формы, выбора еще есть какой-то код
4 Карупян
 
29.03.16
11:15
может в форме подбора при выборе стоит Закрыть?
5 MAlek5ey
 
29.03.16
11:38
(3) Вот ОбработкаВыбораТЧ
Процедура ТабличнаяЧасть1ОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    Элемент.ДобавитьСтроку();
    Элемент.ТекущиеДанные.Товар = ВыбранноеЗначение;
КонецПроцедуры

Это ПриОткрытии ФормыПодбора

Процедура ПриОткрытии()
    ЭтаФорма.РежимВыбора = Истина;
КонецПроцедуры
6 Fragster
 
гуру
29.03.16
11:44
СтандартнаяОбработка = Ложь;

В ПриОткрытии не надо кода как правило. Ну, если только не Элементы.СписокНеОсновнойРеквизит.РежимВыбора = Параметры.РежимВыбора
7 Fragster
 
гуру
29.03.16
11:45
и МножественныйВыбор еще
8 MAlek5ey
 
30.03.16
11:37
Вообщем что-то я напутал. Не работает у меня и первый вариант. Сейчас ситуация такая.
1Сv8.2.18.109. Обычное приложение. Формы соответственно тоже обычные.
Создал чистую конфигурацию. Справочник Номенклатура и документ РасходнаяНакладная.
Вот модуль формы РасходнойНакладной:

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

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

В ФормеВыбора спрНоменклатура никаких процедур не прописывал. Только для просмотра активировал пустую процедуру ПриОткрытии, для точки останова.

В общем когда я в ФормеВыбора выбираю элемент, эта форма уходит на задний план, а на переднем плане остается РасходнаяНакладная. Я уже всю голову сломал, не могу понять в чем причина. Помогите кто-нибудь.

Вот тут выложил БазуДанных
https://drive.google.com/file/d/0B1aIdD_kCQJ7Tkt5cVR5a2ptSUU/view?usp=sharing
9 Fragster
 
гуру
30.03.16
11:57
СтандартнаяОбработка = Ложь;
10 MAlek5ey
 
30.03.16
14:51
(9) Вставляю СтандартнаяОбработка = Ложь, все равно на передний план выходит форма накладной.

Процедура ТабличнаяЧасть1ОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    Элемент.ДобавитьСтроку();
    Элемент.ТекущиеДанные.Товар = ВыбранноеЗначение;
КонецПроцедуры

Как можно активизировать форму выбора?
11 Fragster
 
гуру
30.03.16
15:27
открывай форму в режиме "блокировать окно владельца"