Документна основании с табличными частями
08.08.2012
13:27
#1
"Добрый день!
Имеется документ с двумя табличными частями (Договор). Первая табличная часть - студенты (одна колонка, данные добавляются из справочника физлиц); вторая табличная часть - обязательства (первая колонка Дата, вторая сумма). На основании договора через модуль делается другой документ Текущие данные по договору. Реквизиты копируются корректно, с табличными частями возникли проблемы - не получается скопировать.
Функция СоздатьДокументТекущиеДанныеПоДоговору()
НовыйДок = Документы.ТекущиеДанныеПоДоговору.СоздатьДокумент();
НовыйДок.Дата = ТекущаяДата();
НовыйДок.РегНомерДоговора=Объект.РегНомерДоговора;
НовыйДок.Контрагент=Объект.Контрагент;
НовыйДок.ДатаПодписанияДоговора=Объект.ДатаПодписанияДоговора;
НовыйДок.НазваниеПотока=Объект.НазваниеПотока;
НовыйДок.ОбразовательнаяПрограмма=Объект.ОбразовательнаяПрограмма;
НовыйДок.ВидДоговора=Объект.ВидДоговора;
НовыйДок.ДатаНачала=Объект.ДатаНачала;
НовыйДок.ДатаОкончания=Объект.ДатаОкончания;
НовыйДок.КоличествоСтудентовПоДоговору=Объект.КоличествоСтудентовПоДоговору;
НовыйДок.Скидка=Объект.Скидка;
НовыйДок.СтатусДоговора=Объект.СтатусДоговора;
НовыйДок.ТемаКонтракта=Объект.ТемаКонтракта;
НовыйДок.Факультет=Объект.Факультет;
// Заполнить табличные части.
//(Тут должны быть Циклы с табличными частями)
НовыйДок.Записать(РежимЗаписиДокумента.Проведение);
КонецФункции"
Имеется документ с двумя табличными частями (Договор). Первая табличная часть - студенты (одна колонка, данные добавляются из справочника физлиц); вторая табличная часть - обязательства (первая колонка Дата, вторая сумма). На основании договора через модуль делается другой документ Текущие данные по договору. Реквизиты копируются корректно, с табличными частями возникли проблемы - не получается скопировать.
Функция СоздатьДокументТекущиеДанныеПоДоговору()
НовыйДок = Документы.ТекущиеДанныеПоДоговору.СоздатьДокумент();
НовыйДок.Дата = ТекущаяДата();
НовыйДок.РегНомерДоговора=Объект.РегНомерДоговора;
НовыйДок.Контрагент=Объект.Контрагент;
НовыйДок.ДатаПодписанияДоговора=Объект.ДатаПодписанияДоговора;
НовыйДок.НазваниеПотока=Объект.НазваниеПотока;
НовыйДок.ОбразовательнаяПрограмма=Объект.ОбразовательнаяПрограмма;
НовыйДок.ВидДоговора=Объект.ВидДоговора;
НовыйДок.ДатаНачала=Объект.ДатаНачала;
НовыйДок.ДатаОкончания=Объект.ДатаОкончания;
НовыйДок.КоличествоСтудентовПоДоговору=Объект.КоличествоСтудентовПоДоговору;
НовыйДок.Скидка=Объект.Скидка;
НовыйДок.СтатусДоговора=Объект.СтатусДоговора;
НовыйДок.ТемаКонтракта=Объект.ТемаКонтракта;
НовыйДок.Факультет=Объект.Факультет;
// Заполнить табличные части.
//(Тут должны быть Циклы с табличными частями)
НовыйДок.Записать(РежимЗаписиДокумента.Проведение);
КонецФункции"
08.08.2012
17:04
#2
Для того чтобы копировались табличные части нужно тоже код заполнения ТЧ нового документа написать. А почему просто не скопировать документ и только измененные реквизиты заменить?
08.08.2012
17:45
#4
"А в чем проблема?
НовыйДок.Студенты.Загрузить(Объект.Студенты.Выгрузить());
НовыйДок.Обязательства.Загрузить(Объект.Обязательства.Выгрузить());
НовыйДок.Записать();"
НовыйДок.Студенты.Загрузить(Объект.Студенты.Выгрузить());
НовыйДок.Обязательства.Загрузить(Объект.Обязательства.Выгрузить());
НовыйДок.Записать();"
Читают тему
(гостей: 1)