|
Конвертация данных. Запись в табличную часть. Произвольный алгоритм. | ☑ | ||
|---|---|---|---|---|
|
0
DaryaKoroleva
27.02.15
✎
15:02
|
Добрый день.
Переношу данные из Бухгалтерии 2.0 документ "Списание с расчетного счета" в Документооборот в дописанный документ. Надо что бы в приемнике табличная часть документа дополнялась данными (дата, сумма) из разных документов источника. Т.е. например у нас есть в источнике 2 документа списания по договору N, от 2.02.14 и от 3.02.14. В приемник они должны создаться как один документ, а данные по дате и сумме просто записаться в табличную часть документа у которого договор тоже N. Примерно вот так: http://cs625618.vk.me/v625618735/1ea1d/DPJwiSYjUuE.jpg В ПВД делаю произвольным запросом. Знаю, что надо передать в "ВыборкаДанных" уже коллекцию с данными по одному договору. Но не совсем понимаю как это сделать. Подскажите пожалуйста, как правильно передать туда коллекцию... Пока у меня вот такой запрос. ИсходящиеДанные = Новый Массив; Запись = Новый Структура; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СписаниеСРасчетногоСчета.Дата, | СписаниеСРасчетногоСчета.СуммаДокумента, | СписаниеСРасчетногоСчета.Контрагент, | СписаниеСРасчетногоСчета.ДоговорКонтрагента.Номер КАК ДоговорКонтрагентаНомер, | СписаниеСРасчетногоСчета.ПометкаУдаления, | СписаниеСРасчетногоСчета.ДоговорКонтрагента, | СписаниеСРасчетногоСчета.ВалютаДокумента |ИЗ | Документ.СписаниеСРасчетногоСчета КАК СписаниеСРасчетногоСчета |ГДЕ | СписаниеСРасчетногоСчета.Контрагент.Родитель.Наименование = &Наименование | И СписаниеСРасчетногоСчета.ДоговорКонтрагента.Номер <> """" | И СписаниеСРасчетногоСчета.ПометкаУдаления = ЛОЖЬ |ИТОГИ | СУММА(СуммаДокумента) |ПО | ДоговорКонтрагентаНомер"; Запрос.УстановитьПараметр("Наименование", "Юридические лица"); ВыборкаДанных = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = ВыборкаДанных.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ДоговорКонтрагентаНомер"); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Запись.Вставить("Дата", ВыборкаДетальныеЗаписи.Дата); Запись.Вставить("СуммаДокумента", ВыборкаДетальныеЗаписи.СуммаДокумента); Запись.Вставить("Контрагент", ВыборкаДетальныеЗаписи.Контрагент); Запись.Вставить("ДоговорКонтрагента", ВыборкаДетальныеЗаписи.ДоговорКонтрагента); Запись.Вставить("Номер", ВыборкаДетальныеЗаписи.ДоговорКонтрагентаНомер); Запись.Вставить("ПометкаУдаления", ВыборкаДетальныеЗаписи.ПометкаУдаления); Запись.Вставить("ВалютаДокумента", ВыборкаДетальныеЗаписи.ВалютаДокумента); ИсходящиеДанные.Добавить(Запись); //ВыборкаДанных = ИсходящиеДанные; КонецЦикла; |
| Форум | Правила | Описание | Секции | Поиск |