Книга знаний

Рекламное место пустует
1С:Предприятие / Приемы программирования / Обмен данными, УРБД

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

Конвертация шапки документа в табличную часть с помощью конфигурации "Конвертация данных 2.0".Автор статьи: Михей | Редакторы: acsent
Последняя редакция №2 от 08.02.13 | История
URL: http://kb.mista.ru/article.php?id=435

Ключевые слова: Конвертация данных


Столкнулся как то спроблемой конвертации реквизитов шапки одного документа в табличную часть другого документа.
Если кто знает в УПП есть документ "Взаимозачет" который содержит табличную часть "СуммыДолга". Вот в его ТЧ и надо было
сконвертировать документ из нетиповой конфигурации "Перезачет", в нем есть два реквизита "КонтрагентС" и "КонтрагентНа" и реквизит "СуммаДолга".
Задача в том чтобы эти реквизиты шапки перейшли в ТЧ "СуммыДолга" документа "Взаимозачет".

Решение:

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

              КоллекцияОбъектов.НоваяСтрока();
              КоллекцияОбъектов.Контрагент         = Источник.КонтрагентНа;  
              КоллекцияОбъектов.ДоговорКонтрагента = Источник.КонтрагентНа.Договор;
              КоллекцияОбъектов.СуммаУвеличение    = Источник.СуммаДолга;
              КоллекцияОбъектов.СуммаУменьшение    = 0;    
   
5. Создаем четыре (в моем случае) ПКС табличной части с пустыми источниками:

                        -> Контрагент
                        -> ДоговорКонтрагента
                        -> СуммаУвеличение
                        -> СуммаУменьшение

6. Все правило конвертации готово!
Закладка

Описание | Рубрикатор | Поиск | ТелепатБот | Захваченные статьи | Установки | Форум
© Станислав Митичкин (Волшебник), 2005-2011 | Mista.ru

Яндекс.Метрика