Конвертация данных 2

1. G.P. 11 10.02.17 09:28 Сейчас в теме
Добрый день, Коллеги!
Ineedhelp!

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

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

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


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

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

А элемент с наименованием ШифраПоКлассификатору из 7.7, если код "Перед выгрузкой" пустой выбираться не хочет :(((
Прикрепленные файлы:
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
16. kasper076 105 15.02.17 12:41 Сейчас в теме +1 $m
(15)В справочнике "ОсновныеСредства" реквизиты "ШифрПоКлассификатору" и "ШифрПоНормативнымСрокамСлужбы" периодические?
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. kasper076 105 13.02.17 08:39 Сейчас в теме
(1) в ПКС "Код" обоих ПКО идет несоответствие типов. Число конвертируется в строку, при чем разрядность числа меньше длины строки. Установлено ли свойство ПКС "Автоматически приводить к длине в приемнике"?
5. G.P. 11 13.02.17 09:22 Сейчас в теме
(4)
Добрый день, Коллега!
Где в ПКС есть такое свойство в КД 2.1?

Код в справочнике НормативныеСрокиСлужбыОсновныхСредств в 8.3 присваивается правильно.
Проблема в том, что в справочнике Основных средств 8.3 не выбирается элемент этого справочника в реквизите НССОС
Прикрепленные файлы:
6. kasper076 105 13.02.17 09:47 Сейчас в теме
(5) Суть проблемы я понял. Настройку ПКО и ПКС на скринах посмотрел. Ошибок не нашел.
Свойство "Автоматически приводить к длине в приемнике" в самом низу формы ПКС на скрине из (5).
Раз коды заводятся правильно, значит не в этом причина.
2. G.P. 11 12.02.17 11:23 Сейчас в теме
Ой, чувствую, здесь дело в вечном проклятии олдскульных программистов - в управляемых формах.

В конфигураторе на форме ОС вообще не видно реквизита ОС "НССОС", хотя в списке "Данные" он есть и в тонком клиенте в режиме "Предприятие" реквизит отображается.
Как он отображается и какие данные он отображает мне ни разу не понятно, ведь в модуле формы элемента поиск не находит слова "НССОС"!
3. G.P. 11 12.02.17 12:02 Сейчас в теме
Наверное, не всё так страншо.
В отладчике значение реквизита отображается через параметр "Форма.Объект.НССОС"
Но, к сожалению, пустое. Пока его вручную не заполнишь.
Поэтому изначальный вопрос в силе...
7. G.P. 11 13.02.17 09:58 Сейчас в теме
ОК, это стойство задисаблено, поэтому не заметно.
Я тоже не понимаю, где может быть ошибка. Другие правила настроены также, однако ссылки на справочники переносятся и только здесь засада.
8. kasper076 105 13.02.17 10:29 Сейчас в теме
(7) Может при записи объекта какая-то шляпа происходит? По ОС оч много инфы хранится в регистрах сведений.
9. G.P. 11 14.02.17 01:27 Сейчас в теме
(8)
Глобальным поиском не нашёл в конфиге 8.3 вхождений "НССОС", где реквизит мог бы меняться.
В КД я не добавлял скриптов, его изменяющих.
Документ ввода начальных остатков ОС не содержит в себе таких реквизитов.
Шляпа какая-то экзотическая...
10. kasper076 105 14.02.17 07:05 Сейчас в теме
(9) В какую БП переносятся данные 2.0 или 3.0?
Нашел справочник "ЕдиныеНормыАмортизационныхОтчисленийОсновныхФондов" в БП 3.0. Справочник не подчиненный. Думал может в этом причина.
Можно взглянуть на форму ПКО "ОсновныеСредства"? И еще на XML-ку с выгруженным из 7.7 объектом ОС? Прям именно скрин кусочка с объектом ОС.

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

В КД реквизит "ШифрПоЕНАОФ" пишется из реквизита 7.7 ШифрПоКлассификатору с использованием правила ЕдиныеНормыАмортизационныхОтчисленийОсновныхФондов (перенос справочника Классификатор)
Такой скрин был в первом сообщении.
Файл xml с данными из 7.7 большой (120 Мб). На всякий случай прицеплю его в архиве.
Прикрепленные файлы:
V77_Данные99.rar
12. kasper076 105 15.02.17 06:03 Сейчас в теме
(11) Не осиливает у мну XML Pad этот файлик. Может можно только одно ОС выгрузить?
13. G.P. 11 15.02.17 10:58 Сейчас в теме
Не знаю, как выгружать штучные объекты, но я вручную выдрал из XML несколько записей о НССОС
Оказалось, что в записях ШифрПоЕНАОФ и НССОС выгружена запись <Пусто/>
Совсем не понял в чём дело. Правила вроде написаны корректно
Прикрепленные файлы:
v77_test.xml
14. kasper076 105 15.02.17 11:57 Сейчас в теме
(13) Подтверждаю, что значения этих реквизитов не выгружаются. А может они периодические? Давно не работал с 7.7 и не помню, как в КД осуществляется получение значения периодического реквизита. Возможно значение такого реквизита необходимо получать через объект "Периодический" на стороне источника.
Может для ПКО "ОС" ПВД есть специфическое?
Прикрепленные файлы:
15. G.P. 11 15.02.17 12:22 Сейчас в теме
В справочнике Классификатор 7.7 есть единственный реквизит "Норма" (не периодический)
Важно выбрать в реквизите ОС 8.3 элемент с заданным наименованием.
Именно на Наименовании в правилах КД "ЕдиныеНормыАмортизационныхОтчисленийОсновныхФондов" я поставил признак "Поиск объекта при загрузке по свойству"
Но почему-то объект не находится и не выгружается, хотя правила простые,как два пальца.
Нонсенс.
16. kasper076 105 15.02.17 12:41 Сейчас в теме +1 $m
(15)В справочнике "ОсновныеСредства" реквизиты "ШифрПоКлассификатору" и "ШифрПоНормативнымСрокамСлужбы" периодические?
19. G.P. 11 15.02.17 15:09 Сейчас в теме
(16)
периодические

А кстати, ДА!
Наверное, вот он ключевой момент. В 7.7 эти два шифра периодические.
По ходу это единственные периодические реквизиты в моих правилах, не ожидал засады в этом месте :)

Осталось правльно настроить правила для переноса периодического реквизита
20. G.P. 11 15.02.17 17:31 Сейчас в теме
(16)
Огромное спасибо за помощь!
Удалось настроить передачу периодических реквизитов.
В ПКС "Перед выгрузкой" добавил
Значение = Источник.ШифрПоНормативнымСрокамСлужбы.Получить(Дата(2017,03,31));
21. kasper076 105 16.02.17 05:46 Сейчас в теме
(20) Правильнее, конечно, сделать ПВД для этого объекта. Чтобы по 100 раз базу не дергать. Ну и дату, думаю, стоит брать из параметров, либо текущую.
17. naa1c 79 15.02.17 12:41 Сейчас в теме
1) Переносятся ли корректно справочники ШифрПоКлассификатору, ШифрПоНормативнымСрокамСлужбы сами по себе? Т.е. если создать просто ПВД для этих справочников и выгрузить какие-нибудь значения, которых заведомо нет в приемнике, появляются ли они там?
2) Если сами справочники корректно переносятся, то в ПКО для ОС что-то намудрили. Скриншота нет)
3) Проверять, что данные перенесены, открывая форму в приемнике, не всегда правильно. При открытии всякое может выполняться.
Лучше той же консолью запросов посмотреть.
18. kasper076 105 15.02.17 12:44 Сейчас в теме
(17) Исходя из (1)
Но когда отрабатывает конвертация, эти два реквизита остаются ПУСТЫМИ, хоть справочники ЕдиныеНормыАмортизационныхОтчисленийОсновныхФондов и НормативныеСрокиСлужбыОсновныхСредств в 1С 8.3 заполняются правильными значениями.

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

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот