Имя: Пароль:
1C
1С v8
Конвертация данных. БП2.0 -> УТ11. Номенклатура: Родителя в ВидНоменклатуры
0 Vigor06
 
13.06.13
18:04
Доброго дня!
Пытаюсь реализовать следующую штуку:
При переносе номенклатуры создавать в УТ вид номенклатуры = верхнему родителю номенклатуры в БП.
То есть,например, в БП номенклатура "Ложка" в группе "Столовые приборы", группа "Столовые приборы" - в группе "Металлические изделия"

И хочется,чтобы при переносе проверялось,есть ли уже такой вид номенклатуры в УТ,Если нет,то создавался и получалось бы.То есть в нашем примере появилась бы номенклатура "Ложка" с видом номенклатуры "Металлические изделия".

Подскажите,как это можно реализовать

Спасибо
1 Dionis Sergeevich
 
13.06.13
21:19
после выгрузки можно взять наименование родителя, найти соответствующий элемент вида номенклатур и заполнить его. Если не найден - создать и заполнить
2 Vigor06
 
14.06.13
09:36
(1)я так себе и представлял это.А вот как это реализовать - другой вопрос(
3 fenixx
 
14.06.13
09:48
Сделай ПКО типа НоменклатураБП -> ВидыНоменклатурыУТ
И реквизит ВидНоменклатуры УТ заполняй по этому ПКО, используя в качестве источника саму номенклатуру (или родитель)
4 Vigor06
 
14.06.13
13:11
(3) А как сделать,чтобы он именно самого верхнего родителя в элемент справочника "Виды номенклатуры" переносил?
Потом у что в Конвертации свойств ПКО типа НоменклатураБП -> ВидыНоменклатурыУТ  и так идет сейчас Родитель->НАименование, а пот типам "СправочникССылка.Номенклатура"-> Строка(50)
5 fenixx
 
14.06.13
13:47
(4) Получаешь полный код элемента, выделяешь из него код самого верхнего родителя. Ищешь этот элемент и скармливаешь в качестве источника описанному выше правилу
6 Vigor06
 
14.06.13
14:01
(5) Нубский вопрос: создал ПКО НоменклатураВВиды.тАм вот такое ПКС. по такому правилу будет переноситься? http://gyazo.com/f2c006a219501d89486ef69e9fff4d74


Еще вопрос по переносу контрагентов в партнеры.ТАм поступил вот так: Поставщики в группе "поставщики",соответстенно у таких партнеров галка клиент будет в состоянии "Ложь"
http://gyazo.com/473511668c02582e03288ef1f2493689

Что скажете?
7 Vigor06
 
14.06.13
14:20
да,c номенклатурой намудрил,ибо получил вот что в видах http://gyazo.com/719f5f17523b2e316a5627b2666273da
8 Vigor06
 
14.06.13
15:58
^
9 echo77
 
14.06.13
16:32
Как родителя 1 уровня получаешь?

СправочникРод = Строка.Номенклатура;
Пока СправочникРод.Уровень() <> 0 цикл
СправочникРод = СправочникРод.Родитель;
Конеццикла;

Лучше на этапе выгрузки его перегружать
10 Vigor06
 
14.06.13
16:43
(9) не понял первую строчку
11 Vigor06
 
14.06.13
16:45
(9)я то проверял условием "Если Источник.Родитель = Неопределено ТОгда "

Но не работало(
12 Vigor06
 
14.06.13
17:49
Причем вот это http://gyazo.com/689ffc7cf761a26b34f9526a78ad43ee работает верно и сообщает мне все папки 0го уровня.Но стоит поставить,например,
Если Источник.Уровень() = 0  Тогда
   Приемник = Источник.наименование;
   Сообщить(Источник);
КонецЕсли;    

как при выгрузке получаю ошибку:

Начало выгрузки:   14.06.2013 17:47:45
Товары

Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(9698)}: Значение не является значением объектного типа (ЗаписатьКонецЭлемента)
13 Vigor06
 
18.06.13
15:18
^ пожаааалста