0
Oleg-and-reevich
19.08.15
✎
10:16
|
Доброго времени суток. Есть БП3.0 распределенная информационная база.
Корень, от него подчиненный узел, от подчиненного узла свой подчиненный узел. Из последнего подчиненного данные обратно не идут(в правилах регистрации прописано отказ = истина перед выгрузкой).
В последний подчиненный узел тоже не все должны данные идти. Вопрос: как в обработчике условие прописать и что с чем сравнить? Попробовал так
Если Приемник.ПланыОбмена.Полный.НайтиПоНаименованию("Склад") Тогда
Отказ = Истина;
КонецЕсли;
Чушь, наверное. Подскажите пожалуйста, в каком направлении двигаться.
|
|
1
Oleg-and-reevich
20.08.15
✎
18:11
|
Если вдруг кому понадобится. В обработчике "После обработки" добавить следующий код, например:
Для Каждого Узел Из Получатели Цикл
Если Узел.Наименование = "Склад" Тогда
Отказ = Истина;
КонецЕсли;
КонецЦикла;
Вообще здесь собственная невнимательность, плохо смотрел в информацию по обработчикам в конвертации данных.
|
|
2
Oleg-and-reevich
07.09.15
✎
09:17
|
То, что было описано выше не работает. Но нашел все-таки как решить. Чтобы к примеру перенести только один документ "Поступление" в обработчике "После обработки" всех документов пишем:
Для Каждого Узел Из Получатели Цикл
Если Узел.Наименование = "ПодчиненныйУзел" Тогда
Если НЕ ТипЗнч(Объект.Ссылка) = ТипЗнч(Документы.ПоступлениеТоваровУслуг.ПустаяСсылка()) Тогда
Массив = Новый Массив;
Массив.Добавить(Получатели[Получатели.Найти(ПланыОбмена.Полный.НайтиПоНаименованию("Корень"))]);
Получатели.Очистить();
Получатели.Добавить(Массив[0]);
КонецЕсли;
КонецЕсли;
КонецЦикла;
Чтобы данные регистров шли только по этому документу, в обработчике "После обработки" регистров пишем:
Для Каждого Узел Из Получатели Цикл
Если Узел.Наименование = "ПодчиненныйУзел" Тогда
Если НЕ ТипЗнч(Объект.Отбор.Регистратор.Значение) = ТипЗнч(Документы.ПоступлениеТоваровУслуг.ПустаяСсылка()) Тогда
Массив = Новый Массив;
Массив.Добавить(Получатели[Получатели.Найти(ПланыОбмена.Полный.НайтиПоНаименованию("Корень"))]);
Получатели.Очистить();
Получатели.Добавить(Массив[0]);
КонецЕсли;
КонецЕсли;
КонецЦикла;
Есть стандартные процедуры, которые можно вызывать из обработчиков правил регистрации такие как "Сократить получателей", "Добавить получателей". Но они не сработали(возможно созданы не для таких целей).
|
|