Имя: Пароль:
1C
1С v8
Замена Справочника при выгрузке данных
0 Amfiaray
 
29.02.20
20:01
Добрый день!

Перенос кадровых документов из 1С ЗУП 2.5 для Казахстана в 1С КУФИБ 3

Конфигурации сильно отличаются между собой по метаданным, сделал правила для переноса документов "Прием на работу".
В ПВД для "Прием на работу" написал правило для выгрузки только нужных документов.
В ПКО справочника "Физические лица" написал в обработчике "Перед выгрузкой" заполнение ТЗ со структурой как в справочнике приемнике и присвоил "ИсходящиеДанные = Моя ТЗ".
При выгрузке данных выходит ошибка
        Ошибка при выгрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1593)}: Ошибка получения свойства объекта из входящих данных
    ПКО                    =  ФизическиеЛица  (Справочник: Физические лица)
    ПКС                    =  1  (--> Код)
    Объект                 =  Конирбаев Бисен Аманышович  (Физические лица)
    СвойствоПриемника      =  Код  (Строка)
    ОписаниеОшибки         =  Получение элемента по индексу для значения не определено
    ПозицияМодуля          =  Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8202)
    КодСообщения           =  68

Подскажите в чем ошибка? С конвертацией данных работаю первый раз, так что сильно не пинайте )
1 RomanYS
 
29.02.20
20:14
почитай описание обработчиков. Навскидку вот это выглядит подозрительно:
"В ПКО справочника "Физические лица" написал в обработчике "Перед выгрузкой" заполнение ТЗ со структурой как в справочнике приемнике и присвоил "ИсходящиеДанные = Моя ТЗ"."

ПКО по идее для одного объекта, ТЗ быть не должно
2 Amfiaray
 
29.02.20
20:16
(1) ИсходящиеДанные - Произвольный - произвольные вспомогательные данные. Данные передаются по следующим правилам:

1.      ПВД.ИсходящиеДанные -> ПКО.ВходящиеДанные

2.      ПКО.ВходящиеДанные -> ПКС.ВходящиеДанные

3.      ПКС.ИсходящиеДанные -> ПКО.ВходящиеДанные

а в каком виде передать? сейчас попробую структурой.
3 welwel
 
29.02.20
20:20
заполнение ТЗ
По логике в ПВД должно быть

А в ПКО может вообще достаточно реквизиты источника и приемника сопоставить и без кода обойтись
4 welwel
 
29.02.20
20:22
ИсходящиеДанные/Входящиеданные немного для другого нужны: передавать поля, которые не сопоставить
5 welwel
 
29.02.20
20:25
В ПВД ПередОбработкой определить КоллекцияОбьектов, как массив ссылок справочника источника
(2)
6 Amfiaray
 
29.02.20
20:26
(3) не получается сопоставить, в приемнике полей больше чем в источнике, в источнике эти данные хранятся в регистрах сведений
7 Amfiaray
 
29.02.20
20:26
(4) Ну вот у меня они и не сопоставились
8 welwel
 
29.02.20
20:31
(6) можно все тогда поля приемника в пко указать Получить из входящих данных
В пвд передобработкой отказ=истина и свой алгоритм с обходом выборки и выгрузитьпоправилу, где как ИсходящиеДанные передается структура, которая будет Входящиеданные для пко
9 welwel
 
29.02.20
20:32
Пример в справке по обработчикам в кд2
10 welwel
 
29.02.20
20:36
Здесь вроде разжевано ещё
http://catalog.mista.ru/public/1195038/
11 Amfiaray
 
29.02.20
20:36
(8) В ПВД для справочника? Если для справочника. то как определить ссылка на какой элемент выгружается? ведь справочник выгружается по ссылке
12 welwel
 
29.02.20
20:42
(11) да
Если справочник выгружается по ссылке, например, как реквизит документа, то исходящиеданные определяются/заполняются/передаются в передвыгрузкой пкс реквизита пко этого документа
13 welwel
 
29.02.20
20:46
К книге Бояркин Филатов Конвертация данных
демобаза есть, емнип там можно подглядеть еще по этой теме
14 Amfiaray
 
29.02.20
20:50
(13) Спасибо, буду разбираться
15 welwel
 
29.02.20
20:51
Вообще с нуля писать такое - занятие неблагодарное. Возможно есть правила переноса либо из нужного источника во что-то, либо в нужный приёмник из чего-то. Последнее полезнее: можно увидеть необходимые для заполнения поля и обработчики послезагрузки.
Либо курить правила для похожего приемника.
16 welwel
 
29.02.20
20:55
Есть ещё в кд2 кнопка полезная "Скопировать с заменой конвертации", которая копирует пко из одной конвертации в другую - так можно "надергать" из образца в свою конвертацию нужные пко для своего переноса. Обе конвертации должны быть в одной базе кд2.
17 welwel
 
29.02.20
20:59
+ (16) и останется лишь подправить пкс, обработчики.
18 welwel
 
29.02.20
21:02
И при ошибках на кофейной гуще не гадать, а сразу использовать режим отладки и в отладчик. Прямо начиная с ВыгрузитьПоПравилу - код там достаточно понятный.
19 Amfiaray
 
29.02.20
21:29
Не смог найти правила для КУФИБа
20 Amfiaray
 
29.02.20
21:29
не так часто его у нас внедряют и используют
21 welwel
 
29.02.20
21:55
Возможно, есть правила для типового 1С ЗУП для Казахстана. Макет правил обычно в конфигурации.
22 welwel
 
29.02.20
22:01
(11) если выгружается выборка документов, то можно в пвд определить структуру исходящиеданные со всеми данными физлиц - она будет доступна и в пкс, как Входящиеданные - в ней можно найти данные для нужного физлица и передать уже через исходящиеданные в пко физлица
23 welwel
 
29.02.20
22:08
(22) передать уже через исходящиеданные в пко физлица
В обработчике передвыгрузкой соотв-го пкс