Заполнение табличной части обработки (Управляемое приложение)
☑
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
Всем спасибо, нужно так:
&НаСервере
Процедура ПолучитьТаблицуСпецификации()
ДанныеДляСозданияТЗ = РеквизитФормыВЗначение("Объект").ДанныеДляСоздания;
Для каждого СтрСостав Из Объект.Спецификация.Состав Цикл
НовСтр = ДанныеДляСозданияТЗ.Добавить();
НовСтр.Номенклатура = СтрСостав.Номенклатура;
КонецЦикла;
ЗначениеВРеквизитФормы(ДанныеДляСозданияТЗ, "Объект.ДанныеДляСоздания");
КонецПроцедуры // ()
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший