Имя: Пароль:
1C
1С v8
Заполнение табличной части обработки (Управляемое приложение)
0 НеПалец
 
25.05.13
22:33
&НаКлиенте
Процедура ДополнитьПоКомплектации(Команда)
   
   ВесДляСоздания = Объект.КоличествоСоздаваемогоПродукта - Объект.ДанныеДляЗагрузки.Итог("Вес");
   ПолучитьТаблицуСпецификации();
   //ТаблицаСпецификации = ПолучитьТаблицуСпецификации(Объект.Спецификация, Объект);    
   
   
КонецПроцедуры

&НаСервере
Функция ПолучитьТаблицуСпецификации(Спецификация)


   ДанныеДляСозданияТЗ = РеквизитФормыВЗначение("Объект").ДанныеДляСоздания;
   
   Для каждого СтрСостав Из Объект.Спецификация.Состав Цикл
       
       НовСтр = ДанныеДляСозданияТЗ.Добавить();
       НовСтр.Номенклатура = СтрСостав.Номенклатура;
   
   КонецЦикла;
   
   //ЗначениеВРеквизитФормы(ДанныеДляСозданияТЗ, "ДанныеДляСоздания");
   //ЗначениеВРеквизитФормы(Документ, "Объект.ДанныеДляСоздания");



КонецФункции // ()

По факту выполнения на форме табличное поле пустое.
Как правильно?
1 Max Street
 
25.05.13
22:39
в процедуре на клиенте не перкдал параметр
2 НеПалец
 
26.05.13
01:06
&НаКлиенте
Процедура ДополнитьПоКомплектации(Команда)
   
   ВесДляСоздания = Объект.КоличествоСоздаваемогоПродукта - Объект.ДанныеДляЗагрузки.Итог("Вес");
   ПолучитьТаблицуСпецификации();
   //ТаблицаСпецификации = ПолучитьТаблицуСпецификации(Объект.Спецификация, Объект);    

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

&НаСервере
Функция ПолучитьТаблицуСпецификации()


   ДанныеДляСозданияТЗ = РеквизитФормыВЗначение("Объект").ДанныеДляСоздания;
   
   Для каждого СтрСостав Из Объект.Спецификация.Состав Цикл
       
       НовСтр = ДанныеДляСозданияТЗ.Добавить();
       НовСтр.Номенклатура = СтрСостав.Номенклатура;
   
   КонецЦикла;
   
   //ЗначениеВРеквизитФормы(ДанныеДляСозданияТЗ, "ДанныеДляСоздания");

   //ЗначениеВРеквизитФормы(Документ, "Объект.ДанныеДляСоздания");




КонецФункции // ()

Код реально такой.
На самом деле нет параметра.

Выполняется без ошибки, но табличная часть не заполняется (пустая).

При этом:

   Для каждого СтрСостав Из Объект.Спецификация.Состав Цикл
       
       НовСтр = ДанныеДляСозданияТЗ.Добавить();
       НовСтр.Номенклатура = СтрСостав.Номенклатура;
   
   КонецЦикла;

цикл проходит, но таблица в форме остается пустой.
"ДанныеДляСоздания" - табличная часть внешней обработки.
С управляемым только начал работать, никак не могу победить работу с табличной частью/таблицей значений при передаче "клиент-сервер".
3 Max Street
 
26.05.13
01:20
нету возврат - функция ничего не возвращает
4 Любопытная
 
26.05.13
04:31
Ты с формы объект взял, обработал его, теперь верни обратно в форму
5 НеПалец
 
26.05.13
09:17
Всем спасибо, нужно так:


&НаСервере
Процедура ПолучитьТаблицуСпецификации()

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

КонецПроцедуры // ()