КД3 синхранизация регистров сведеней
Добрый день! Подскажите как загружать через КД3 версия формата 1.6 регистры сведений.
Отправка отрабатывает без ошибок
Настрое ПКО
При конвертации данных XDTO
Перед записью полученных данных
При попытке получения выдает ошибку
Событие: Получение.
Объект XDTO: Справочник.ОтветственныеЛица, .
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(1685)}: Поле объекта не обнаружено (Ссылка)
МассивЗагруженныхОбъектов.Добавить(ДанныеДляЗаписиВИБ.Ссылка);
Подскажите пожалуйста что не так делаю. И как правильно переносить регистры сведений?
Отправка отрабатывает без ошибок

Настрое ПКО

При конвертации данных XDTO
ПолученныеДанные.ДополнительныеСвойства.Вставить("Записи", Неопределено);
Если ДанныеXDTO.Свойство("Записи")
И ЗначениеЗаполнено(ДанныеXDTO.Записи) Тогда
ПолученныеДанные.ДополнительныеСвойства.Вставить("Записи", ДанныеXDTO.Записи);
КонецЕсли;
Перед записью полученных данных
// Определение правил конвертации, с помощью которых будет преобразование ОбъектXDTO - ДанныеИБ.
ПравилоКонвертацииФизическиеЛица = ОбменДаннымиXDTOСервер.ПКОПоИмени(КомпонентыОбмена, "Справочник_ФизическиеЛица_Получение");
ПравилоКонвертацииДолжности = ОбменДаннымиXDTOСервер.ПКОПоИмени(КомпонентыОбмена, "Справочник_Должности_Получение");
ПравилоКонвертацииОрганизации = ОбменДаннымиXDTOСервер.ПКОПоИмени(КомпонентыОбмена, "Справочник_Организации_Получение");
// Добавление записей в набор записей.
Если ПолученныеДанные.ДополнительныеСвойства.Записи <> Неопределено Тогда
Для Каждого СтрокаЗаписи Из ПолученныеДанные.ДополнительныеСвойства.Записи Цикл
ЗаписьКадровыеДанныеФЛ = ПолученныеДанные.Добавить();
ЗаписьКадровыеДанныеФЛ.Период = СтрокаЗаписи.ДатаНачала;
ЗаписьКадровыеДанныеФЛ.Организация = ОбменДаннымиXDTOСервер.СтруктураОбъектаXDTOВДанныеИБ(
КомпонентыОбмена, СтрокаЗаписи.Организация, ПравилоКонвертацииОрганизации, "ПолучитьСсылку").Ссылка;
ЗаписьКадровыеДанныеФЛ.ФизЛицо = ОбменДаннымиXDTOСервер.СтруктураОбъектаXDTOВДанныеИБ(
КомпонентыОбмена, СтрокаЗаписи.ФизическоеЛицо, ПравилоКонвертацииФизическиеЛица, "ПолучитьСсылку").Ссылка;
ЗаписьКадровыеДанныеФЛ.Должность = ОбменДаннымиXDTOСервер.СтруктураОбъектаXDTOВДанныеИБ(
КомпонентыОбмена, СтрокаЗаписи.Должность, ПравилоКонвертацииДолжности, "ПолучитьСсылку").Ссылка;
ЗаписьКадровыеДанныеФЛ.Подразделение = ОбменДаннымиXDTOСервер.СсылкаОбъектаПоУИДОбъектаXDTO (СтрокаЗаписи.ПредставлениеДокументаПраваПодписи,
Тип("СправочникСсылка.ПодразделенияОрганизаций"), КомпонентыОбмена);
ЗаписьКадровыеДанныеФЛ.Работает = СтрокаЗаписи.УполномоченноеЛицо;
ЗаписьКадровыеДанныеФЛ.Активность = ИСТИНА;
КонецЦикла;
КонецЕсли;
ПоказатьПри попытке получения выдает ошибку
Событие: Получение.
Объект XDTO: Справочник.ОтветственныеЛица, .
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(1685)}: Поле объекта не обнаружено (Ссылка)
МассивЗагруженныхОбъектов.Добавить(ДанныеДляЗаписиВИБ.Ссылка);
Подскажите пожалуйста что не так делаю. И как правильно переносить регистры сведений?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вроде нашла решение. Удалила ПКО, и в ПОД При обработке добавила
ПравилоКонвертацииФизическиеЛица = ОбменДаннымиXDTOСервер.ПКОПоИмени(КомпонентыОбмена, "Справочник_ФизическиеЛица_Получение");
ПравилоКонвертацииДолжности = ОбменДаннымиXDTOСервер.ПКОПоИмени(КомпонентыОбмена, "Справочник_Должности_Получение");
ПравилоКонвертацииОрганизации = ОбменДаннымиXDTOСервер.ПКОПоИмени(КомпонентыОбмена, "Справочник_Организации_Получение");
Если ДанныеXDTO.Свойство("Записи")
И ЗначениеЗаполнено(ДанныеXDTO.Записи) Тогда
Для Каждого СтрокаЗаписи Из ДанныеXDTO.Записи Цикл
КадровыеДанныеФЛ = РегистрыСведений._УГН_КадровыеДанныеФизлиц.СоздатьНаборЗаписей();
КадровыеДанныеФЛ.Отбор.Период.Установить(СтрокаЗаписи.ДатаНачала);
КадровыеДанныеФЛ.Отбор.Физлицо.Установить(ОбменДаннымиXDTOСервер.СтруктураОбъектаXDTOВДанныеИБ(
КомпонентыОбмена, СтрокаЗаписи.ФизическоеЛицо, ПравилоКонвертацииФизическиеЛица, "ПолучитьСсылку").Ссылка);
КадровыеДанныеФЛ.Отбор.Организация.Установить(ОбменДаннымиXDTOСервер.СтруктураОбъектаXDTOВДанныеИБ(
КомпонентыОбмена, СтрокаЗаписи.Организация, ПравилоКонвертацииОрганизации, "ПолучитьСсылку").Ссылка);
ЗаписьКадровыеДанныеФЛ = КадровыеДанныеФЛ.Добавить();
Если Не ЗначениеЗаполнено(КадровыеДанныеФЛ.Отбор.Период.Значение) Тогда
ЗаписьКадровыеДанныеФЛ.Период = СтрокаЗаписи.ДатаНачала;
Иначе
ЗаписьКадровыеДанныеФЛ.Период = КадровыеДанныеФЛ.Отбор.Период.Значение;
КонецЕсли;
Если Не ЗначениеЗаполнено(КадровыеДанныеФЛ.Отбор.Организация.Значение) Тогда
ЗаписьКадровыеДанныеФЛ.Организация = ОбменДаннымиXDTOСервер.СтруктураОбъектаXDTOВДанныеИБ(
КомпонентыОбмена, СтрокаЗаписи.Организация, ПравилоКонвертацииОрганизации, "ПолучитьСсылку").Ссылка;
Иначе
ЗаписьКадровыеДанныеФЛ.Организация = КадровыеДанныеФЛ.Отбор.Организация.Значение;
КонецЕсли;
Если Не ЗначениеЗаполнено(КадровыеДанныеФЛ.Отбор.Физлицо.Значение) Тогда
ЗаписьКадровыеДанныеФЛ.ФизЛицо = ОбменДаннымиXDTOСервер.СтруктураОбъектаXDTOВДанныеИБ(
КомпонентыОбмена, СтрокаЗаписи.ФизическоеЛицо, ПравилоКонвертацииФизическиеЛица, "ПолучитьСсылку").Ссылка;
Иначе
ЗаписьКадровыеДанныеФЛ.ФизЛицо = КадровыеДанныеФЛ.Отбор.Физлицо.Значение;
КонецЕсли;
ЗаписьКадровыеДанныеФЛ.Должность = ОбменДаннымиXDTOСервер.СтруктураОбъектаXDTOВДанныеИБ(
КомпонентыОбмена, СтрокаЗаписи.Должность, ПравилоКонвертацииДолжности, "ПолучитьСсылку").Ссылка;
ЗаписьКадровыеДанныеФЛ.Подразделение = ОбменДаннымиXDTOСервер.СсылкаОбъектаПоУИДОбъектаXDTO (СтрокаЗаписи.ПредставлениеДокументаПраваПодписи,
Тип("СправочникСсылка.ПодразделенияОрганизаций"), КомпонентыОбмена);
ЗаписьКадровыеДанныеФЛ.Работает = СтрокаЗаписи.УполномоченноеЛицо;
ЗаписьКадровыеДанныеФЛ.Активность = ИСТИНА;
КадровыеДанныеФЛ.Записать();
КонецЦикла;
КонецЕсли;
Показать
Не буду создавать новую тему, так как очередной вопрос связан также с переносом регистров сведений.
Переношу из ЗУП 3.1.7 регистр сведений РегистрСведенийЗапись.КадроваяИсторияСотрудниковИнтервальный через объект формата 1.6 Справочник.ОтветственныеЛица, для приемнике БУХ 3.0 в нетиповом регистре Отбор Организация, ФизЛицо, Период. Вопрос как выгрузить значения этих трех реквизитов, два реквизита Отбора выгружаются в ПКО РС_КадроваяИсторияСотрудников_Отправка
Подскажите пожалуйста как выгрузить ФизЛицо, если в объекте формата его нет, а AdditionalInfo уже занят.
Переношу из ЗУП 3.1.7 регистр сведений РегистрСведенийЗапись.КадроваяИсторияСотрудниковИнтервальный через объект формата 1.6 Справочник.ОтветственныеЛица, для приемнике БУХ 3.0 в нетиповом регистре Отбор Организация, ФизЛицо, Период. Вопрос как выгрузить значения этих трех реквизитов, два реквизита Отбора выгружаются в ПКО РС_КадроваяИсторияСотрудников_Отправка
ДанныеXDTO.Вставить("ОрганизацияОтбор", ДанныеИБ.Отбор.ГоловнаяОрганизация.Значение);
ДанныеXDTO.Вставить("AdditionalInfo", ДанныеИБ.Отбор.ПериодЗаписи.Значение);
ТаблицаЗаписи = ДанныеИБ.Выгрузить();
ТаблицаЗаписи.Колонки.Добавить("УполномоченноеЛицо");
ТаблицаЗаписи.Колонки.Добавить("ВидОтветственногоЛица");
ТаблицаЗаписи.Колонки.Добавить("ВидДокументаПравоПодписи");
ТаблицаЗаписи.Колонки.Добавить("ПредставлениеДокументаПраваПодписи");
Для Каждого СтрокаЗаписи Из ТаблицаЗаписи Цикл
СтрокаЗаписи.ДатаНачала = СтрокаЗаписи.ПериодЗаписи;
Если ЗначениеЗаполнено(СтрокаЗаписи.Подразделение) Тогда
СтрокаЗаписи.ПредставлениеДокументаПраваПодписи = Строка(СтрокаЗаписи.Подразделение.УникальныйИдентификатор());
КонецЕсли;
СтрокаЗаписи.УполномоченноеЛицо = ?(СтрокаЗаписи.ВидСобытия <> ПредопределенноеЗначение("Перечисление.ВидыКадровыхСобытий.Увольнение"), ИСТИНА, ЛОЖЬ);
СтрокаЗаписи.ВидОтветственногоЛица = "Прочее";
СтрокаЗаписи.ВидДокументаПравоПодписи = "Приказ";
КонецЦикла;
ДанныеXDTO.Вставить("Записи", ТаблицаЗаписи);
ПоказатьПодскажите пожалуйста как выгрузить ФизЛицо, если в объекте формата его нет, а AdditionalInfo уже занят.
(8)
потом при получении проверяем заполненность AdditionalInfo, тип данных, и если структура, проверяем наличие соответствующих свойств.
ДопДанные = Новый Структура;
ДопДанные.Вставить("ПериодЗаписи", ДанныеИБ.Отбор.ПериодЗаписи.Значение);
ДопДанные.Вставить("ФизЛицо", Строка(ДанныеИБ.ФизЛицо.УникальныйИдентификатор()));
ДанныеXDTO.Вставить("AdditionalInfo", ДопДанные);
потом при получении проверяем заполненность AdditionalInfo, тип данных, и если структура, проверяем наличие соответствующих свойств.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот