Добрый день, Коллеги!
Ineedhelp!

Использую конфигурацию Конвертация данных 2.1 для переноса остатков из бухгалтерской базы 7.7 в бухгалтерскую базу 8.3
Правила обмена почти готовы.
Но под конец столкнулся с простым, казалось бы, вопросом, который не получается решить своими силами.
Надеюсь на Вашу помощь!

Итак, переносится справочник ОС.
Создано ПКО "Основные средства".
В нём для переноса реквизитов простых типов созданы ПКС, перенос работает нормально.
Но кроме этого нужно перенести из 7.7 два реквизита типа Справочник в реквизиты типа Справочник 8.3
ШифрПоКлассификатору -> ШифрПоЕНАОФ
ШифрПоНормативнымСрокамСлужбы -> НССОС

Для этого дополнительно созданы два ПКО для переноса этих справочников (рис.1, рис.2)
В ПКО "Основные средства" созданы два ПКС для переноса этих реквизитов с указанием правил конвертации из первых скриншотов (рис. 3)
Но когда отрабатывает конвертация, эти два реквизита остаются ПУСТЫМИ, хоть справочники ЕдиныеНормыАмортизационныхОтчисленийОсновныхФондов и НормативныеСрокиСлужбыОсновныхСредств в 1С 8.3 заполняются правильными значениями.
В 7.7 реквизиты заполнены. ГОСПОДА, где я не прав?..

П.С.
Выполнил следующую проверку.

Если в ПКС "ШифрПоЕНАОФ" "Перед выгрузкой" указать "Значение=Источник", то в реквизите ШифрПоЕНАОФ основного средства 8.3 выбирается созданный элемент справочника ЕдиныеНормыАмортизационныхОтчисленийОсновныхФондов с наименованием, таким же, как наименование основного средства.

А элемент с наименованием ШифраПоКлассификатору из 7.7, если код "Перед выгрузкой" пустой выбираться не хочет :(((
---
В справочнике "ОсновныеСредства" реквизиты "ШифрПоКлассификатору" и "ШифрПоНормативнымСрокамСлужбы" периодические?
---
в ПКС "Код" обоих ПКО идет несоответствие типов. Число конвертируется в строку, при чем разрядность числа меньше длины строки. Установлено ли свойство ПКС "Автоматически приводить к длине в приемнике"?
---
Добрый день, Коллега!
Где в ПКС есть такое свойство в КД 2.1?

Код в справочнике НормативныеСрокиСлужбыОсновныхСредств в 8.3 присваивается правильно.
Проблема в том, что в справочнике Основных средств 8.3 не выбирается элемент этого справочника в реквизите НССОС
---
Суть проблемы я понял. Настройку ПКО и ПКС на скринах посмотрел. Ошибок не нашел.
Свойство "Автоматически приводить к длине в приемнике" в самом низу формы ПКС на скрине из (5).
Раз коды заводятся правильно, значит не в этом причина.
---
Ой, чувствую, здесь дело в вечном проклятии олдскульных программистов - в управляемых формах.

В конфигураторе на форме ОС вообще не видно реквизита ОС "НССОС", хотя в списке "Данные" он есть и в тонком клиенте в режиме "Предприятие" реквизит отображается.
Как он отображается и какие данные он отображает мне ни разу не понятно, ведь в модуле формы элемента поиск не находит слова "НССОС"!
---
Наверное, не всё так страншо.
В отладчике значение реквизита отображается через параметр "Форма.Объект.НССОС"
Но, к сожалению, пустое. Пока его вручную не заполнишь.
Поэтому изначальный вопрос в силе...
---
ОК, это стойство задисаблено, поэтому не заметно.
Я тоже не понимаю, где может быть ошибка. Другие правила настроены также, однако ссылки на справочники переносятся и только здесь засада.
---
Может при записи объекта какая-то шляпа происходит? По ОС оч много инфы хранится в регистрах сведений.
---
Глобальным поиском не нашёл в конфиге 8.3 вхождений "НССОС", где реквизит мог бы меняться.
В КД я не добавлял скриптов, его изменяющих.
Документ ввода начальных остатков ОС не содержит в себе таких реквизитов.
Шляпа какая-то экзотическая...
---
В какую БП переносятся данные 2.0 или 3.0?
Нашел справочник "ЕдиныеНормыАмортизационныхОтчисленийОсновныхФондов" в БП 3.0. Справочник не подчиненный. Думал может в этом причина.
Можно взглянуть на форму ПКО "ОсновныеСредства"? И еще на XML-ку с выгруженным из 7.7 объектом ОС? Прям именно скрин кусочка с объектом ОС.

На скрине видно, что элемент формы "ШифрПоЕНАОФ" получает данные из реквизита объекта "ШифрПоЕНАОФ". Значит все что нужно сделать это установить значение реквизита.
---
У нас "Бухгалтерия для Беларуси 2.1"
Тоже на управляемых формах, аналог БП 3.0
Элемент формы "ШифрПоЕНАОФ" тоже получает данные из реквизита объекта "ШифрПоЕНАОФ"

В КД реквизит "ШифрПоЕНАОФ" пишется из реквизита 7.7 ШифрПоКлассификатору с использованием правила ЕдиныеНормыАмортизационныхОтчисленийОсновныхФондов (перенос справочника Классификатор)
Такой скрин был в первом сообщении.
Файл xml с данными из 7.7 большой (120 Мб). На всякий случай прицеплю его в архиве.
---
Не осиливает у мну XML Pad этот файлик. Может можно только одно ОС выгрузить?
---
Не знаю, как выгружать штучные объекты, но я вручную выдрал из XML несколько записей о НССОС
Оказалось, что в записях ШифрПоЕНАОФ и НССОС выгружена запись <Пусто/>
Совсем не понял в чём дело. Правила вроде написаны корректно
---
Подтверждаю, что значения этих реквизитов не выгружаются. А может они периодические? Давно не работал с 7.7 и не помню, как в КД осуществляется получение значения периодического реквизита. Возможно значение такого реквизита необходимо получать через объект "Периодический" на стороне источника.
Может для ПКО "ОС" ПВД есть специфическое?
---
В справочнике Классификатор 7.7 есть единственный реквизит "Норма" (не периодический)
Важно выбрать в реквизите ОС 8.3 элемент с заданным наименованием.
Именно на Наименовании в правилах КД "ЕдиныеНормыАмортизационныхОтчисленийОсновныхФондов" я поставил признак "Поиск объекта при загрузке по свойству"
Но почему-то объект не находится и не выгружается, хотя правила простые,как два пальца.
Нонсенс.
---
В справочнике "ОсновныеСредства" реквизиты "ШифрПоКлассификатору" и "ШифрПоНормативнымСрокамСлужбы" периодические?
---
периодические
А кстати, ДА!
Наверное, вот он ключевой момент. В 7.7 эти два шифра периодические.
По ходу это единственные периодические реквизиты в моих правилах, не ожидал засады в этом месте :)

Осталось правльно настроить правила для переноса периодического реквизита
---
Огромное спасибо за помощь!
Удалось настроить передачу периодических реквизитов.
В ПКС "Перед выгрузкой" добавил
Значение = Источник.ШифрПоНормативнымСрокамСлужбы.Получить(Дата(2017,03,31));
---
Правильнее, конечно, сделать ПВД для этого объекта. Чтобы по 100 раз базу не дергать. Ну и дату, думаю, стоит брать из параметров, либо текущую.
---
1) Переносятся ли корректно справочники ШифрПоКлассификатору, ШифрПоНормативнымСрокамСлужбы сами по себе? Т.е. если создать просто ПВД для этих справочников и выгрузить какие-нибудь значения, которых заведомо нет в приемнике, появляются ли они там?
2) Если сами справочники корректно переносятся, то в ПКО для ОС что-то намудрили. Скриншота нет)
3) Проверять, что данные перенесены, открывая форму в приемнике, не всегда правильно. При открытии всякое может выполняться.
Лучше той же консолью запросов посмотреть.
---
Исходя из (1)
 Но когда отрабатывает конвертация, эти два реквизита остаются ПУСТЫМИ, хоть справочники ЕдиныеНормыАмортизационныхОтчисленийОсновныхФондов и НормативныеСрокиСлужбыОсновныхСредств в 1С 8.3 заполняются правильными значениями.
Сами элементы справочников "ЕдиныеНормыАмортизационныхОтчисленийОсновныхФондов" и "НормативныеСрокиСлужбыОсновныхСредств" переносятся нормально. А вот значения реквизитов справочника "ОсновныеСредства" не переносятся. Из этого я сделал вывод, что эти реквизиты могут быть периодическими, а стало быть для них нужно получить значение.