Имя: Пароль:
1C
 
УФ. Заполнение табличной части обработки
0 Max Street
 
16.09.15
11:22
Привет

На сервере заполняю табличную часть обработки:

НоваяСтрока = Объект.ТЧ.Добавить();
НоваяСтрока.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;

Далее на клиенте на экран вывожу форму с этой табличной частью.

    Если Объект.ТЧ.Количество() > 0 Тогда
        ФормаОбработки = ПолучитьФорму("ВнешняяОбработка.ИмяОбработки.Форма");
        ВозвращаемоеЗначение = ФормаОбработки.ОткрытьМодально();
    КонецЕсли;

В результате на экране пустая табличная часть.

Господа, что делаю не так, подскажите, пожалуйста?
1 Апош
 
16.09.15
11:23
не веришь в силу РеквизитФормыВЗначение("Объект") и антисилу ЗначениеВРеквизитФормы(об, "Объект");
2 Max Street
 
16.09.15
11:25
(1) делал вот так

ТЧОбъект = РеквизитФормыВЗначение("Объект").ТЧ;
    
        НоваяСтрока= ТЧОбъект.Добавить();
        НоваяСтрока.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
    
    ЗначениеВРеквизитФормы(ТЧОбъект , "Объект.ТЧ");

тот же результат. А что неправильно?
3 olegves
 
16.09.15
11:28
(2) ты объект теряешь в 1й строке
4 Max Street
 
16.09.15
11:30
(2) А как правильно? Поправь, пожалуйста
5 Рэйв
 
16.09.15
11:30
Об = РеквизитФормыВЗначение("Объект");

    
НоваяСтрока= Об.ТЧ.Добавить();
НоваяСтрока.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
    
ЗначениеВРеквизитФормы(Об , "Объект");
6 Max Street
 
16.09.15
11:35
(5) Спасибо, но тот же результат - ТЧ на форме пустая
7 Апош
 
16.09.15
11:36
(6) Рэйв тут ни при чём
8 Max Street
 
16.09.15
11:42
(7) знаю.

На сервере сейчас написано вот так:

Об = РеквизитФормыВЗначение("Объект");

    
НоваяСтрока= Об.ТЧ.Добавить();
НоваяСтрока.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
    
ЗначениеВРеквизитФормы(Об , "Объект");


На клиенте вот так:
    Если Объект.ТЧ.Количество() > 0 Тогда
        МодальнаяФорма = ПолучитьФорму("ВнешняяОбработка.Обработка.Форма");
        ВозвращаемоеЗначение = МодальнаяФорма.ОткрытьМодально();
    КонецЕсли;

Так правильно?
9 Рэйв
 
16.09.15
11:43
(6)У меня вот так нормально добавляет


&НаКлиенте
Процедура ДобавитьСтроку(Команда)
    ДобавитьСервер();
    
КонецПроцедуры
&НаСервере
Процедура ДобавитьСервер()
    Нов=Объект.ТЧ.Добавить();
    Нов.номенклатура=Справочники.Номенклатура.Товар;
    
КонецПроцедуры
10 Рэйв
 
16.09.15
11:43
Могу дать обработку:-)
11 Fedor-1971
 
16.09.15
11:43
(8) т.е. ты заполнил данные в одной форме (Объект1) потом открываешь другую форму (Объект2)? Если Объект1 не сохранён, то ты ничего не получешь в Объект2.
Если так - передай в открываемую форму параметрами

(9) у него, по ходу, две разных формы
12 Max Street
 
16.09.15
11:48
(11) да, две разные формы. Не знал, что это важно.
Только параметрами можно передать?
13 Fedor-1971
 
16.09.15
11:58
(12) в общем случае - да. Можешь и ВременнымХранилищем воспользоваться
14 Max Street
 
16.09.15
11:58
(13) спасибо
Закон Брукера: Даже маленькая практика стоит большой теории.