IE 2017

Автоматический ежедневный Перенос (Правила переноса) (выгрузка\загрузка) Сотрудников и кадровой истории ЗУП - УПП (КА)

Обмен - Перенос данных из 1C8 в 1C8

Автоматический ежедневый перенос справочника Сотрудники организаций и кадроовй истории из 1С: Зарплаты и управления персонало (ЗУП) в 1С:Управление производственным предприятием (УПП) или в 1С:Комплексная автоматизация (КА).
Зачем?
Как?
Читаем ниже ....

 

Введение

Многие при внедрении УПП(КА) зарплату ставят отдельно и ведут в ней учет. Соответственно начисленную зарплату перегружают в УПП(КА). ИМХО это достаточно грамотное решение:

• Львиная доля обновление приходится именно на подсистему ЗУП. То есть, ведя зарплату отдельно, УПП(КА) можно обновлять гораздо реже. 

• ЗУП держится типовой, УПП же все равно «допиливается» на любом предприятии.

Собственно в чем проблема?

А в том, что при перегрузки ЗУП – УПП(документ Отражение зарплаты в регламентированном учете) сотрудники не перегружаются. Вся аналитика необходимая для подсистемы Управленческого, Бухгалтерского, Налогового учета – это Физические лица.

То есть, аналитика 70 счета – физические лица и.т.п.

То есть, Сотрудники «как бы и не нужны». Но это не так.

Когда вам нужны сотрудники в УПП:

1)Если у вас есть учет спецодежды. При передачи материалов в эксплуатацию открывается справочник Сотрудники, из которого выбирается на кого передается Спецодежда.

P.S. Обратите внимание, что в подсистеме учета спецодежды, так же нужны только Физические лица. При передачи открывается справочник Сотрудники – это буферный справочник, чтобы не дать выбрать того физического лица, которое не работает на предприятии. При проведении документа в регистры накопления пишется ИМЕННО ФИЗИЧЕСКОЕ ЛИЦО.

2)Печатная форма авансового отчета. Там вы выбираете физическое лицо. А при печати находится Сотрудник, по этому физическому лицу, и определяется его должность. То есть нужен регистр сведений «Кадровая история сотрудников (по юр. лицам)»

3)Прочее. Например, у нас на предприятии: для учета спецодежды,  мы забиваем нормы на должность и подразделение(дописка конфигурации). То есть нам нужно четко знать кто на какой должности и в каком подразделение, чтобы определить сколько сейчас спецодежды в эксплуатации и сравнить с нормами.

Выводы:
В УПП(КА) нам нужны:
•Справочник «Сотрудники»
•Кадровая История Регистр сведение «Кадровая история (по юр. лицам)»

 

Методология

Заключается в перегрузки в автоматическом режиме Сотрудников и кадровой истории.
Что для этого сделано:
1)Написаны правила обмена, которые перегружают сотрудников и кадровую историю.
Тут опишу подробней:

ПВД «Сотрудники» просто зеркально перегружается справочник Сотрудники. Синхронизация ТОЛЬКО QUID.

ПВД «Работники организаций» выгружает кадровую историю.
Прежде чем описать подробнее данное ПВД сразу отчету на вопрос, который у вас скорее всего возник:

«Зачем второе ПВД ведь сотрудники по ссылкам могут выгрузится?»

Ответ: это не так, не все сотрудники попадают в кадровую историю (в регистр сведений). Например, принятые по договорам ГПХ, не отражаются в кадровой истории.

Итак, теперь как выгружается:
Источник: Выгружается ВСЯ кадровая история на дату.
Приемник: создается служебный документ «ВводСведенийОСотрудниках». И тут внимание Загружается только та кадровая история, которая изменилась относительно предыдущего дня.
Сразу отвечу на ваш вопрос, который у вас скорее всего возник: «Почему нельзя в источнике выгружать только измененную кадровую история: и файлик xml маленький будет и вообще грамотней».
Ответ: мы так сначала и сделали. Но пример:
ЗУП 26.09.2013: сделали прием на работу задним числом приняли его 10.09.2013. В кадровую историю «упал» с 10.09.2013 - работает.
Если выгружать и сразу в источнике анализировать изменение, то:
выгружаем 26.09.2013 смотрим какой кадровый срез был 25.09.2013 и что видим? Правильно: кадровая история не поменялась и поэтому в xml не попадет и, следовательно, в УПП не загрузится.
В итоге переделали: при загрузке, находясь в приемник, проверяем, если кадровая история поменялась, то строка попадает в документ «ВводИнформацииОСотрудниках».
В итоге в любом случае всегду грузится только измененная кадровая история!
P.S. При перегрузки остальных объектов(организации, должности, подразделения ...), мы старались синхронизировать так как сделано в типовой выгрузке «Отражения зарплаты в рег. Учете».

 
2)Накиданы маленькие обработки: vigruz.epf и zagruz.epf. Они сами запускают обработку УниверсальныйОбменДаннымиXML «подрубают» правило и соответственно выгружают и загружают.
3)Накиданы два батничка: vigruz.bat и zagruz.bat.

Которые соответственно запускают 1С и при запуске запускают наши : vigruz.epf и zagruz.epf.
Тут вы догадались, запускать мы будем их автоматом или стандартным «виндовозовскими» назначенными задания», или доп. софтом (у нас, например, Control agent)
Сразу отвечу на ваш вопрос, который у вас скорее всего возник Smile «А почему не рег. заданиями?»
Ответ: да, рег задание это круто, но у нас ЗУП файловая. А для файлового варианта надо чтобы клиент всегда был открыт. То есть некрасиво. Проще автоматом: запустил робота, выгрузил, закрыл.
Если у вас приемник и источник SQL, то тогда без вариантов, смело вешайте vigruz.epf и zagruz.epf на рег. Задание и вперед. Батнички не нужны.

 

Последовательность действий при внедрении

1) В 1С (ну и можно учетную запись Windows) добавляете пользователя Robot (пароль Robot)

2) Настраиваете Назначенные задания. У нас выгрузка в 11-00 загрузка в 11-30. Постарайтесь договориться с кадровой службой, чтобы все кадровые изменения делали до 11-00. 

3) Вешаете на эти назначенные задания : vigruz.bat и zagruz.bat 
Внимание: путь где лежат обработки выгрузки/загрузки у нас «F:\bases\UPP_ZUP\» Поменяйте в «батничках» при необходимости так же в обработках  vigruz.epf и zagruz.epf в ПриОткрытии() по умолчанию он ищет правила в тож же каталоге  «F:\bases\UPP_ZUP\». Поменяйте.

4) Наслаждаетесь результатом. Каждый день в 11-30 у вас актуальная кадровая история в УПП(КА)

Так же хотелось бы обратить внимание на следующее:

Если у вас в УПП уже есть Сотрудники и вносили вы их сами руками, QUID у вас будут отличаться с ЗУП.
Рекомендации:
1)Удалите весь справочник Сотрудники. Он вам не нужен, ссылок на них нет. Так как я писал выше вся аналитика необходимая для УУ,БУ,НУ висит на физических лицах. Мы так и сделали, ссылки, которые на них были удалили (служебные ссылки и задачи)
2)Заново уже текущими правилами грузите Сотрудников. В итоге у вас загрузится Сотрудники и кадровая история.
3)Так же можно за предыдущий период всю кадровую историю загрузить. Мы, например, загрузили с 01.01.2012, то есть за 1,5 года. Правда для этого написали еще одну обработку, которая с периодичностью в три дня перелопатила все 1,5 года, создавая документ «ВводИнформацииОСотрудниках».

И последний момент:

У вас в идеале будет совпадать справочник сотрудников в УПП и ЗУП кроме …. СРОЧНЫХ КАДРОВЫХ ИЗМЕННИЙ.
Поясню на примере:
  Иванов И.И. подразделение Отдел ИТ; должность программист.
  ЗУП: делаем Кадровой перемещение и переводим с 01.10.2013 до 15.10.2013  ВРЕМЕННО на старший программист.
  ЗУП: при проведении кадрового перемещения 1С:ЗУП видит что это «временно» и не меняет у него «ТекущуюДолжность» и «ТекущееПодразделение», то есть в форме списка справочника Сотрудники вы так же будете видеть         Иванова И.И. программистом.
  Но … в кадровой истории(в регистре сведение) он Старший программист.
  УПП: при загрузке правила увидят что он Старший программист и в «Ввод ИнформацииОСотрудниках» он включится. А при проведении этого документа 1С:УПП всегда меняет у него «ТекущуюДолжность» и      «ТекущееПодразделение». Итог: в форме списка вы увидите в УПП его как старшего программиста. 
Резюме: кадровая история «один в один», отличие только в реквизитах справочника Сотрудники: «ТекущуюДолжность» и «ТекущееПодразделение».
Далее после 15.10.2013 года все встанет на свои места..

P.S. Все файлы упакованы у один архив
 Сотрудникиxml.xml – наши правила описаны выше
 ПравилаОбменаЗУП_БП20.xml – типовые правила, которые перегружают отражение зарплаты в регламентированном учете. Могут пригодится.
vigruz.epf – обработка выгрузки
zagruz.epf – обработка загрузки
vigruz.bat – батничек выгрузки
zagruz.bat – батничек загрузки

Скачать файлы

Наименование Файл Версия Размер
Автоматическая перегрузка сотрудников
.zip 16,29Kb
07.10.13
149
.zip 16,29Kb 149 Скачать

См. также

Комментарии
1. unior (didkovskij) 08.10.13 10:14 Сейчас в теме
Как вариант. Историю изменений кадровой информации в подобной задаче реализовывал через план обмена. Включил нужные документы. Если документ записан (не важно что там изменилось) - уходит в обмен. После выгрузки регистрация очищается.
relanium86; +1 Ответить
2. Сергей Козынкин (Ulus) 236 08.10.13 13:03 Сейчас в теме
Да согласен у любой задачи есть несколько вариантов решения.
Тут вопрос кому как проще и кому как кажется "красивее".
Через План обмена неплохой вариант. Даже больше скажу ... красивый вариант. Мы в таблицах регистрация изменений видим то, что изменилось. И решается проблема с тем что в источнике работают "задним числом".
Он был у нас при обсуждении как реализовать данную задачу.
Но создавать план обмена это больше работы на порядок.
Мы пошли по наименьшему сопротивлению ...
3. Сергей Козынкин (Ulus) 236 08.10.13 13:08 Сейчас в теме
Если документ записан (не важно что там изменилось) - уходит в обмен.

НУ и еще момент. Я как понял вы грузите первичку:
Кадровое перемещение - Кадровое перемещение
Мы же не стали заморачиваться в УПП всю кадровую историю заполняем через служебный документ "Ввод информации о сотрудниках".
Всю отчетность (формы Т-2 справки и.т.п.) мы же делаем в ЗУП
В УПП нам просто надо знать АКТУАЛЬНЫЙ КАДРОВЫЙ СРЕЗ. И все.
Ну а создавать документ ВводИнформацииОСотрудниках мне кажется попроще.
В Источнике накидал произвольный запрос (как душе угодно)
В приемнике заполняем табличную часть документа "ВводИнформацииОСотрудниках".
4. hopter _ (hopter) 34 09.10.13 02:07 Сейчас в теме
quid это все же guid, я так думаю

а физлица откуда возьмутся? их вы как синхронизируете?
я просто отрубил в конфиге вызов сотрудников, сразу справочник физлиц вызывается, но мне не нужен такой контоль, как автору

5. Сергей Козынкин (Ulus) 236 09.10.13 05:36 Сейчас в теме
Физ. лица стандартно по ссылка грузятся. Физ лицо это же реквизит справочника сотрудники.
Обратите внимание синхронизация справочника Физ лица такая же как в типовых правилаж перегрузки зарплаты.
quid это все же guid, я так думаю

:) ну да
6. Константин Сухоруков (suhoi) 22 05.01.14 10:34 Сейчас в теме
Хотелось бы чтобы правила были сохранены в макеты а в обработках присутствовала как возможность пакетного запуска так и интерактивного - а так все корректно отработало. Спасибо!
7. Сергей Козынкин (Ulus) 236 05.01.14 15:17 Сейчас в теме
Рад помочь!
Про макеты согласен. Руки может доберуться :).
обработках присутствовала как возможность пакетного запуска так и интерактивного

Тут не понял. Обработки выгрузки и загрузки просто подпилинные стандартные обработки xml выгрузки и загрузки.
Интерактивно можно просто стандартно перекинуть
1 Из ЗУП выгрузили : Сервис - обмен данными - Универсальный обмен данными. Правила подсунули при выгрузке
2 В УПП загрузили (полный интерфейс): меню Сервис - Прочие обмены данными - Универсальный обмен данными в формате Xml.
8. Сергей Григорьев (Теософ) 2 12.02.14 18:24 Сейчас в теме
Добрый день! Не могу добиться, чтобы кадровая история подгружалась. УПП изначально пустая. Может как раз в этом-то и дело? Кто знает, в чём тут может быть дело? Автору сообщение отправил, но он редко здесь бывает, а задача срочная.
Прикрепленные файлы:
9. Сергей Козынкин (Ulus) 236 13.02.14 05:56 Сейчас в теме
(8) Теософ,
Ну почему же редко. Я увидел сообщение по рассылке сразу ответил. Сразу не увидел, возможно у нас разница во времени.
чтобы кадровая история подгружалась

