Правила конвертации данных (КД ред. 2.1) из ЗУП 2.5 в БП КОРП 3.0. Перенос записей регистра сведений «Кадровая история сотрудников»
Требуется перенести все записи РС «Кадровая история сотрудников» из ЗУП 2.5 в БП КОРП 3.0. В БП КОРП 3.0 выгружать кадровые документы НЕ НУЖНО. Т.е. надо в БП КОРП создать 1 документ «Ввод начальных остатков», который будет регистратором для всех записей РС «Кадровая история сотрудников», подгружаемых из ЗУП 2.5. Я создал правила.
Внутри ПВД создал правило «ВыгрузкаКадровойИстории» со способом выборки «Произвольный алгоритм». В процедуре «Перед обработкой» написал код:
Использую типовую обработку «Универсальный xml обмен данными». Документ «Ввод начальных остатков» в БП КОРП 3.0 не создается и записи РС не перегружаются. В чем ошибка? Вторые сутки стучу лапами, три клавиатуры стер, ничего не выходит. Помогите!
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
Благодарю всех откликнувшихся. Спасибо коллеги за помощь.
(7) tusv, получает стармани за самый полезный совет.
Еще раз всем спасибо.
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
(14) RailMen, а имена колонок гарантированно совпали с выгрузкой из запроса? КадроваяИсторияСотрудников = РезультатЗапроса.Выгрузить();
Может, для проверки, в явном виде прописать:
КадроваяИсторияСотрудников = Новый ТаблицаЗначений(); ТоварыНаСкладах.Колонки.Добавить(" . Пока РезультатЗапроса.Следующий() Цикл Строка1 = КадроваяИсторияСотрудников.Добавить(); Строка1, . = КонецЦикла;
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
"Этот документ был удален из общего доступа". На файлообменник ни как?
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
В ПКО необходимо создать ПКО документа с движениями. В ПВД формируем запрос на выходе имеем выборку, выгружаем строки шапки (там будет одна строка) в любую коллекцию (массив). Добавляем в этот массив новый массив(тз, массив, коллекцию строк, НоваяСтрокаТабДок.СотрудникиОрганизации = МассивСт - пример) с именем регистра и данными регистра. В ПВД: "ВыборкаДанных = ПроизвольнаяКоллекция"
Имена колонок должны совпадать с именами источника в ПКО.
Пример ПВД: выгружаю документ собранный произвольным запросом за период, "ПеречислениеНДФЛвБюджет " ТЧ "Сотрудники организаций". ПКО оставляем "как есть"
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
Правила конвертации данных (КД ред. 2.1) из ЗУП 2.5 в БП КОРП 3.0. Перенос записей регистра сведений «Кадровая история сотрудников» сделал так:
1)в БП КОРП из ERP 2.1 перенес не типовой документ "Корректировка регистров" - именно он будет регистратором. По двум причинам: а) клиент хочет перейти на ERP 2.1 - там этот документ типовой б) документ ОперацияБух не подходит т.к. политика безопасности предполагает, что его могут юзать только бухгалтера и только с ограниченными целями в) "кадровый перевод" не стал использовать т.к. вдруг после перехода ERP 2.1 они захотят туда слить ЗУП полностью, тогда доступ к доку будет у всех кадровиков, а там глядишь шаловливые ручонки захотят перепровести или удалить пустой документ.
2) в БП КОРП в общем модуле "Дата Запрета" в процедурах при записи документов и при записи набора записей отключаем проверку на дату запрета изменения данных для (документа типа "Корректировка регистров"+полные права+пользователь Обмен), т.к. периоды загружаемых из ЗУП записей могут быть ЛЮБЫЕ и это нормально.
3) выгружаем слепок БП КОРП документы с движениями РС (это важно, по умолчанию без регистров сведений выгружается)
4) в конвертации создаем ПКД произвольный алгоритм (как я это сразу сделал) и ПКО с пустым источником и приемником док. "Корректировка регистров". У него создаем ПКГС (папку) с набором записей. в ПКД запросом собираем коллекцию из реквизитов документа и таб части с названием регистра (на подобии того как описано в комментарии (4) drkhaired ). Сами правила кому интересно могу выложить в понедельник.
5) основная фишка правил в том, что в приемник БП КОРП переносятся ВСЕ записи кадровой истории, а регистратор у них всех автоматом меняется на 1 один ДОКУМЕНТ "Корректировка регистров". У нас в ЗУПе 1100 сотрудников и кадровая история за 5 лет - это 27тыс записей. Выгрузка по времени занимает 10-15 минут это не критично (в 01 ночи стартует). Но возникли некоторые трудности уже не с правилами обмена, а с тем, что в ЗУПе были записи с совпадающими измерениями, но разными регистраторами - и ЗУП это пропускал. А вот когда эти записи начали грузиться в БП КОРП, то регистратор у них менялся на 1 один, что приводил к ошибки записи набора записей. Это было видно по журналу регистрации БП КОРП. По ТЗ выгрузка регистраторов (кадровой первички) в БП КОРП недопустима, по этому пришлось анализировать причины возникновения подобных записей в ЗУПе и - О ЧУДО - все они были ошибками ввода данных. После их ручного исправления в ЗУПе выгрузка заработала как часы.