| Конвертация шапки документа в табличную частьКлючевые слова: Конвертация данных
 
 
 Столкнулся как то спроблемой конвертации реквизитов шапки одного документа в табличную часть
 другого документа.
 Если кто знает в УПП есть документ "Взаимозачет" который содержит табличную часть "СуммыДолга".
 Вот в его ТЧ и надо было
 сконвертировать документ из нетиповой конфигурации "Перезачет", в нем есть два реквизита
 "КонтрагентС" и "КонтрагентНа" и реквизит "СуммаДолга".
 Задача в том чтобы эти реквизиты шапки перейшли в ТЧ "СуммыДолга" документа "Взаимозачет".
 
 Решение:
 
 1. Создаем ПКО Перезачет->Взаимозачет.
 2. Создаем ПКС конвертации простых типов (Дата и Номер документа):
 ДатаДок -> Дата
 НомерДок -> Номер
 3. Создаем ПКГС только с заполненным Приемником "СуммыДолга" (табличная часть документа
 Взаимозачет).
 4. В обработчике ПередОбработкой ПКГС  заполняем встроенную переменную КоллекцияОбъектов (тип
 ТаблицаЗначений) значениями с шапки:
 
 КоллекцияОбъектов = СоздатьОбъект("ТаблицаЗначений");
 КоллекцияОбъектов.НоваяКолонка("Контрагент");
 КоллекцияОбъектов.НоваяКолонка("ДоговорКонтрагента");
 КоллекцияОбъектов.НоваяКолонка("СуммаУвеличение");
 КоллекцияОбъектов.НоваяКолонка("СуммаУменьшение");
 
 КоллекцияОбъектов.НоваяСтрока();
 КоллекцияОбъектов.Контрагент         = Источник.КонтрагентC;
 КоллекцияОбъектов.ДоговорКонтрагента = Источник.КонтрагентC.Договор;
 КоллекцияОбъектов.СуммаУвеличение    = 0;
 КоллекцияОбъектов.СуммаУменьшение    = Источник.СуммаДолга;
 
 КоллекцияОбъектов.НоваяСтрока();
 КоллекцияОбъектов.Контрагент         = Источник.КонтрагентНа;
 КоллекцияОбъектов.ДоговорКонтрагента =
 Источник.КонтрагентНа.Договор;
 КоллекцияОбъектов.СуммаУвеличение    = Источник.СуммаДолга;
 КоллекцияОбъектов.СуммаУменьшение    = 0;
 
 5. Создаем четыре (в моем случае) ПКС табличной части с пустыми источниками:
 
 -> Контрагент
 -> ДоговорКонтрагента
 -> СуммаУвеличение
 -> СуммаУменьшение
 
 6. Все правило конвертации готово!
 |