Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

КД Перенос реквизита из шапки документа в табличную часть

КД Перенос реквизита из шапки документа в табличную часть
Я
   Dark778
 
10.10.19 - 13:40
Не так давно в КД, помогайте :) 1С Бух в КД 2.4. Конверчу документ "ПоступлениеТоваровУслуг" из Бух в документ "ПриобретениеТоваровУслуг" КА. Необходимо закинуть реквизит СуммаДокумента в табличную часть ЭтапыГрафикаОплаты. Следую одной статье, а именно:

{
Для того чтобы выгрузить (произвольные) реквизиты шапки документа базы отправителя, в (произвольную) табличную часть базы получателя, необходимо сделать всего несколько простых вещей.

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

// Либо получить таблицу выполнением запроса
ТЗ = ЗапросДанных.Выполнить().Выгрузить();
2) Полученную таблицу значений поместить во "ВходящиеДанные"

ВходящиеДанные = Новый Структура;
ВходящиеДанные.Вставить(<ИмяТабличнойЧастиПолучателя>, <ТаблицаЗначений>);
3) Далее. В правилах конвертации свойств (ПКС) создать ПКГС (правило конвертации группы свойств, иными словами табличную часть), так как показано на рисунке. Конечно в Вашем случае количество и имена реквизитов будут другими. ГЛАВНОЕ чтобы имена и количество реквизитов, соспадали с именами колонок передаваемой таблицы значений.
}

Но не выходит каменный цветок (( В моём случае в ПКО перед выгрузкой:

ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Заказ");
ТЗ.Колонки.Добавить("СверхЗаказа");
ТЗ.Колонки.Добавить("ВариантОплаты");
ТЗ.Колонки.Добавить("ДатаПлатежа");
ТЗ.Колонки.Добавить("Сдвиг");
ТЗ.Колонки.Добавить("ПроцентПлатежа");
ТЗ.Колонки.Добавить("СуммаПлатежа");
ТЗ.Колонки.Добавить("ПроцентЗалогаЗаТару");
ТЗ.Колонки.Добавить("СуммаЗалогаЗаТару");
ТЗ.Колонки.Добавить("СуммаВзаиморасчетов");
ТЗ.Колонки.Добавить("СуммаВзаиморасчетовПоТаре");
ТЗ.Добавить();
ТЗ.СуммаПлатежа = Источник.СуммаДокумента;
ТЗ.ВариантОплаты = "ПредоплатаДоПоступления";
ТЗ.ДатаПлатежа       = '20191010';
ТЗ.ПроцентПлатежа    = 100;

ВходящиеДанные = Новый Структура;
ВходящиеДанные.Вставить(ЭтапыГрафикаОплаты, ТЗ);


В результате имею ошибку на выгрузке из Бух


Ошибка в обработчике события ПередВыгрузкойОбъекта
    ПКО                    =  ПриобретениеТоваровУслуг  (Документ: Поступление (акты, накладные))
    Объект                 =  Поступление (акт, накладная) 00БП-000435 от 01.06.2019 7:00:00  (Поступление (акт, накладная))
    Обработчик             =  ПередВыгрузкойОбъекта
    ОписаниеОшибки         =  Ошибка компиляции при вычислении выражения или выполнении фрагмента кода: {(25,25)}: Переменная не определена (ЭтапыГрафикаОплаты)
    ПозицияМодуля          =  Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1706)
    КодСообщения           =  41


Где неправ, объясните?
 
 
   vicof
 
1 - 10.10.19 - 13:42
ВходящиеДанные.Вставить("ЭтапыГрафикаОплаты", ТЗ); не?
   Йохохо
 
2 - 10.10.19 - 13:44
на ПКГС нет галки получить из входящих данных?
   Dark778
 
3 - 10.10.19 - 13:47
О, продвинулся ) Спасибо!
Теперь новой счастье


Ошибка в обработчике события ПередВыгрузкойОбъекта
    ПКО                    =  ПриобретениеТоваровУслуг  (Документ: Поступление (акты, накладные))
    Объект                 =  Поступление (акт, накладная) 00БП-000435 от 01.06.2019 7:00:00  (Поступление (акт, накладная))
    Обработчик             =  ПередВыгрузкойОбъекта
    ОписаниеОшибки         =  Поле объекта не обнаружено (СуммаПлатежа)
    ПозицияМодуля          =  (18)
    КодСообщения           =  41
   Dark778
 
4 - 10.10.19 - 13:48
галка стоит
   hhhh
 
5 - 10.10.19 - 13:56
(3) ну, 18ю строчку в студию!
   Йохохо
 
6 - 10.10.19 - 13:57
(3) "Обработчик             =  ПередВыгрузкойОбъекта" это не ПКГС
   Dark778
 
7 - 10.10.19 - 14:48
(5) Закоментил строку
// ТЗ.СуммаПлатежа = Источник.СуммаДокумента; (это 18-я строка)


После этого стал ругаться на следующую

ТЗ.ВариантОплаты = "ПредоплатаДоПоступления";


Ошибка в обработчике события ПередВыгрузкойОбъекта
    ПКО                    =  ПриобретениеТоваровУслуг  (Документ: Поступление (акты, накладные))
    Объект                 =  Поступление (акт, накладная) 00БП-000435 от 01.06.2019 7:00:00  (Поступление (акт, накладная))
    Обработчик             =  ПередВыгрузкойОбъекта
    ОписаниеОшибки         =  Поле объекта не обнаружено (ВариантОплаты)
    ПозицияМодуля          =  (19)
    КодСообщения           =  41

Что не так?
   Dark778
 
8 - 10.10.19 - 14:49
(6) Так в статье говориться о ПередВыгрузкой у ПКО https://qa.erpstat.ru/public/00009.html
   Dark778
 
9 - 10.10.19 - 15:01
Переделал код на 

ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Заказ");
ТЗ.Колонки.Добавить("СверхЗаказа");
ТЗ.Колонки.Добавить("ВариантОплаты");
ТЗ.Колонки.Добавить("ДатаПлатежа");
ТЗ.Колонки.Добавить("Сдвиг");
ТЗ.Колонки.Добавить("ПроцентПлатежа");
ТЗ.Колонки.Добавить("СуммаПлатежа");
ТЗ.Колонки.Добавить("ПроцентЗалогаЗаТару");
ТЗ.Колонки.Добавить("СуммаЗалогаЗаТару");
ТЗ.Колонки.Добавить("СуммаВзаиморасчетов");
ТЗ.Колонки.Добавить("СуммаВзаиморасчетовПоТаре");
Стр = ТЗ.Добавить();
Стр.СуммаПлатежа = Источник.СуммаДокумента;
Стр.ВариантОплаты = "ПредоплатаДоПоступления";
Стр.ДатаПлатежа       = '20191010';
Стр.ПроцентПлатежа    = 100;


Выгрузил без ошибки )

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.