Я вам в личку написал, сначало, пожалуйста, подробней что вы подразумеваетет под этой фразой?
Если вы ждете документы "Прием на работу", "Кадровое перемещение" то их и не будет прочтите описание.
Или у вас не создался документ "Ввод информации о сотрудниках"(или если создался посмотрите проведен ли он)? Так же у вас не наполняется при первой загрузке справчники Сотрудники и Физ. лица? То это другой вопрос. Но нужна доп. информация:
пишите грузите ЗУП - УПП ?
Какие релизы?
Так же если есть какие то диагностические ошибки опишите их. Можно в личку. Чем смогу помогу.
10. Александр Майнагашев (dedicated) 23 29.05.14 14:07 Сейчас в теме
Спасибо большое! Давно хотел настроить синхронизацию баз, тут наткнулся на вашу обработку. Проверил, работает на УПП 1.3.51.5 и ЗУП 2.5.79.4, буду использовать.
11. Сергей Козынкин (Ulus) 236 30.05.14 05:31 Сейчас в теме
Приятно, что кому-то полезно.
Спасибо за плюс :).
12. Александр Майнагашев (dedicated) 23 02.06.14 08:43 Сейчас в теме
Если кому то пригодиться, для клиент-серверного варианта 1С, как настроить чтобы выгрузка выполнялась сразу в базу приемник, без промежуточного файла. Достаточно в обработке выгрузки использовать следующий код:
	ФайлОбмена = Ложь;
	ИмяФайлаОбмена = "C:\Users\all\Desktop\Обмен\Сотрудники_Выгрузка.xml";  // путь к файлу выгрузки в случае если используется выгрузка через файл
    ИмяФайлаПравилОбмена = "C:\Users\all\Desktop\Правила_обмена\Правила_Сотрудники.xml"; // путь к файлу правил выгрузки
	
	ИмяСервера = "1c.local"; // сетевое имя сервера 1С
	ИмяБазыДанных = "УПП";   // имя базы данных в кластере
	Пароль = "password";   // пароль пользователя
	ИмяПользователя = "Администратор"; // пользователь
	
	Обработка = Обработки.УниверсальныйОбменДаннымиXML.Создать();
	Обработка.РежимОбмена ="Выгрузка"; 
	Обработка.ИмяФайлаПравилОбмена = ИмяФайлаПравилОбмена;

	ДатаСегодня = ТекущаяДата();	
	Обработка.ДатаОкончания = ДатаСегодня; 
	Обработка.ДатаНачала = Обработка.ДатаОкончания - 86400;
	Обработка.ВыгружатьТолькоРазрешенные = Истина;
	Обработка.ТипУдаленияРегистрацииИзмененийДляУзловОбменаПослеВыгрузки=0­; // 0 - не снимать регистрацию,
                                                                        // 1 - снимать регистрацию
	Обработка.ЗагрузитьПравилаОбмена();	
	
	Если ФайлОбмена Тогда
			Обработка.ИмяФайлаОбмена = Обработка;
	Иначе
			Обработка.ВерсияПлатформыИнформационнойБазыДляПодключения="V82";
            Обработка.ИмяСервераИнформационнойБазыДляПодключения=ИмяСервера;
    		Обработка.ИмяИнформационнойБазыНаСервереДляПодключения=ИмяБазыДанных;
    		Обработка.ПарольИнформационнойБазыДляПодключения=Пароль;
    		Обработка.ПользовательИнформационнойБазыДляПодключения=ИмяПользователя­;
    		Обработка.ТипИнформационнойБазыДляПодключения=Ложь;
    		Обработка.АутентификацияWindowsИнформационнойБазыДляПодключения=Ложь;
    		Обработка.НепосредственноеЧтениеВИБПриемнике=Истина;
    	КонецЕсли;
		Обработка.ВыполнитьВыгрузку();
    ЗавершитьРаботуСистемы(Ложь);
...Показать Скрыть
13. Сергей Козынкин (Ulus) 236 02.06.14 09:53 Сейчас в теме
(12) dedicated,
Спасибо, красивее бесспорно.

Еще наверно стоить упомянуть, что данная реализация (в целом, а не в части выгрузки в БД приемника напрямую) все-таки применима, когда относительно небольшой штат сотрудников.
Думаю, если сотрудников 10 000, то постоянно выгружать ВЕСЬ кадровый срез и в приемнике анализировать - это не оптимально.
То есть все дороги идут … к плану обмена.
Дабы добиться выгрузки только измененной кадровой истории.
В случае с планом обмена уже односторонней выгрузкой не обойтись, так как надо квитанцию из приемника (в нашем случае УПП) получать, чтобы смело очищать таблицу регистрации, в части полученных приемником данных.
14. Александр Майнагашев (dedicated) 23 04.06.14 06:50 Сейчас в теме
Спасибо за наводку, как раз с этим столкнулся. Если, например, у уже загруженного физлица поменялись паспортные данные в ЗУП, в УПП при выгрузке эта информация не попадает. Смотрю в сторону планов обмена.
15. Дмитрий_71_rus_71 (Дмитрий_71_rus_71) 1 09.10.15 15:06 Сейчас в теме
Спасибо за разработку. Воспользовался ей в УПП 1.3.63.2 и ЗУП 2.5.93.2. Всё вроде бы прошло неплохо. Будем смотреть дальше.
Оставьте свое сообщение