Имя: Пароль:
1C
1С v8
КД: перенос справочника в несколько справочников
0 GlebHappy
 
30.03.15
13:58
И снова здраствуйте!

Возникла вновь креативная задача:
В базе-источнике есть справочник, обзовем его для простоты СправочникА
В базе-приемнике есть три справочника - СправочникБ1, СправочникБ2, СправочникБ3

Возникла необходимость при переносе данных раскладывать элементы из СправочникА в элементы справочников СправочникБ1/2/3 в зависимости от значения реквизита ВидОбъекта.

Что я придумал:
1. Нарисовал три ПКО - А_Б1, А_Б2, А_Б3
2. Нарисовал буферное правило А_Б с обработчиком ПередВыгрузкой такого вот вида:

Если Не Источник.Предопределенный Тогда
    Если Источник.ВидОбъекта = 1 Тогда
        ИмяПКО = "А_Б1";
    ИначеЕсли Источник.ВидОбъекта = 2 Тогда
        ИмяПКО = "А_Б2";
    Иначе
        ИмяПКО = "А_Б3";
    КонецЕсли;
КонецЕсли;

Маленький нюанс - буферное правило А_Б имеет типы источника и приемника А и Б1 соответственно.
Что получаем в итоге - объекты, соответствующие правилу А_Б1, переносятся нормально; остальные - не переносятся, такое ощущение, что правила А_Б2 и А_Б3 игнорируются.

В чем может быть грабля?
1 Альбатрос
 
30.03.15
14:03
Может через произвольную выгрузку и выгрузить по правилу?
2 DrShad
 
30.03.15
14:04
(1) +1
3 13_Mult
 
30.03.15
14:05
Вместе с КД идет пример, вроде такой есть
4 GlebHappy
 
30.03.15
14:23
(1) Спасибо за совет, но вот в чем нюанс: выгрузить сам справочник с раскладыванием в три других - нет проблем. Но он ещё по ссылкам выгружается во многих других документах и это нужно именно как-то правилами конвертации объектов разруливать.

Можно, конечно, конструкцию типа приведенной в первом посте рисовать в каждом правиле конвертации свойства, но хотелось бы сделать универсальное правило, которое будет отрабатывать при выгрузке по ссылке любого объекта типа СправочникСсылка.СправочникА
5 DrShad
 
30.03.15
14:42
(4) и как это противоречит (1)?
6 GlebHappy
 
30.03.15
14:45
(5) Ну как я понимаю, там идет речь про выгрузку справочника через ПВД - там всё хорошо и нормально работает)
А мне, получается, надо из одного ПКО вызывать на выбор одно из трех других, а по какой-то причине вызывается всегда только одно: не соответствующие ему объекты тупо не выгружаются.
7 DrShad
 
30.03.15
14:49
(6) в типовых правилах такое реализовано - изучайте, все работает
8 GlebHappy
 
30.03.15
14:56
(7) А можно более точно меня целеуказать?))) Демо конвертации в наличии имеется.
9 DrShad
 
30.03.15
14:58
(8) там где по ссылке в перед выгрузкой указываешь ПВД и всего-то делов