Имя: Пароль:
1C
1С v8
Подбор в ТЧ документа из регистра сведений
,
0 Масянька
 
05.08.20
10:49
День добрый!
Есть РС, есть док-т. Нужно в ТЧ док-та выбрать из РС.
Реквизит ТЧ - строка (в который нужно выбрать).
Реквизит РС - строка (который нужно добавить.
В форме документа у реквизита:

Процедура МатериалыСерийныйНомерНачалоВыбора(Элемент, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;
    
    ТекущаяСтрока = ЭлементыФормы.Материалы.ТекущаяСтрока;
    
    Парам = Новый Структура;
    Отбор = Новый Структура;
    Отбор.Вставить("Номенклатура", ТекущаяСтрока.Номенклатура);
    Парам.Вставить("Отбор", Отбор);
    
    ОткрытьФорму("РегистрСведений.СрокиГарантииНоменклатуры.ФормаСписка", Парам, ЭтотОбъект);

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

РС форма списка:
Процедура РегистрСведенийСписокВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
    
   ВыбранныйНаборДанных = Новый Структура("СерийныйНомер, ДокументОприходования");
    ВыбранныйНаборДанных.СерийныйНомер = Элемент.ТекущаяСтрока.СерийныйНомер;
    ВыбранныйНаборДанных.ДокументОприходования = Элемент.ТекущиеДанные.ДокументОприходования;
   ОповеститьОВыборе(ВыбранныйНаборДанных);
    
КонецПроцедуры

Не работает...
Что не так?
Спасибо.
1 PuhUfa
 
05.08.20
10:55
(1) ОповеститьОВыборе оповещает не того, ну или ОбработкаВыбора висит не там, это смотря с какой стороны смотреть -)
2 Масянька
 
05.08.20
11:00
(1) ОбработкаВыбора висит на реквизите ТЧ док-та.
3 Масянька
 
05.08.20
11:01
+(2) Нужном реквизите.
4 PuhUfa
 
05.08.20
11:02
(2) Мы не возражаем -) А теперь посмотри кого оповещает - ОповеститьОВыборе(ВыбранныйНаборДанных);
5 FIXXXL
 
05.08.20
11:07
(2) ОткрытьФорму("РегистрСведений.СрокиГарантииНоменклатуры.ФормаСписка", Парам, ЭтотОбъект); тут владелец - исходная ФОРМА, не элемент
6 Ёпрст
 
05.08.20
11:08
(0) для оф нужно пользовать текущиеданные, обработкавыбора нужно назначить самой форме, а не реквизиту. Передавать надо этаформа, а не этотобъект
7 FIXXXL
 
05.08.20
11:08
(5) + соответственно ОповеститьОВыборе() из РС оповещает ФОРМУ, а не Элемент формы
8 Ёпрст
 
05.08.20
11:10
И..для оф можно не использовать оповестить о выборе, а свму форму открывать в режиме выбора
9 Масянька
 
05.08.20
11:10
Обычные формы (не УФ).
10 Масянька
 
05.08.20
11:11
(5) Это я уже и так, и этак.
Изначально - ОткрытьФорму("РегистрСведений.СрокиГарантииНоменклатуры.ФормаСписка", Парам)
11 Масянька
 
05.08.20
11:12
(8) У меня РС.
Я попыталась в РС (списке выбора):
Процедура ПриОткрытии()
    
    РежимВыбора = Истина;
    ЗакрыватьПриВыборе = Истина;
КонецПроцедуры
12 Масянька
 
05.08.20
11:14
+ (11) Результат тот же - пусто.
13 FIXXXL
 
05.08.20
11:15
(10) кароч
или
ОткрытьФорму("РегистрСведений.СрокиГарантииНоменклатуры.ФормаСписка", Парам, ЭЛЕМЕНТ)
или ОбработкаВыбора() вешай на форму и поптом присваивай то что прилетело тек.строке в ТЧ
14 Масянька
 
05.08.20
11:23
Оставила:
форма док-та:
Процедура МатериалыСерийныйНомерНачалоВыбора(Элемент, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;
    
    ТекущаяСтрока = ЭлементыФормы.Материалы.ТекущаяСтрока;
    
    Парам = Новый Структура;
    Отбор = Новый Структура;
    Отбор.Вставить("Номенклатура", ТекущаяСтрока.Номенклатура);
    Парам.Вставить("Отбор", Отбор);
    
    ОткрытьФорму("РегистрСведений.СрокиГарантииНоменклатуры.ФормаСписка", Парам, Элемент);

КонецПроцедуры

РС форма списка:
Процедура РегистрСведенийСписокВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
    
    ВыбранныйНаборДанных = Новый Структура("СерийныйНомер, ДокументОприходования");
    ВыбранныйНаборДанных.СерийныйНомер = Элемент.ТекущаяСтрока.СерийныйНомер;
    ВыбранныйНаборДанных.ДокументОприходования = Элемент.ТекущиеДанные.ДокументОприходования;
    ОповеститьОВыборе(ВыбранныйНаборДанных);
    
КонецПроцедуры

В поле (реквизит ТЧ) - CY есть, но - открылось окно док-та Поступления ТМЦ. А вызов был из требования. Откуда поступление?
15 Масянька
 
05.08.20
11:39
(13) Спасибо!