Имя: Пароль:
1C
1С v8
Конвертация данных: перенос подчиненного справочника
0 neo1109
 
29.12.14
11:57
Приемник: база Розницы.
Соответственно имеем следующую структуру: справочника "Номенклатура" и подчиненный ему справочник "ЕдиницыИзмерения". Плюс у номенклатуры есть реквизиты "ЕдиницаХраненияОстатков" типа СправочникСсылка.ЕдиницыИзмерения.
Из источника переносится справочник "Номенклатура".
Надо:
1. автоматом создать элемент спр-ка ЕдиницыИзмерения с именем "шт", естественно с подчинением номенклатуре
2. заполнить реквизит ЕдиницаХраненияОстатков

Вот я и понять не могу: как создать ПКО для переноса в справочник ЕдиницыИзмерения я представляю, но че то не допетрю, как заполнять поле Владелец, если номенклатура еще не перенеслась.

Сорри за сумбур, НГ, почти ПТ. Что разъяснить - спрашивайте...
1 Бригада бронепоезда
 
29.12.14
12:02
берешь процедуру ПослеЗагрузки объекта и пишешь там создание эл спр ЕдИзм
в этой процедуре у тебя есть инициализированные переменные - Объект и Ссылка твоей номенклатуры
2 neo1109
 
29.12.14
12:05
(1) Думал об этом...
Это получается самому обыгрывать повторный перенос, в смысле проверять, нет ли такой единицы уже?
Да, Объект есть, а вот Ссылка...
Насильно записывать придется.
3 Бригада бронепоезда
 
29.12.14
12:08
(2) ну попробуй еще процедуру ВыгрузитьПоПравилу(), хотя и сомневаюсь будет ли работать в ситуации с новой номенклатурой
4 Vovan1975
 
29.12.14
12:23
слабак
5 Vovan1975
 
29.12.14
12:28
создаешь ПКО и для свойства владелец указываешь правило, по которому у тебя номенклатура переносится, в чем проблема то?
6 Godofsin
 
29.12.14
12:29
(5) +100500. (0)Хотя бы типовые бы глянул для начала
7 neo1109
 
29.12.14
12:31
(5) т.е. переносить в 2 этапа: первый раз чтобы номенклатура появилась и второй для единиц измерения?
8 Vovan1975
 
29.12.14
12:32
(7) нафига? Все в один заход
9 Vovan1975
 
29.12.14
12:33
посмотри в типовой как делаются ПКО с использованием внешних данных.
10 neo1109
 
29.12.14
12:34
(5) плюс в источнике есть ТОЛЬКО Номенклатура. Элемент справочника ЕдиницыИзмерения создается правилами - всем "шт".
11 neo1109
 
29.12.14
12:36
(9) с входящими/исходящими я уже работал. но как их тут применить - понятия не имею...
12 Vovan1975
 
29.12.14
12:36
еще раз - смотри в примерах конвертации как делается перенос с использованием внешних данных
13 Рэйв
 
29.12.14
12:37
(10)в ПослеЗагрузки проверяй Объект.Если  Объект.ссылка.Пустая(), то записывай объект, а потом проверяй есть у него уже созданная шт или нет.Если нет, то создавай.
Потом в Объект заполняй
14 neo1109
 
29.12.14
12:38
(13) после лучше этого варианта - не вижу
15 Рэйв
 
29.12.14
12:39
(14)Если у тебя только номенклатура в источнике, то это для теб единственный:-)
Можно конечно самому сделать из ВходящихДанных в КД, но боюсь ты не потянешь:-)
16 Boroda
 
29.12.14
12:40
У меня сделано так из семерки в восьмерку:
У номенклатуры в "После выгрузки" записано:
спрОКЕИ = СоздатьОбъект("Справочник.ОКЕИ");
спУпаковок = глРазложить("уп,пал,упбрутто,палбрутто");
Для ц=1 по спУпаковок.РазмерСписка() Цикл
  Если     спрОКЕИ.НайтиПоНаименованию(спУпаковок.ПолучитьЗначение(ц),0,1)=0 Тогда Продолжить; КонецЕсли;
        Если спрЕ.НайтиПоРеквизиту("ОКЕИ",спрОКЕИ.ТекущийЭлемент(),0)=0 Тогда Продолжить; КонецЕсли;
        ВыгрузитьПоПравилу(спрЕ.ТекущийЭлемент(),,,,"ЕдиницыНоменклатуры_УпаковкиНоменклатуры");
    КонецЦикла;
17 Boroda
 
29.12.14
12:47
спрЕ  - это:
    спрЕ = СоздатьОбъект("Справочник.Единицы");
    спрЕ.ИспользоватьВладельца(Источник);
18 neo1109
 
29.12.14
12:47
"Можно конечно самому сделать из ВходящихДанных в КД"
19 neo1109
 
29.12.14
12:48
(18) Сорри
(15) "Можно конечно самому сделать из ВходящихДанных в КД"
Каким образом? Если есть что посоветовать - напишите, а допру/не допру это уже другая история ;)