Имя: Пароль:
1C
1С v8
ОФ. Как передать параметры в форму выбора?
,
0 Puzoter
 
12.08.19
14:18
Имеется элемент формы типа документ. Нужно при выборе документа из этого элемента передать в форму выбора некоторые параметры. Вариант с отменой стандартной обработки при начале выбора и открытии формы выбора программно не подходит, т.к. нужно чтобы отработали все прочие обработчики элемента формы.
1 НадюшаЯ
 
12.08.19
14:20
Какие прочие, в чем проблема прописать и их?
2 Puzoter
 
12.08.19
14:27
(1) Вообще задача следующая: надо при выборе задать отбор и потом проверить результат выбора. Для проверки подходит событие "Обработка выбора", но оно сработает только если не отменяли стандартную обработку при начале выбора. Следовательно нужно передать параметры отбора в форму выбора не отменяя стандартной обработки. Вопрос более теоретический - хочется найти наиболее оптимальный вариант.
3 НадюшаЯ
 
12.08.19
14:29
а почему при начале выбора это не сделать?
4 DrWatson
 
12.08.19
14:55
(2) Отбор задаётся через "параметры выбора" и "связи параметров выбора" у элемента формы. События при этом перехватывать не придётся.
5 DrWatson
 
12.08.19
14:57
(2) Если ты сам открываешь форму выбора, то нужно указывать владельца, тогда сработают все стандартные события при выборе.
6 НадюшаЯ
 
12.08.19
15:25
(5) в обычных формах эти штуки не работают
7 ДенисЧ
 
12.08.19
15:28
(6)  Правда???

Процедура ДокНачалоВыбора(Элемент, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    
    фрм = Документы.РеализацияТоваровУслуг.ПолучитьФормуВыбора(, Элемент);
    фрм.Открыть();
КонецПроцедуры

Процедура ДокОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    сообщить("Выбрали " + ВыбранноеЗначение);
КонецПроцедуры
8 НадюшаЯ
 
12.08.19
15:32
(6) угу
9 ДенисЧ
 
12.08.19
15:33
(8) А чего ты из себя сов строишь? Я показал работающий код, нарисованный в ОФ за 1 минт.
10 ДенисЧ
 
12.08.19
15:33
*минуту
11 НадюшаЯ
 
12.08.19
15:37
(9) кого простите я из себя строю?
Там помимо открытия и возвращения значения необходимо передать на форму некоторые значения
12 ДенисЧ
 
12.08.19
15:39
(11) Сову, однако.
Да и параметры тоже не сложней, чем байты пересылать

    фрм = Документы.РеализацияТоваровУслуг.ПолучитьФормуВыбора(, Элемент);
фрм.Параметр1 = Значение1;
...
    фрм.Открыть();
13 Puzoter
 
12.08.19
15:40
(7) обработка выбора не срабатывает если в начале выбора стандартная обработка = ложь
14 ДенисЧ
 
12.08.19
15:40
(13) Тебе обработку выслать?
15 ДенисЧ
 
12.08.19
15:41
16 НадюшаЯ
 
12.08.19
15:41
(13) вероятно элемент в качестве владельца не присваеваете
17 НадюшаЯ
 
12.08.19
15:43
если заменить фрм.Открыть() на фрм.ОткрытьМодально() то все можно будет сделать в рамках одной процедуры
18 Puzoter
 
12.08.19
15:55
(14) Точно, с владельцем все ок.
19 Puzoter
 
12.08.19
16:19
(16) так точно
Основная теорема систематики: Новые системы плодят новые проблемы.