Имя: Пароль:
1C
 
Конвертация данных УТ10-УТ11
0 Mr-FReSH
 
14.05.18
14:07
Доброго времени суток господа.
Подскажите как к конвертации данных оформить перенос Номенклатуры, а именно в УТ10 в номенклатуре были свойства, которые хранились в регистре сведений "Значения свойств объектов", в УТ11 же используется механизм доп реквизитов и сведений. Они хранятся внутри табличной части самой записи справочника.
Собственно вопрос, как в конвертации можно это дело связать (ибо опыт в конвертации не оч большой)?
1 novichok79
 
14.05.18
14:18
создаете дополнительные реквизиты в УТ 11 при переносе или заранее, подвязываете их к виду номенклатуры, дописываете правила конвертации.
2 novichok79
 
14.05.18
14:18
(0) по крайней мере я делал таким образом.
3 Mr-FReSH
 
14.05.18
14:24
(1) Дак вот и интересует как именно дописывать.

Я сейчас нашел статью на инфостарте, где переносят контактные данные из регистра в таблицу через "Входящие данные"

Думал может у кого-то еще есть опыт в этом
4 Cyberhawk
 
14.05.18
14:26
Сколько платят за решение вопроса?
5 novichok79
 
14.05.18
14:41
создаете ПКГС "ДополнительныеРеквизиты" в ПКО Номенклатура,
при получении коллекции читаете значения дополнительных полей в регистре на стороне УТ 10.3, получаете таблицу значений, ее прописываете в источник для ПКГС, далее переносите как обычную табличную часть.
также любые данные можно переносить через соответствие ПараметрыОбъекта. создаете ПКС без источника и приемника, ставите галочку передавать в параметр, пишете имя параметра, которое потом будет сконвертировано по указанному ПКО в пустом ПКС.
тут уж на ваш вкус и цвет.
самое сложное из всей задачи - это программное создание дополнительных реквизитов, если они не обнаружены на стороне УТ 11.
6 novichok79
 
14.05.18
14:43
ПКГС_Номенклатура_ДополнительныеРеквизиты_ПередОбработкойВыгрузки_12_12, обработчик "Перед обработкой":

Выполнить(Алгоритмы.ПереносСвойств);

сам алгоритм, параметр Источник

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|    ЗначенияСвойствОбъектов.Свойство КАК Свойство,
|    ЗначенияСвойствОбъектов.Значение КАК Значение
|ИЗ
|    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
|ГДЕ
|    ЗначенияСвойствОбъектов.Объект = &Объект";

Запрос.УстановитьПараметр("Объект", Источник.Ссылка);

КоллекцияОбъектов = Запрос.Выполнить().Выгрузить();
7 Mr-FReSH
 
14.05.18
14:47
(6) Примерно понял, попробую. Заранее благодарю
8 rozer76
 
14.05.18
15:12
(0) так возьмите макет из обработки перехода Выгрузка данных.epf и загрузите в КД2. Там все и посмотрите
9 rozer76
 
14.05.18
15:13
(8) как раз выгрузка типовой схемой конвертации и "превращает" свойства в допреквизиты
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший