|
v7: КД 2.1 Создание объектов в приемнике, не существующий в источнике | ☑ | ||
---|---|---|---|---|
0
vadim777
08.04.17
✎
18:01
|
Из 7-ки в 8-ку переносится справочник Организации.
В 7-ке в этом справочнике миллион реквизитов, которые нужно сконвертировать в справочник НалоговыеИнспекции (которого в источнике нет), и в регистр КодыОрганизации. Причем в регистре КодыОрганизации присутствует реквизит НалоговаяИнспекция типа СправочникСсылка.НалоговыеИнспекции. Как сделать такой перенос? |
|||
1
mistеr
08.04.17
✎
18:11
|
(0) В ПВД формируешь нужные объекты и вызываешь ВыгрузитьПоПравилу().
|
|||
2
vadim777
08.04.17
✎
18:15
|
(1) Именно в ПВД? По какому событию? А в ПКО нельзя?
|
|||
3
mistеr
08.04.17
✎
18:45
|
(2) Да как удобно. В ПослеВыгрузки, например.
Можно и в ПКО. |
|||
4
Vlad_69
08.04.17
✎
18:55
|
Думается, можно и в ПКО. Семерка же умеет в ИсходящиеДанные?
ЕМНИП, там вместо Структуры через СписокЗначений передается. В ПКС реквизита, который станет полем "Наименование" для справочника НалоговыеИнспекции, в его обработчик "ПередВыгрузкой" затолкать в ИсходящиеДанные остальные реквизиты для этого справочника, а уже, в свою очередь, в ПКО для всего справочника НалоговыеИнспекции всё, кроме наименования, получать из ВходящиеДанные. (как-то так, навскидку). |
|||
5
vadim777
08.04.17
✎
19:19
|
(4) Создать справочник НалоговыеИнспекции в приемнике получилось: в ПКО ОРганизации, в событие ПриВыгрузке, вставил код:
СЗ = СоздатьОбъект("СписокЗначений"); СЗ.ДобавитьЗначение(СокрЛП(Источник.ОтделНалоговойИнспекции),"Наименование"); СЗ.ДобавитьЗначение(1,"ТипДПИ"); СЗ.ДобавитьЗначение(54,"КодАдмРайона"); СЗ.ДобавитьЗначение("Ворошиловский","НаименованиеАдмРайона"); СЗ.ДобавитьЗначение("г.Донецк","Адрес"); СЗ.ДобавитьЗначение(СокрЛП(Источник.ЕГРПОУНалоговойинспекции),"ЕДРПОУ"); СЗ.ДобавитьЗначение(СокрЛП(Источник.КодНалоговойИнспекции),"КодДляПоиска"); ВыгрузитьПоПравилу( , ,СЗ , , "НалоговыеИнспекции"); А как теперь ссылку на выгруженный справочник присвоить реквизиту НалоговаяИнспекция регистра КодыОрганизаций? |
|||
6
Vlad_69
08.04.17
✎
19:45
|
Перенос разовый?
Если да, то можно забить на оптимизацию, и сделать второе ПКО для справочника Налоговые инспекции: ОбъектИсточник - Пусто, ОбъектПриемник = НалоговыеИнспекции. ПКС: Источник - Пусто, Приемник - КодНалоговой (или как этот реквизит у вас называется). В обработчике этого ПКС "ПередВыгрузкой": Значение=Источник; И второе ПКО для Организации: ОбъектИсточник - Организации, ОбъектПриемник - КодыОрганизаций. ПКС в нем соответственно только для полей-измерений, ресурсов и реквизитов регистра. Измерение там какое - "Организация"? Значит, в ПКС для него Источник - Организация, Приемник - соответственно. ПКО для этого ПКС - _первое_ ПКО для Организаций. А для реквизита НалоговаяИнспекция ПКС такое: Источник - КодНалоговой, Приемник - НалоговаяИнспекция, и ссылка на ПКО - _второе_ ПКО для справочника НалоговыеИнспекции. (где-то в этом духе) |
|||
7
Vlad_69
08.04.17
✎
19:48
|
Вдогонку:
Соответственно, в настройках для второго ПКО "НалоговыеИнспекции": Включить галку "Не создавать новый объект в приемнике, если он не найден". И в его ПКС - "Поиск объекта при загрузке по свойству". Ну, и убедиться, что по приоритету ПКО расставлены как надо. |
|||
8
mistеr
09.04.17
✎
10:10
|
(5) Присваивай сам объект (СЗ). Ссылку в приемнике КД сама поставит.
|
|||
9
vadim777
11.04.17
✎
11:40
|
(6,7) Спасибо за подсказку со вторым ПКО для НалоговойИнспекции, все получилось.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |