Имя: Пароль:
1C
1С v8
Как сконвертировать данные?
0 vladimir80
 
04.05.16
16:26
Доброго дня!
Пытаюсь настроить обмен между самописной конфигурацией 8,2 и типовой УНФ 1.6.5. Возник затык в переносе свойств (вернее наборов свойств) номенклатуры.

В источнике это ТЧ в ПВХ, в которой ссылки на виды товаров, которым данное свойство доступно.

В УНФ это должна быть ссылка на набордополнительныхреквизитовисведений, в ТЧ которого нужно разместить весь набор свойств.

Прошу сильно не пинать, только начал разбираться с конвертациями и слабо понимаю, как переносить данные произвольными наборами. Да и как в таком случае сохранить guid не совсем понятно. Если не сложно - укажите порядок действий, где подготовить данные для выгрузки и как их поймать при загрузке?
1 mikecool
 
04.05.16
16:30
для начала нужно понять - что есть источник и что есть приемник
потом остается дело техники
2 vladimir80
 
04.05.16
17:26
Источник - запрос. Приемник - элемент справочника.
3 vladimir80
 
05.05.16
01:18
Наверное что-то типа этого - http://1cdlasebya.blogspot.ru/2015/04/1.html

Во всяком случае произвольный набор данных таким образом переносится. Хотя более чем уверен, что есть механизм, которым можно формировать нужную структуру при выгрузке.

Литература на эту тему как-то не курится совсем, примеры стандартные в основном везде. Было бы здорово, если была бы карта/блок-схема событий и передаваемых параметров, с расписанными действиями, когда создается первичный набор данных, когда он преобразовывается, когда записывается в файл и т.п., было бы в разы проще понимать сей процесс.
4 ИсчадиеADO
 
05.05.16
02:12
(2) я бы сделал так: 1) в правиле конвертации объекта ПКО (источник пустой, приемник - спр.Наборы доп реквизитов и сведений) поле наименование по которому идет поиск (берется из входящих данных) и правило конвертации группы свойств (ПКГС) (т.е. ТЧ справочника) берется из входящих данных

2) в правиле выгрузки данных ПВД собираем запросом данные. При обходе есть 2 варианта: или формировать Таблицу значения ВыборкаДанных (точное наименование переменной посмотри в справке к обработчикам в самой конфе) с колонками Наименование и МояТабличнаяЧасть (в этом случае кстати в ПКО нужно убрать галки, что реквизиты берутся из вход данных). или при обходе выборки запроса писать ВыгрузитьПоПравилу(,  ИсходящиеДанные)  - где ИсходящиеДанные - это структура с ключами Наименование и МояТабличнаяЧасть (пример с выгрузитьПоПравилу посмотри в типовых правилах).

Наименование сформировать самостоятельно. Если я правильно понял, 1 вид товара = 1 набор доп свойств? В таком случае поиск в ПКО можешь вообще по ссылке делать

3) нужно определить ключ выгружаемых данных, свойство в ПКО, которое позволит системе запомнить, что данный набор уже выгружался в рамках данной выгрузки. Это если данное ПКО вызывается не только из ПВД но и из других ПКО, иначе кеширование не нужно
5 vladimir80
 
05.05.16
15:40
(4) Спасибо! Методом проб и ошибок сделал!
Да, в приемнике допреквизиты к справочнику категории номенклатуры. К каждому свой набор свойств. Но в источнике все наоборот, поэтому к со стороны источника ссылки нет.

В приемнике:
СправочникСсылка.КатегорииНоменклатуры с реквизитом "НаборСвойств" типа СпавочникСсылка.НаборДополнительныхРеквизитовИСведений.

В источнике (запрос):
Структура (СправочникСсылка.ВИдТовара, ТЗ с набором свойств)

То есть зацепиться можно только на соответствии ссылки в выборке (вид товара) и ссылки КатегорииНоменклатуры. До таких моментов я еще не дошел
6 ИсчадиеADO
 
05.05.16
17:46
(5) если ты про кеширование, то забей тогда. Поставь у пко флаг "не запоминать выгруженные объекты"
7 vladimir80
 
06.05.16
13:31
(6) Нет, про перенос ссылки набора свойств во "владельца" - справочник категорииноменклатуры... Решил это, добавив после обработки загрузки код поиска категории по наименованию = наименованию набора свойств. Все получилось. Хотя целостная картинка все равно не складывается... Обработкой перенес бы все за час, но понимаю что надо КД изучать...
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.