Имя: Пароль:
1C
 
передача данных из подчиненной формы в родительскую
,
0 men47
 
18.05.17
09:50
Доброе утро, подскажите, что не так.

Обычные формы. Внешняя обработка. Имею реквизит табличной части, в которой нужно заполнить список значений. Создал отдельную форму для того чтобы можно было удобно выбрать значения для заполнения списка значений.

ПриНачалеВыбора использую код:

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

на второй форме по нажатию "ОК":

Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    
    ОповеститьОВыборе(ЭлементыВыбора);
    
КонецПроцедуры


и в реквизите описываю

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


но ОбработкаВыбора не вызывается, подскажите, почему?
1 cw014
 
18.05.17
09:52
Попробуй вместо "Сообщить(ВыбранноеЗначение);" поставить "Сообщить(ТипЗнч(ВыбранноеЗначение));" - что нибудь выведет?
2 Ёпрст
 
18.05.17
09:52
потому, что с ОповеститьОВыборе событие прилетает в другое событие родительской формы
3 men47
 
18.05.17
09:54
(1) ОбработкаВыборавообще не вызывается, отладкой смотрел

(2) я на родительской форме у реквизита прописал данное событие, причем я пытался делать и через форму, такая же беда (т.е.  ОткрытьФорму(ФормаВыбора,,ЭтаФорма); и у родительской формы прописывал ОбработкаВыбора, тоже не вызывается
4 Ёпрст
 
18.05.17
09:54
ОбработкаВыбора.. Формы.
5 Ёпрст
 
18.05.17
09:55
туда прилетит.
6 men47
 
18.05.17
09:56
(4) не понял
7 cw014
 
18.05.17
09:56
Я так понимаю обычные формы? Посмотри, что у тебя в открываемой форме в реквизите ВладелецФормы торчит?
8 cw014
 
18.05.17
09:56
Я кажется знаю проблему
9 СвинТуз
 
18.05.17
09:57
ФормаВыбора.РежимВыбора=Истина;
10 Ёпрст
 
18.05.17
09:57
(6)
да ё.
У первой формы задай событие в свойствах - ОбработкаВыбора

Именно туда прилетает, когда делаешь ОповеститьОВыборе
11 Ёпрст
 
18.05.17
09:58
(9) это вообще не обязательно, если только не форму списка чего-либо открываешь
12 men47
 
18.05.17
09:59
13 men47
 
18.05.17
09:59
так проще объяснить...
14 men47
 
18.05.17
10:00
т.е. в отладке никакая точка не отрабатывает
15 СвинТуз
 
18.05.17
10:00
(11)
а у него не форма списка? )
16 men47
 
18.05.17
10:01
(15) произвольная форма
17 cw014
 
18.05.17
10:01
(15) в (7)
18 men47
 
18.05.17
10:02
(17) забавно, Владелец неопределено
19 cw014
 
18.05.17
10:04
Потому что не используй в основных формах "ОткрытьФорму"...
Делай так: ФормаВыбора.Открыть()
20 cw014
 
18.05.17
10:04
Млин
21 cw014
 
18.05.17
10:05
ФормаВыбора = ПолучитьФорму("ФормаСписка", Элемент);
ФормаВыбора.Открыть();
22 men47
 
18.05.17
10:06
Процедура ТабличноеПоле1ДокументыНачалоВыбора(Элемент, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    ФормаВыбора = ПолучитьФорму("ФормаСписка",,Элемент);
    
    //ФормаВыбора.РежимВыбора=Истина;
    ФормаВыбора.Открыть();
    //ОткрытьФорму(ФормаВыбора,,Элемент);
    //так тоже пытался не прилетает!!!!
    //ОткрытьФорму(ФормаВыбора,,ЭтаФорма);
КонецПроцедуры



владелец все равно неопределено у подчиненной формы
23 men47
 
18.05.17
10:08
все спасибо всем я дурак.... подсказке поддался поставил  ПолучитьФорму("ФормаСписка",,Элемент);

а надо  ПолучитьФорму("ФормаСписка",Элемент);
24 cw014
 
18.05.17
10:08
(23) Потому что читаешь невнимательно
25 men47
 
18.05.17
10:10
(24) нет я поставил дополнительную запятую т.к. мне синтаксис-помощник показал, что Владелец идет 3-тьим параметром, а не 2-рым, я подумал, вы ошиблись
26 cw014
 
18.05.17
10:10
(25) Да ладно??? Смени справку

ОбработкаОбъект.<Имя обработки> (DataProcessorObject.<Имя обработки>)
ПолучитьФорму (GetForm)
Синтаксис:

ПолучитьФорму(<Форма>, <Владелец>, <КлючУникальности>)
Параметры:
27 men47
 
18.05.17
10:13
чтобы не быть голословным.....

http://savepic.ru/13993705.png
28 cw014
 
18.05.17
10:14
(27) Контекстная подсказка - зло. Попробуй конструктор ОписаниеТипов сделать - он тебе тоже выведет первый редкий конструктор вместо второго наиболее популярного
29 Redkiy
 
18.05.17
10:22
(0) Функция ОбработкаВыбора привязана к событиям формы?
30 cw014
 
18.05.17
10:23
(29) Вопрос уже закрыт )))
31 men47
 
18.05.17
10:30
(30) это было СлоуМо=))