Имя: Пароль:
1C
1С v8
8.2 Заполнить табличную часть по документу основанию
0 Hans
 
20.11.11
20:51
сабж как сделать? краткую инструкцию имея на форме кнопку, у меня то данные передеются не те, то нельзя изменнять объект... Заипало мля..
1 el-gamberro
 
20.11.11
20:52
некуй данные структуры на сервер передавать :))
2 el-gamberro
 
20.11.11
20:54
запони на сервере таблицу значений и загрузи ее в табличную часть документа. чтобы получить тз нужной стуктуры можно выгрузить пустую табличную часть
3 Hans
 
20.11.11
20:58
вот код который не работает... Сейчас пишет - Нельзя изменять поле, содержащее объект данных формы.
&НаКлиенте
Процедура ЗаполнитьПоЗаказу(Команда)
   // Вставить содержимое обработчика.
   Заказ = Объект.ДокументОснование;
   Если ТипЗнч(Заказ) = Тип("ДокументСсылка.ЗаказКлиента") тогда
       //РеквизитФормыВЗначение(
       ПолучитьГрафикОплатЗаказа(ЭтаФорма.Объект);
       //КопироватьДанныеФормы(СчетНаОплату,ЭтаФорма.Объект);
       ЭтаФорма.Модифицированность = Истина;
   КонецЕсли;
   
КонецПроцедуры

&наСервере
Процедура ПолучитьГрафикОплатЗаказа(СчетнаОплату)
   ТаблицаОплат = СчетНаОплату.ДокументОснование.ЭтапыГрафикаОплаты.Выгрузить();
   СчетНаОплату.ЭтапыГрафикаОплаты.Загрузить(ТаблицаОплат);
   
КонецПроцедуры
//_
4 Hans
 
20.11.11
22:14
вот как надо:

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

&наСервере
Процедура ЗаполнитьГрафикОплатЗаказа()
   СчетНаОплату = РеквизитФормыВЗначение("Объект");

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