helpf.pro
Регистрация

v8: Формирование документа на основании

Sergei
11.10.2011 12:49Прочитано: 2962
Как записать табличную часть документа Док2, введенного на основании Док1:
Код 1C v 8.х
 Процедура КнопкаВыполнитьНажатие(Кнопка)
Для каждого стр из доки цикл
Если стр.ПКО = Документы.ПриходныйКассовыйОрдер.ПустаяСсылка() тогда
ДокРоз = стр.Розница.ПолучитьОбъект();
ДокРоз.Записать(РежимЗаписиДокумента.Запись);
Док = Документы.ПриходныйКассовыйОрдер.СоздатьДокумент();
ЗаполнитьЗначенияСвойств(Док, ДокРоз, , "Номер, Дата");
новстр = док.РасшифровкаПлатежа.Добавить();
новстр.СуммаВзаиморасчетов = док.СуммаДокумента;
новстр.СуммаПлатежа = док.СуммаДокумента;
новстр.СтавкаНДС = Перечисления.СтавкиНДС.НДС20;
новстр.КратностьВзаиморасчетов = 1;
Новстр.КурсВзаиморасчетов = 1;
СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.ДоходОтРозницы;
ФормаДокумента = Док.ПолучитьФорму("ФормаДокумента");
ФормаДокумента.Открыть();
КонецЕсли;
КонецЦикла;
КонецПроцедуры


Появляется ошибка не найден метод Добавить() В чем причина?
Изменено 11.10.11 12:57:29 по причине: Разукрасил код
Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
11.10.2011 13:26Ответ № 1
(0) Sergei, вот примеры кода создания документа(Создание нового документа):
Код 1C v 8.х
 //Создаем документ Выплата, Документ будет создан и показан пользователю, Но НЕ ЗАПИСАН
НовДок = Документы.ЗарплатаКВыплатеОрганизаций.ПолучитьФормуНовогоДокумента();
НовДок.Дата=ТекущаяДата();
НовДок.Организация=Организация;
НовДок.ПериодРегистрации=ПериодРегистрации;
НовДок.ответственный= глЗначениеПеременной("глТекущийПользователь");
НовДок.Комментарий="Выплата за "+МесяцСтрока;
НовДок.ЭлементыФормы.Комментарий.Доступность=Ложь;
Для Каждого ТекущаяСтрока Из ТаблицыЗначений Цикл // заполним табличную часть документа, из ТаблицыЗначений
НС=НовДок.зарплата.добавить();
нс.Авторасчет=истина;
нс.Физлицо = ТекущаяСтрока.Физлицо;
нс.ВыплаченностьЗарплаты=Перечисления.ВыплаченностьЗарплаты.НеВыплачено;
нс.сумма=ТекущаяСтрока.Результат;
КонецЦикла;
НовДок.Открыть();

//Для создания и записи документа используется следующий код:
НовДок = Документы.РасходнаяНакладная.СоздатьДокумент();
НовДок.Дата=ТекущаяДата();
НовыйДок.УстановитьНовыйНомер();
НовДок.Организация=Организация;
НовДок.ПериодРегистрации=ПериодРегистрации;
НовДок.ответственный= глЗначениеПеременной("глТекущийПользователь");
НовДок.Комментарий="Выплата за "+МесяцСтрока;
НовДок.ЭлементыФормы.Комментарий.Доступность=Ложь;
Для Каждого ТекущаяСтрока Из ТаблицыЗначений Цикл // заполним табличную часть документа, из ТаблицыЗначений
НС=НовДок.зарплата.добавить();
нс.Авторасчет=истина;
нс.Физлицо = ТекущаяСтрока.Физлицо;
нс.ВыплаченностьЗарплаты=Перечисления.ВыплаченностьЗарплаты.НеВыплачено;
нс.сумма=ТекущаяСтрока.Результат;
КонецЦикла;
НовДок.Записать();
Подсказка: Вы получили ответ на свой вопрос - закройте вопрос!
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.