ОБМЕН Регистр сведений -> Справочник с табличной частью

1. tigcorp 3 21.12.16 13:02 Сейчас в теме
Здравствуйте. Пиши правила конвертации данных для перехода с Розницы на УНФ.

На данный момент застрял на попытке переноса регистра сведений КомплектующиеНоменклатуры в справочник Спецификации.

Номенклатуру планирую переносить во Владельца, далее наполнять табличную часть справочника 3 полями (Комплектующая, Количество, ДоляСтоимости).
Поискав по просторам интернета пришел к решению, что нужно писать правило выгрузки данных, далее в правилах конвертации свойств устанавливать галочку "Получить значение из входящих данных"

Итого создал ПВД. В обработчик "Перед выгрузкой" внес код:
Запрос = Новый Запрос("
|ВЫБРАТЬ
|	КомплектующиеНоменклатуры.Комплектующая,
|	КомплектующиеНоменклатуры.Количество,
|	КомплектующиеНоменклатуры.ДоляСтоимости,
|ИЗ
|	РегистрСведений.КомплектующиеНоменклатуры КАК КомплектующиеНоменклатуры
|ГДЕ
|	КомплектующиеНоменклатуры.Номенклатура = &Номен");
Запрос.УстановитьПараметр("Номен", Объект.Номенклатура); 
Выборка = Запрос.Выполнить().Выбрать();

ТабЧасть = Новый ТаблицаЗначений;
//ТабЧасть.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура")));
//ТабЧасть.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(15, 3)));
//ТабЧасть.Колонки.Добавить("ДоляСтоимости", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(15, 2)));

ТабЧасть.Колонки.Добавить("Номенклатура");
ТабЧасть.Колонки.Добавить("Количество");
ТабЧасть.Колонки.Добавить("ДоляСтоимости");

Пока Выборка.Следующий() Цикл
	
	СтрокаТЧ = ТабЧасть.Добавить();
	СтрокаТЧ.Номенклатура = Выборка.Комплектующая;
	СтрокаТЧ.Количество = Выборка.Количество;
	СтрокаТЧ.ДоляСтоимости = Выборка.ДоляСтоимости;
	
КонецЦикла;

ВходящиеДанные                          = Новый Структура("Владелец,Состав");
ВходящиеДанные.Владелец = Объект.Номенклатура;
ВходящиеДанные.Состав = ТабЧасть;


ВыгрузитьПоПравилу( , , ВходящиеДанные, , "Комплектующие_Спецификации"); 
Показать


Далее создал Правило Конвертации Значений и в нем Правила Конвертации Свойства.



При попытке выгрузить выдает ошибку



Параллельно пытаюсь отладиться.

Уже несколько раз правил код, обнаружив различные ошибки. Вот очередной затык.

Может, изначально что не так делаю?
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. jobtorn 25.12.16 00:04 Сейчас в теме
ИМХО
Состав - это должна быть ПКГС, внутри состава должны быть поля, которые также требуют указания правил конвертации.
Флаг "Получить значение из входящих данных" нужно указывать только для ПКГС, для полей - не нужно.
Если для ПВД не нужно выполнять стандартной обработки, то нужно установить Отказ = Истина;
В ПВД для регистра сведений, как правило, передается набор записей, поэтому конструкция Объект.Номенклатура не работает, необходимо указывать, что-то типа Объект.Отбор.Номенклатура.Значение, если номенклатура в отборе, или перебирать записи
3. tigcorp 3 25.12.16 17:44 Сейчас в теме
(2) Спасибо большое за совет. В следующий раз учту его.
В итоге решил, что слишком много времени потратил на попытки подстроить правила обмена для данной задачи. Вытащил необходимые данные через запрос, а затем через обработку из *.xl закинул в приемник.

А что такое ПКГС? Знаю Правила Конвертации Свойств, а вот ПКГС не знакомо мне.
4. jobtorn 25.12.16 19:32 Сейчас в теме
ПКГС - правило конвертации группы свойств. Выглядит как "папка"/группа, необходима для
1. описания конвертации коллекций типа Табличная часть - это можно увидеть если сформировать синхронизацию в конвертации для объектов с табличными частями
2. группировки свойств. Чаще всего используют для иерархических справочников, где часть реквизитов элементов не присутствует в группах. Такие реквизиты объединяют в ПКГС, и в ней прописывают Отказ = Источник.ЭтоГруппа - таким образом реквизиты не обрабатываются. Правда сейчас конвертация вроде бы корректно отрабатывает и без такого финта.
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)