|
Конвертация данных. Произвольный алгоритм. | ☑ | ||
---|---|---|---|---|
0
DaryaKoroleva
04.03.15
✎
10:42
|
Доброе утро.
Переношу данные из Бухгалтерии 2.0 документ "Списание с расчетного счета" в Документооборот в дописанный документ. Надо что бы в приемнике табличная часть документа дополнялась данными (дата, сумма) из разных документов источника. Т.е. например у нас есть в источнике 2 документа списания по договору N, от 2.02.14 и от 3.02.14. В приемник они должны создаться как один документ, а данные по дате и сумме просто записаться в табличную часть документа у которого договор тоже N. Примерно вот так: http://cs625618.vk.me/v625618735/1ea1d/DPJwiSYjUuE.jpg Делаю это с помощью произвольного запроса в ПВД. В "ВыборкуДанных" передаю таблицу значений, где для каждой строки по одному договору, есть колонка "оплата", в которой еще одна таблица где хранятся как раз все даты и суммы. Вот как-то так. http://cs624431.vk.me/v624431735/20dbb/uo5HZBo20Zs.jpg Собственно вот в чем вопрос. У меня все данные по контрагенту, договору заполняются, а вот табличная часть док-та остается пустой. Я понимаю, что где-то что-то не дописала) Но не могу понять что еще надо) Вот сам запрос. ВыборкаДанных = Новый ТаблицаЗначений; ВыборкаДанных.Колонки.Добавить("Контрагент"); ВыборкаДанных.Колонки.Добавить("ДоговорКонтрагента"); ВыборкаДанных.Колонки.Добавить("ПометкаУдаления"); ВыборкаДанных.Колонки.Добавить("ВалютаДокумента"); ВыборкаДанных.Колонки.Добавить("Дата"); ВыборкаДанных.Колонки.Добавить("СуммаДокумента"); ВыборкаДанных.Колонки.Добавить("Оплата"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СписаниеСРасчетногоСчета.Дата КАК Дата1, | СписаниеСРасчетногоСчета.СуммаДокумента КАК СуммаДокумента, | СписаниеСРасчетногоСчета.Контрагент КАК Контрагент, | СписаниеСРасчетногоСчета.ДоговорКонтрагента.Номер КАК ДоговорКонтрагентаНомер, | СписаниеСРасчетногоСчета.ПометкаУдаления КАК ПометкаУдаления, | СписаниеСРасчетногоСчета.ДоговорКонтрагента КАК ДоговорКонтрагента, | СписаниеСРасчетногоСчета.ВалютаДокумента КАК ВалютаДокумента |ИЗ | Документ.СписаниеСРасчетногоСчета КАК СписаниеСРасчетногоСчета |ГДЕ | СписаниеСРасчетногоСчета.Контрагент.Родитель.Наименование = &Наименование | И СписаниеСРасчетногоСчета.ДоговорКонтрагента.Номер <> """" | И СписаниеСРасчетногоСчета.ПометкаУдаления = ЛОЖЬ |ИТОГИ ПО | ДоговорКонтрагентаНомер"; Запрос.УстановитьПараметр("Наименование", "Юридические лица"); Результат = Запрос.Выполнить(); ВыборкаДоговорКонтрагентаНомер = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ДоговорКонтрагентаНомер"); Пока ВыборкаДоговорКонтрагентаНомер.Следующий() Цикл СтрокаВыборки = ВыборкаДанных.Добавить(); Оплата = Новый ТаблицаЗначений; Оплата.Колонки.Добавить("Дата"); Оплата.Колонки.Добавить("СуммаДокумента"); ВыборкаДетальныеЗаписи = ВыборкаДоговорКонтрагентаНомер.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл СтрокаВыборки.Контрагент = ВыборкаДетальныеЗаписи.Контрагент; СтрокаВыборки.ДоговорКонтрагента = ВыборкаДетальныеЗаписи.ДоговорКонтрагента; СтрокаВыборки.ПометкаУдаления = ВыборкаДетальныеЗаписи.ПометкаУдаления; СтрокаВыборки.ВалютаДокумента = ВыборкаДетальныеЗаписи.ВалютаДокумента; СтрокаВыборки.Дата = ВыборкаДетальныеЗаписи.Дата1; СтрокаСписания = Оплата.Добавить(); СтрокаСписания.Дата = ВыборкаДетальныеЗаписи.Дата1; СтрокаСписания.СуммаДокумента = ВыборкаДетальныеЗаписи.СуммаДокумента; СтрокаВыборки.Оплата = Оплата; ИсходящиеДанные = Оплата; КонецЦикла; КонецЦикла; |
|||
1
DaryaKoroleva
04.03.15
✎
10:48
|
Я подозреваю, что надо что в ПКО надо определить ВходящиеДанные, а потом в ПКС в КоллекцияОбъектов передать эти данные.
|
|||
2
Альбатрос
04.03.15
✎
10:49
|
(0) Чот хрень какая-то написана...
|
|||
3
Defender aka LINN
04.03.15
✎
10:49
|
Скрин ПКО покажи
|
|||
4
Defender aka LINN
04.03.15
✎
10:50
|
(1) Хватит вечно тыкать во входящие данные. Они не для того
|
|||
5
DaryaKoroleva
04.03.15
✎
10:54
|
||||
6
D_E_S_131
04.03.15
✎
10:54
|
(4) Чё эта? Если у Источника нет соответствующего объектного сопоставления с Приемником, то как раз входящие данные и нужно сформировать.
|
|||
7
D_E_S_131
04.03.15
✎
10:58
|
(5) ПередОбработкой для ТЧ Приемника определить КоллекциюОбъектов (ТЗ с колонками как у ТЧ Приемника).
|
|||
8
Альбатрос
04.03.15
✎
10:59
|
Почему просто не воспользоваться ВыборкаДанных?
|
|||
9
D_E_S_131
04.03.15
✎
11:02
|
Вот пример выгрузки расшифровки
[url]http://hostingkartinok.com/show-image.php?id=6a95c6381903ad6faaebbb348bcc846b[/url] |
|||
10
D_E_S_131
04.03.15
✎
11:02
|
||||
11
GreatOne
04.03.15
✎
11:08
|
(0) там по идее все данные есть уже: ИсходящиеДанные = Оплата; А галка "получать из входящих данных" у ПГС табличной части стоит? Что с этими исходящими данными в ПВД делается?
|
|||
12
DaryaKoroleva
04.03.15
✎
11:20
|
(11) у ПГС галка не стоит. Мне надо, что бы там определялась коллекция объектов, т.к. у приемника нет соответствующего объекта иначе при выгрузке выходит ошибка.
http://cs624431.vk.me/v624431735/20dd6/JiyPtFbAECw.jpg В ПВД с Исходящими данными кроме ИсходящиеДанные = Оплата больше ничего не делается) |
|||
13
GreatOne
04.03.15
✎
11:24
|
(12) чего? Какого объекта нет? А это: "данные по дате и сумме просто записаться в табличную часть документа"? Разве не о ТЧ приемника, в которой есть колонка Сумма и Дата идет речь? В ПВД эту сумму и дату уже получили, осталось загрузить через ВходящиеДанные в ПКГС, она сама разнесет по табличной части строки.
|
|||
14
GreatOne
04.03.15
✎
11:25
|
(12) и к чему этот скрин? Я как раз вижу галку ну и видимо передвыгрузкой коллекция все таки создается. Нафига?
|
|||
15
D_E_S_131
04.03.15
✎
11:28
|
По идее, если код в (0) отрабатывает в ПВД, то СтрокаВыборки должна подвергаться ВыгрузитьПоПравилу.
|
|||
16
D_E_S_131
04.03.15
✎
11:28
|
...а уже ПКО должно разбирать входящие данные.
|
|||
17
Defender aka LINN
04.03.15
✎
11:32
|
(6) Входящие данные нужны, чтобы передать правилу инфу из другого правила.
Например, вид договора в ПКО договоров из ПКО документа. (5) Выкинь этот код нахрен и сними у ТЧ галку "получить из входящих данных" |
|||
18
D_E_S_131
04.03.15
✎
11:34
|
(17) Да, я в (15) это уже как раз и отразил — в ее случае вполне можно обойтись без ВходящихДанных.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |