Проблема с конвертацией данных

Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
1. white_tiger 03.10.14 10:51 Сейчас в теме
Всем доброго дня! Возник вопрос по конвертации данных, прошу помощи.
Из базы-источника беру запросом регистратор и сумму из регистра накопления, результат этого запроса нужно передать в базу-приемник, там создан документ с соответствующими реквизитами. Создаю ПВД, в обработчике события ПередОбработкой пишу:
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
|	ДенежныеСредства.Регистратор,
|	ДенежныеСредства.Сумма
|ИЗ
|	РегистрНакопления.ДенежныеСредства КАК ДенежныеСредства
|
|СГРУППИРОВАТЬ ПО
|	ДенежныеСредства.Регистратор,
|	ДенежныеСредства.Сумма
|";
Результат = Запрос.Выполнить();
Если Не Результат.Пустой() Тогда
НаборДанных = Запрос.Выполнить().Выгрузить();
ИсходящиеДанные = Новый Структура("Документы");
ИсходящиеДанные.Документы = Новый ТаблицаЗначений;
ИсходящиеДанные.Документы.Колонки.Добавить("Регистратор");
ИсходящиеДанные.Документы.Колонки.Добавить("Сумма");
Для Каждого Стр Из НаборДанных Цикл
НовСтр = ИсходящиеДанные.Документы.Добавить();
НовСтр.Регистратор = Стр.Регистратор;
НовСтр.Сумма = Стр.Сумма;
ВыгрузитьПоПравилу(ИсходящиеДанные , , , ,"РегистраторДвижения_ДС");
КонецЦикла;
Иначе Отказ = Истина;
КонецЕсли;
Показать

Создаю для него соответствующие ПКО и ПКС, но что там прописать, не могу никак сообразить((
Галка получить из входящих данных не помогла, без нее тоже не работает.
Подскажите пожалуйста, кто что сможет.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
7. vlasin 15.10.14 17:14 Сейчас в теме
(1) В ПВД свойство "Способ выборки" установлено в Произвольный алгоритм?

ПС
Можно избавиться от промежуточной ТЗ, если инициализировать переменную ВыборкаДанных.

ВыборкаДанных - Запрос, Результат запроса, Выборка из результата запроса или произвольная коллекция выгружаемых объектов. Используется, когда способ выгрузки данных - Произвольный алгоритм. Если определить данную переменную, то обход коллекции и выгрузка объектов будет осуществляться автоматически
2. FallenMad 12 03.10.14 14:46 Сейчас в теме
Если в базе приемника создан 1 документ для каждой записи:
Текст после запроса:
Для Каждого Стр Из НаборДанных Цикл
ИсходящиеДанные = Новый Структура();
ИсходящиеДанные.Добавить("Номер",Стр.Регистратор.Номер);
ИсходящиеДанные.Добавить("Дата",Стр.Регистратор.Дата);
ИсходящиеДанные.Добавить("Сумма",Стр.Сумма);
ВыгрузитьПоПравилу(ИсходящиеДанные , , , ,"РегистраторДвижения_ДС");
КонецЦикла; 


Если надо загрузить 1 документ для всех записей то
ИсходящиеДанные = Новый Структура();
ИсходящиеДанные.Добавить("Номер","");
ИсходящиеДанные.Добавить("Дата",ТекущаяДата());
ИсходящиеДанные.Добавить("Документы",НаборДанных);
ВыгрузитьПоПравилу(ИсходящиеДанные , , , ,"РегистраторДвижения_ДС"); 


в ПКО вы пишите название правила, заполняете преемник, поле Источник оставляете пустым. создаете все ПКС, Поле источник везде пустой, обработчика так же как и с обычным объектом, только Помним что у нас на входе не объект а Структура, т.е. Проверка на заполненность номера Пройдет.
Посл
3. white_tiger 06.10.14 06:28 Сейчас в теме
(2) FallenMad, так и делаю, а вот "обработчика так же как и с обычным объектом" это как именно? и нужна ли тогда галка "получать из входящих данных"?
4. FallenMad 12 06.10.14 10:53 Сейчас в теме
нет там ни чего не надо. конвертация сопоставляет данные по именам, если найдет то поле будет пропущено при загрузке. см скрин.
5. white_tiger 06.10.14 12:39 Сейчас в теме
(4) FallenMad, почему-то не заработало( если писать в ПКС "значение = входящиеДанные" , то создает в хмл-файле объект с тэгами реквизитов, но ничем их не заполняет. как правильнее обратиться к структуре, не знаю
6. FallenMad 12 06.10.14 13:14 Сейчас в теме
там не надо ни чего писать, там вообще пусто. и галочки Брать из входящих не надо нет.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот