Правила конвертации данных (КД ред. 2.1) из ЗУП 2.5 в БП КОРП 3.0. Перенос записей регистра сведений «Кадровая история сотрудников»

1. RailMen 824 31.08.16 20:37 Сейчас в теме
Требуется перенести все записи РС «Кадровая история сотрудников» из ЗУП 2.5 в БП КОРП 3.0. В БП КОРП 3.0 выгружать кадровые документы НЕ НУЖНО. Т.е. надо в БП КОРП создать 1 документ «Ввод начальных остатков», который будет регистратором для всех записей РС «Кадровая история сотрудников», подгружаемых из ЗУП 2.5.
Я создал правила.





Внутри ПВД создал правило «ВыгрузкаКадровойИстории» со способом выборки «Произвольный алгоритм». В процедуре «Перед обработкой» написал код:
Выборка_Организации = Запросы.РС_РаботникиОрганизаций_ТолькоОрганизации.Выполнить().Выбрать();
Пока Выборка_Организации.Следующий() Цикл

	Сообщить("Выгрузка записей РС по организации "+Выборка_Организации.Организация.Наименование);
	
	Запросы.РС_РаботникиОрганизаций.УстановитьПараметр("Организация",Выборка_Организации.Организация);
	РезультатЗапроса = Запросы.РС_РаботникиОрганизаций.Выполнить();
	КадроваяИсторияСотрудников = РезультатЗапроса.Выгрузить();

    ИсходящиеДанные = Новый Структура("Организация, КадроваяИсторияСотрудников");
    ИсходящиеДанные.Организация = Выборка_Организации.Организация;	
    ИсходящиеДанные.КадроваяИсторияСотрудников = КадроваяИсторияСотрудников;
    ВыгрузитьПоПравилу(,, ИсходящиеДанные,, "КорректировкаРС_КадроваяИсторияСотрудников");	
КонецЦикла;
Показать


Ссылка на правила:
Ссылка на правила конвертации данных (с сайта Вконтакте)

Использую типовую обработку «Универсальный xml обмен данными».
Документ «Ввод начальных остатков» в БП КОРП 3.0 не создается и записи РС не перегружаются. В чем ошибка? Вторые сутки стучу лапами, три клавиатуры стер, ничего не выходит. Помогите!
+
Вознаграждение за ответ
Показать полностью
Найденные решения
7. tusv 211 01.09.16 09:58 Сейчас в теме
(1) Документ ВводНачальныхОстатков не имеет движения по кадровой истории
Нужно передавать в приемник документ ОперацияБух
Выборка_Организации = Запросы.РС_РаботникиОрганизаций_ТолькоОрганизации.Выполнить().Выбрать();
Пока Выборка_Организации.Следующий() Цикл

    Сообщить("Выгрузка записей РС по организации "+Выборка_Организации.Организация.Наименование);
    
    Запросы.РС_РаботникиОрганизаций.УстановитьПараметр("Организация",Выборка_Организации.Организация);
    РезультатЗапроса = Запросы.РС_РаботникиОрганизаций.Выполнить();
    КадроваяИсторияСотрудников = РезультатЗапроса.Выгрузить();

    ИсходящиеДанные = Новый Структура("Организация,Дата,ТаблицаРегистровСведений, КадроваяИсторияСотрудников",
      Выборка_Организации.Организация,ДатаВводаОстатков,Новый ТаблицаЗначений, Новый ТаблицаЗначений);
    НоваяСтрока = ИсходящиеДанные.ТаблицаРегистровСведений.Добавить();
    НоваяСтрока.Имя = "КадроваяИсторияСотрудников";
    ИсходящиеДанные.КадроваяИсторияСотрудников = КадроваяИсторияСотрудников.Скопировать();
    ВыгрузитьПоПравилу(,, ИсходящиеДанные,, "КорректировкаРС_КадроваяИсторияСотрудников");    
КонецЦикла;
Показать
RailMen; +1
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
5. MyPuK_OLD 01.09.16 09:38 Сейчас в теме
(1) RailMen, Разве допустимы движения(записи) документом "Ввод начальных остатков" по Регистру сведений «Кадровая история сотрудников»? В типовых галочка на этом РС не установлена..
+
8. drkhaired 51 01.09.16 10:01 Сейчас в теме
(5) MyPuK_OLD, Он может КЗР заюзать
+
7. tusv 211 01.09.16 09:58 Сейчас в теме
(1) Документ ВводНачальныхОстатков не имеет движения по кадровой истории
Нужно передавать в приемник документ ОперацияБух
Выборка_Организации = Запросы.РС_РаботникиОрганизаций_ТолькоОрганизации.Выполнить().Выбрать();
Пока Выборка_Организации.Следующий() Цикл

    Сообщить("Выгрузка записей РС по организации "+Выборка_Организации.Организация.Наименование);
    
    Запросы.РС_РаботникиОрганизаций.УстановитьПараметр("Организация",Выборка_Организации.Организация);
    РезультатЗапроса = Запросы.РС_РаботникиОрганизаций.Выполнить();
    КадроваяИсторияСотрудников = РезультатЗапроса.Выгрузить();

    ИсходящиеДанные = Новый Структура("Организация,Дата,ТаблицаРегистровСведений, КадроваяИсторияСотрудников",
      Выборка_Организации.Организация,ДатаВводаОстатков,Новый ТаблицаЗначений, Новый ТаблицаЗначений);
    НоваяСтрока = ИсходящиеДанные.ТаблицаРегистровСведений.Добавить();
    НоваяСтрока.Имя = "КадроваяИсторияСотрудников";
    ИсходящиеДанные.КадроваяИсторияСотрудников = КадроваяИсторияСотрудников.Скопировать();
    ВыгрузитьПоПравилу(,, ИсходящиеДанные,, "КорректировкаРС_КадроваяИсторияСотрудников");    
КонецЦикла;
Показать
RailMen; +1
10. RailMen 824 01.09.16 12:16 Сейчас в теме
(7) tusv, действительно типовой документ "Ввод начальных остатков" НЕ ДЕЛАЕТ движений по регистру сведений «Кадровая история сотрудников» (видимо кто-то уже подпилил напильничком, спасибо что подсказали)! В то же время использовать типовой документ "ОперацияБУХ" не считаю возможным, т.к. у клиента жесткая политика безопасности и все права на доступ к документам прописываются в специальных заявках на права пользователей, т.е. док ОперацияБУХ могут юзать только бухгалтера и только с ограниченными целями. Клиент хочет в след году переходить на ERP 2.0, а там есть документ "Корректировка регистров" и он уже есть в его базе БП КОРП (не типовой). Вот он и будет регистратором.
+
15. drkhaired 51 01.09.16 14:06 Сейчас в теме
(10) RailMen, А в чем проблема использовать тот же документ "кадровый перевод", если необходимо слить в типовую тройку, перенеся только его движения без заполнения самого документа? Права доступа теоритически сохраните
RailMen; +1
19. RailMen 824 03.09.16 10:32 Сейчас в теме
Благодарю всех откликнувшихся. Спасибо коллеги за помощь.

(7) tusv, получает стармани за самый полезный совет.

Еще раз всем спасибо.
+
12. tarassov 112 01.09.16 13:09 Сейчас в теме
(1) RailMen,
в ПВД «ВыгрузкаКадровойИстории» я бы указал еще "Правило конвертации = КорректировкаРС_КадроваяИсторияСотрудников"
+
14. RailMen 824 01.09.16 13:49 Сейчас в теме
(12) tarassov, можно не указывать т.к. алгоритм произвольный и имеется явный вызов <ВыгрузитьПоПравилу(,, ИсходящиеДанные,, "КорректировкаРС_КадроваяИсторияСотрудников"); >
По этой же причине не нужно дополнительно ничего писать в процедуре "При загрузке" - т.к. в ИсходящиеДанные уже поместили все данные Документа включая его табчасть и проводки по РС.
+
16. tarassov 112 01.09.16 15:27 Сейчас в теме
(14) RailMen,
а имена колонок гарантированно совпали с выгрузкой из запроса?
КадроваяИсторияСотрудников = РезультатЗапроса.Выгрузить();

Может, для проверки, в явном виде прописать:

КадроваяИсторияСотрудников = Новый ТаблицаЗначений();
ТоварыНаСкладах.Колонки.Добавить(" ...
Пока РезультатЗапроса.Следующий() Цикл
Строка1 = КадроваяИсторияСотрудников.Добавить();
Строка1, ,,, =
КонецЦикла;
+
13. tarassov 112 01.09.16 13:17 Сейчас в теме
(1) RailMen,
В ПКО КорректировкаРС_КадроваяИсторияСотрудников почему не заполнено "При загрузке"?
Там разве ничего в объект добавлять, исправлять не надо? Например, новую строку в табличную часть?
+
2. alwiz3 01.09.16 08:36 Сейчас в теме
Ссылка на правила:
Ссылка на правила конвертации данных (с сайта Вконтакте)


"Этот документ был удален из общего доступа". На файлообменник ни как?
+
6. RailMen 824 01.09.16 09:56 Сейчас в теме
(2) alwiz3, теперь правила можно скачать по ссылке с ВК (ранее была метка "личный документ").
(5) MyPuK_OLD, в моей БП КОРП 3.0 это допустимо (она не типовая, вестимо). Был уверен, что в типовой тоже допустимо.
(3) drkhaired, журнал БП ругается на дату запрета - ВОТ ОНО!!! .... буду копать... хмхмхм
+
11. tarassov 112 01.09.16 13:05 Сейчас в теме
(2) alwiz3,
а у меня успешно скачивается
+
3. drkhaired 51 01.09.16 09:15 Сейчас в теме
Журнал регистрации БП3 что то пишет? Файл выгрузки смотрели, сама выгрузка то есть?
+
4. drkhaired 51 01.09.16 09:18 Сейчас в теме
Я делаю так:

В ПКО необходимо создать ПКО документа с движениями. В ПВД формируем запрос на выходе имеем выборку, выгружаем строки шапки (там будет одна строка) в любую коллекцию (массив). Добавляем в этот массив новый массив(тз, массив, коллекцию строк, НоваяСтрокаТабДок.СотрудникиОрганизации = МассивСт - пример) с именем регистра и данными регистра.
В ПВД:
"ВыборкаДанных = ПроизвольнаяКоллекция"

Имена колонок должны совпадать с именами источника в ПКО.


Пример ПВД: выгружаю документ собранный произвольным запросом за период, "ПеречислениеНДФЛвБюджет " ТЧ "Сотрудники организаций".
ПКО оставляем "как есть"
Пример
RailMen; +1
9. RailMen 824 01.09.16 10:01 Сейчас в теме
(4) drkhaired, попробую если после исправления ошибок журнала регистрации выгрузка не получиться, то попробую твой вариант.
+
18. RailMen 824 03.09.16 10:01 Сейчас в теме
Правила конвертации данных (КД ред. 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 один, что приводил к ошибки записи набора записей.
Это было видно по журналу регистрации БП КОРП. По ТЗ выгрузка регистраторов (кадровой первички) в БП КОРП недопустима, по этому пришлось анализировать причины возникновения подобных записей в ЗУПе и - О ЧУДО - все они были ошибками ввода данных.
После их ручного исправления в ЗУПе выгрузка заработала как часы.
+
17. white-mount 01.09.16 15:40 Сейчас в теме
1. Вы поставили условие: "...Т.е. надо в БП КОРП создать 1 документ «Ввод начальных остатков», " это изначально неверно, т.к. для регистра бп 3.0 "КадроваяИсторияСотрудников" установлены регистраторы "кадровыйперевод, операциябух, приёмнаработу, увольнение".
Значит в правилах переноса необходимо во первых установить соответствия документов ЗУП 2.5 и бп 3.0. При необходимости дописать в правила модули "при выгрузке" и "при загрузке". Это подробно описано в документации по кд.
2. Необходимо использовать все обработки из одной поставки. Недопустимо правила формировать одной обработкой, а загрузку выполнять другой.

На мой взгляд Ваша ошибка в привязке к документу регистратору для бп 3.0 «Ввод начальных остатков». Это в принципе неверно.
С уважением.
+
20. RailMen 824 18.10.17 19:25 Сейчас в теме
Кому нужны правила выгрузки ЗУП 2.5 -> БП КОРП 3.0:

по описанной тут теме все работает прекрасно.
Прикрепленные файлы:
20171009_19_30 Выгрузка РС, Справочников, ПВР Из ЗУП 2.5 в БП КОРП 3.0.xml
+
Внимание! Тема сдана в архив

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