При переносе характеристики разместить в свойствах, для каждой характеристики создавать отдельную позицию номеклатуры. Есть ли у кого правила конвертации, аналогичные моему случаю? Никогда до этого не имел дела с конвертацией данных.
---
Приложил пример, можно использовать как пример)) номенклатура выгружается по каждой характеристики из документа
---
scorp_23, Я работал с конвертацией. В конфигурации "конвертация данных (демо)" были похожие примеры.
Если нужно решить эту проблему, обращайтесь.
---
scorp_23, как это будет выглядетьв базе приемнике? Раньше были ботинки (белые, черные), а будут ботинки в свойствах белые, ботинки в свойствах черные?
---
tolyan_ekb, да, именно так! Я думаю сначала перенести все свойства характеристик из регистра сведений "значения свойств объектов"(УТ 10.3) в справочник "значения свойств объектов"(УТ 11.1) стандартными правилами без привязки к объекту(так как в УТ 11 этого нет), а затем как-то придётся при переносе делать столько позиций номенклатуры, сколько есть наборов характеристик, при этом подставлять нужные значения в свойства, поиском из уже перенесённых свойств.
---
scorp_23, неверно я думаю) нужно как-то сопоставить характеристику в ут 10.3 и свойство в ут 11
---
Проясните пожалуйста конечную цель в переносе справочника.
 (6)(8) Необходимо перенести номенклатуру как есть, с учетом характеристик? И вы не можете этого сделать?
 (1) Или необходимо перенести номенклатуру если не ведется по ней учет по доп.характеристикам, а если ведется, тогда создать nn'ое количество элементов номенклатора с наименованием Наименование + СвойствоХарактеристики + ЗначениеХарактеристики? Пример: Блузка размер S

Могу предоставить решение как для одного варианта, так и для другого.
---
denis_aka_wolf, фирма хочет отказаться от использования ведения номенклатуры в разрезе характеристик. Сейчас работаем в УТ 10.3, планируется переход на УТ 11.1. Нужно перенести номенклатуру, для каждой характеристики создавать отдельную позицию номеклатуры, то есть второй вариант.
---
Если сам планируешь делать, то спрашивай, чего не понятно. Конкретно таких правил не попадалось, но их не сложно сделать.
Начни, задавай вопросы, думаю помогут. Первый вопрос, не очень понятен, если можно, пример приведи.

Навскидку думаю, что здесь в наименование номенклатуры надо добавить Характеристику и искать по Наименованию, а также не забыть указать КлючВыгружаемыхДанных (или как он там называется, с учетом измененных реквизитов синхронизации, а то номенклатура в одну выгрузится)
---
Если расскажешь, что в УТ 11 представляют из себя свойства, то наверное смогу подсказать, какие ПКО должны быть
---
в УТ 11 есть справочник "значения свойств объектов", где представлены все возможные наборы Свойство - Значение, при создании номенклатуры, я выбираю вид номенклатуры, с указанным набором свойств и выбираю нужное значение для каждого свойства. То есть свойства и значения не имеют ссылки на владельца(номенклатуру), а хранятся как табличная часть
---
правда желательно значения характеристик для каждого элемента занести в дополнительные реквизиты номенклатуры
---
В УТ11 дополнительные реквизиты и дополнительные сведения это и есть свойства и категории, просто другое название. Чтобы их использовать необходимо включить в настройках параметров учета "Использовать дополнительные реквизиты и сведения".

PS: отписался на электронную почту, жду ответа.
---
буду признателен и крайне благодарен за предоставленные правила обмена
---
вопрос всё ещё открыт
---
Даже можно наименование оставлять такое, какое есть. Главное правильно перенести характеристики в дополнительные реквизиты.
---
свойства и значения перенёс! дело за малым: научиться создавать номенклатуру из характеристик и подставлять нужные значения в дополнительные реквизиты
---
готов помочь, но не совсем понимаю результат, для начала, есть источник, номенклатура "ботинки", у ней в свойствах указано "белые", тогда в базе приемник создается характеристика "ботинки белые", а номенклатура из чего будет создаваться из ботинок? или не так задам вопрос что в источнике является товаров, который должен стать товаров в приемнике?
---
в целом думаю где то так
создаем ПКО из номенклатуры -> номенклатуру
создаем кпо свойство->характеристика, но у ПКС владелец, указываем в "перед выгрузкой" значение = источник.Объект, тогда получится что владельцем характеристики будет объект свойства, а он у нас номенклатура, вот так и получится связка.
---
немного не так :)
ПКО номенклатура
ПКО характеристика из спр значение свойст, оно из структуры будет заполняться
ПКО регистр значение свойств в значение свойств
    пкс "Объект" здесь делаем "Перед выгрузкой" делаем как:

```1c
    ВладелецТЗ = создатьОбъект("ТаблицаЗначений");
    ВладелецТЗ.НоваяКолонка("Владелец");
    ВладелецТЗ.НоваяКолонка("Наименование");
    ВладелецТЗ.НоваяКолонка("ПометкаУдаления");
    ВладелецТЗ.НоваяСтрока();
    ВладелецТЗ.Владелец = Источник.Объект;
    ВладелецТЗ.Наименование = Источник.Свойство.Наименование;
    ВладелецТЗ.ПометкаУдаления = Ложь;
    Значение = ВладелецТЗ;
```
---
Если еще актуально:

1) Делакешь ПКО с неуказанным источником и приемником Номенклатура
2) Делаешь ПВД в коде которого заполняешь нужным образом данные для ПКО из 1)
---
Допустим в ПКО "Номенклатура" у тебя получатся реквизиты:

Наименование
ДополнительныеРеквизиты(табличная часть)
-Свойство
-Значение

В ПВД для номенклатуры пишешь:

ТаблицаХарактеристик = Новый ТаблицаЗначений;
ТаблицаХарактеристик.Колонки.Добавить("Свойство");
ТаблицаХарактеристик.Колонки.Добавить("Значение");

Для Каждого Эл Из КоллекцияХарактеристик Цикл // КоллекцияХарактеристик - сам пожалуйста заполни
 НоваяСтрока = КоллекцияОбъектов.Добавить();
 НоваяСтрока.Наименование = Эл.Наименование; // с учетом наименования номенкалтуры и характеристики
 НоваяСтрока.ДополнительныеРеквизиты = ТаблицаХарактеристик.Скопировать();
 НоваяХарактеристика = НоваяСтрока.ДополнительныеРеквизиты.Добавить();
 НоваяХарактеристика.Свойство = ...
 НоваяХарактеристика.Значение = ...
КонецЦикла
---
А как прописать в правилах создание отдельной номенклатуры для каждой характеристики и как быть в этом случае с кодом номенклатуры?
---
одна строка в КоллекцияОБъектов это одна номенклатура, поэтому добавля столько строк, сколько характеристик, Код номенклатуры пусть автоматом генерится, синхронизируй по наименованию (в котором будет включено Наиименование номенклатуры, и характеристика), только следи, чтобы наименования были разные
---
Ошибся с наименование, вместо КоллекцияОбъектов правильно ВыборкаДанных (смотри обработчик для ПВД "ПередОбработкой")
---
Не пробовали воспользоваться обработкой ЗагрузкаДанныхИзТабличногоДокумента.epf (на диске ИТС есть). Только предварительно нужно СОхранить справочник в xls, но это уже другая обработка.
---
спасибо за помощь всем, уже вырисовывается по-тихоньку вся картина)
---
что-то зашёл в тупик. пишу такой код в ПВД номенклатуры в обработчике "ПередОбработкой":

Запросы.ПроверкаНаличияХарактеристик.УстановитьПараметр("Владелец", Источник.Ссылка);
Выборка = Запрос.Выполнить().Выгрузить();
Если Выборка.Следующий() <> Ложь Тогда
 Пока Выборка.Следующий() Цикл
     ВыгрузитьПоПравилу(Выборка.Ссылка, , , ,"ХарактеристикиНоменклатуры");
 КонецЦикла;
Иначе
 ВыгрузитьПоПравилу(Источник, , , ,"Номенклатура");
КонецЕсли;

выдает ошибку при выгрузке данных:
Ошибка в обработчике события ПередОбработкойПравилаВыгрузки
 ПВД = Номенклатура
 Обработчик = ПередОбработкойВыгрузкиДанных
 ОписаниеОшибки = Ошибка компиляции при вычислении выражения или выполнении фрагмента кода
 ПозицияМодуля = Обработка.УниверсальныйОбменДаннымиXML(10245)
 КодСообщения = 31
в чем может быть проблема?
---
scorp_23,

```1c
    Выборка = Запрос.Выполнить().Выгрузить();
    Если Выборка.Следующий() <> Ложь Тогда
    Пока Выборка.Следующий() Цикл
```

После выполнения первой строки в переменной Выборка содержится таблица значений. У таблицы значений нет метода .Следующий() Исправьте строку "Запрос.Выполнить().Выгрузить();" на "Запрос.Выполнить().Выбрать();" И тогда в Выборка будет выборка запроса, а не таблица значений.
Вы принципиально хотите использовать правила конвертации? Если это единоразовая задача не проще ли сделать внешнюю обработку?
---
Ziggurat, спасибо, так всё же, думаю, будет быстрее. А параметр правильно устанавливаю в запросе у ПВД?
---
scorp_23, Если Вы про это
```1c
    Запросы.ПроверкаНаличияХарактеристик.УстановитьПараметр("Владелец", Источник.Ссылка);
```
, то, полагаю, верно. Вообще использование правил конвертации мне кажется слишком сложным для разового использования, подробно с ними не разбирался, поэтому не знаю особенностей работы этого механизма, везде ограничивался внешней обработкой, com соединениями и excel.
---
что-то не понятно, судя по всему, запросом является Запросы.ПроверкаНаличияХарактеристик (именно для него устанавливаете параметр), значит и результат должен быть либо

ТЗ = Запросы.ПроверкаНаличияХарактеристик.Выполнить().Выгрузить();

либо

Выборка = Запросы.ПроверкаНаличияХарактеристик.Выполнить().Выбрать()

Для Выборка используете Пока Выборка.Следущий() Цикл

Для ТЗ - Для каждого Стр ИЗ ТЗ Цикл

Предварительно проверять условие ни в коем случае не надо (такая проверка тоже изменяет позицию выборки)
---
А что является приемником в ПКО "ХарактеристикиНоменклатуры" ? Номенклатура или характеристика?
---
adva, приёмник в ПКО - номенклатура
---
А проверку так реализуйте:

Результат = Запросы.ПроверкаНаличияХарактеристик.Выполнить();

Если Результат.Пустой() Тогда
// номенклатура

Иначе
// Характеристика номенклатуры

КонецЕсли;
---
Приложил пример, можно использовать как пример)) номенклатура выгружается по каждой характеристики из документа
---
Radkt, Благодарствую)
---
Практически всё готово - содаётся такое количество позиций номенклатуры, сколько есть характеристик, есть выгруженные свойтва характеристик и их значения, осталось дело за малым - заполнить дополнительные реквизиты в базе приёмнике(по аналогии с заполненными характеристиками в базе источнике).
---
Делаю отбор свойств и значений характеристики номенкларуры:

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

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

    КоллекцияОбъектов = Запрос.Выполнить().Выгрузить();
```

Как теперь этими значениями заполнить соотвествующие значения дополнительных реквизитов(имя свойства характеристи в базе-источнике соотвествует имени дополнительного реквизита в базе-приёмнике)?
---
Всё, получилось! создал в конвертации свойств ХарактеристикНоменклатуры группу дополнительные реквизиты и в ПКГС в поле ПрередОбработкой вызвал запрос:

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

текст которого указан выше. Всё перенеслось, как я хотел! Всем спасибо за помощь!