Имя: Пароль:
1C
1С v8
УРБД: Выборочная миграция элементов стравочников
0 kolyakiev
 
31.01.14
00:58
Необходимо выгружать в узел только необходимые элементы справочников Склады и Подразделения.
Добавил в План Обмена реквизит Подразделения. Пытаюсь выгрузить справочник Склады:

Процедура ПриОтправкеДанныхПодчиненному(ЭлементДанных, ОтправкаЭлемента)
.............
Если ТипЗнч(ЭлементДанных)=Тип("УдалениеОбъекта") Тогда
        Возврат;
КонецЕсли;
подчТекущийУзел=ЭтотОбъект;
ОбъектМетаданных=ЭлементДанных.Метаданные();

Если Метаданные.Справочники.Содержит(ОбъектМетаданных) И Метаданные.Справочники.Склады = ОбъектМетаданных Тогда
        Подразделение=ЭлементДанных.Реквизиты.Подразделение.Значение;
    Мета=Подразделение.Метаданные();
        Если Мета.Реквизиты.Найти("Подразделение")<>Неопределено Тогда
             Если подчТекущийУзел.Подразделение <> Подразделение.Подразделение Тогда
                  ОтправкаЭлемента=ОтправкаЭлементаДанных.Игнорировать;
             КонецЕсли;
        КонецЕсли;
КонецЕсли;

КонецПроцедуры

Выдает ошибку. Помогите создать правильный код.
1 kolyakiev
 
31.01.14
13:24
Что это нереально сделать?
2 Рэйв
 
31.01.14
13:27
Ну что за любительство!
"Выдает ошибку...."
Вроде стаж солидный.
А все еще ждет, что текст ошибки будут угадывать телепатическки.
3 Maxus43
 
31.01.14
13:36
Процедура ПриОтправкеДанныхПодчиненному
и другие - зело некошерное решение.
Подход должен быть - что не надо, не регистрировать вобще. Если зарегистрирован - значит нужен
4 Шапокляк
 
31.01.14
13:41
(3) Сложно поспорить
(0) и все же...
В процедуре ПриОтправкеДанныхПодчиненному такой кусок точно сработает
    ЕСли ТипДанных = Тип("СправочникОбъект.Склады") Тогда  
        Если ЭлементДанных.Подразделение <> Подразделение Тогда
            ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать;
Возврат;
        КонецЕсли;
КонецЕсли;
5 kolyakiev
 
31.01.14
14:05
(2)(4) Сорри, не подумал. Вечером предоставлю ошибку.
(3) А так можно? Будет несколько дочерних узлов (точно >2). И в зависимости от Подразделения и Склада будет идти выгрузка. В общем задача - чтобы дочерние узлы не содержали информации о других дочерних узлах (например элементах справочников Склады и Подразделения).
6 andreymongol82
 
31.01.14
14:06
(5) В типовых есть план обмена "ПоОрганизации"
7 Maxus43
 
31.01.14
14:07
(5) так не можно, так нужно.
в план обмена добавь реквизиты по которым идёт отбор при регистрации, в подписках на события ПередЗаписью, ПриЗаписи идёт анализ и добавляются узлы получатели элементам.
В итоге зарегистрированы только нужные.
Смотри типовые обмены по Организации
8 kolyakiev
 
31.01.14
14:44
(6)(7) Спасибо. Буду смотреть.