Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

ОФ. Как передать параметры в форму выбора?

ОФ. Как передать параметры в форму выбора?
Я
   Puzoter
 
12.08.19 - 14:18
Имеется элемент формы типа документ. Нужно при выборе документа из этого элемента передать в форму выбора некоторые параметры. Вариант с отменой стандартной обработки при начале выбора и открытии формы выбора программно не подходит, т.к. нужно чтобы отработали все прочие обработчики элемента формы.
 
 
   НадюшаЯ
 
1 - 12.08.19 - 14:20
Какие прочие, в чем проблема прописать и их?
   Puzoter
 
2 - 12.08.19 - 14:27
(1) Вообще задача следующая: надо при выборе задать отбор и потом проверить результат выбора. Для проверки подходит событие "Обработка выбора", но оно сработает только если не отменяли стандартную обработку при начале выбора. Следовательно нужно передать параметры отбора в форму выбора не отменяя стандартной обработки. Вопрос более теоретический - хочется найти наиболее оптимальный вариант.
   НадюшаЯ
 
3 - 12.08.19 - 14:29
а почему при начале выбора это не сделать?
   DrWatson
 
4 - 12.08.19 - 14:55
(2) Отбор задаётся через "параметры выбора" и "связи параметров выбора" у элемента формы. События при этом перехватывать не придётся.
   DrWatson
 
5 - 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;
...
    фрм.Открыть();
   Puzoter
 
13 - 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
если заменить фрм.Открыть() на фрм.ОткрытьМодально() то все можно будет сделать в рамках одной процедуры
   Puzoter
 
18 - 12.08.19 - 15:55
(14) Точно, с владельцем все ок.
   Puzoter
 
19 - 12.08.19 - 16:19
(16) так точно

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.