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

Автоматический ежедневый перенос справочника Сотрудники организаций и кадроовй истории из 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:asesUPP_ZUP» Поменяйте в «батничках» при необходимости так же в обработках  vigruz.epf и zagruz.epf в ПриОткрытии() по умолчанию он ищет правила в тож же каталоге  «F:asesUPP_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 – батничек загрузки

15 Comments

  1. didkovskij

    Как вариант. Историю изменений кадровой информации в подобной задаче реализовывал через план обмена. Включил нужные документы. Если документ записан (не важно что там изменилось) — уходит в обмен. После выгрузки регистрация очищается.

    Reply ↓
  2. Ulus

    Да согласен у любой задачи есть несколько вариантов решения.

    Тут вопрос кому как проще и кому как кажется «красивее».

    Через План обмена неплохой вариант. Даже больше скажу … красивый вариант. Мы в таблицах регистрация изменений видим то, что изменилось. И решается проблема с тем что в источнике работают «задним числом».

    Он был у нас при обсуждении как реализовать данную задачу.

    Но создавать план обмена это больше работы на порядок.

    Мы пошли по наименьшему сопротивлению …

    Reply ↓
  3. Ulus
    Если документ записан (не важно что там изменилось) — уходит в обмен.

    НУ и еще момент. Я как понял вы грузите первичку:

    Кадровое перемещение — Кадровое перемещение

    Мы же не стали заморачиваться в УПП всю кадровую историю заполняем через служебный документ «Ввод информации о сотрудниках».

    Всю отчетность (формы Т-2 справки и.т.п.) мы же делаем в ЗУП

    В УПП нам просто надо знать АКТУАЛЬНЫЙ КАДРОВЫЙ СРЕЗ. И все.

    Ну а создавать документ ВводИнформацииОСотрудниках мне кажется попроще.

    В Источнике накидал произвольный запрос (как душе угодно)

    В приемнике заполняем табличную часть документа «ВводИнформацииОСотрудниках».

    Reply ↓
  4. hopter

    quid это все же guid, я так думаю

    а физлица откуда возьмутся? их вы как синхронизируете?

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

    Reply ↓
  5. Ulus

    Физ. лица стандартно по ссылка грузятся. Физ лицо это же реквизит справочника сотрудники.

    Обратите внимание синхронизация справочника Физ лица такая же как в типовых правилаж перегрузки зарплаты.

    quid это все же guid, я так думаю

    🙂 ну да

    Reply ↓
  6. suhoi

    Хотелось бы чтобы правила были сохранены в макеты а в обработках присутствовала как возможность пакетного запуска так и интерактивного — а так все корректно отработало. Спасибо!

    Reply ↓
  7. Ulus

    Рад помочь!

    Про макеты согласен. Руки может доберуться :).

    обработках присутствовала как возможность пакетного запуска так и интерактивного

    Тут не понял. Обработки выгрузки и загрузки просто подпилинные стандартные обработки xml выгрузки и загрузки.

    Интерактивно можно просто стандартно перекинуть

    1 Из ЗУП выгрузили : Сервис — обмен данными — Универсальный обмен данными. Правила подсунули при выгрузке

    2 В УПП загрузили (полный интерфейс): меню Сервис — Прочие обмены данными — Универсальный обмен данными в формате Xml.

    Reply ↓
  8. Теософ

    Добрый день! Не могу добиться, чтобы кадровая история подгружалась. УПП изначально пустая. Может как раз в этом-то и дело? Кто знает, в чём тут может быть дело? Автору сообщение отправил, но он редко здесь бывает, а задача срочная.

    Reply ↓
  9. Ulus

    (8) Теософ,

    Ну почему же редко. Я увидел сообщение по рассылке сразу ответил. Сразу не увидел, возможно у нас разница во времени.

    чтобы кадровая история подгружалась

    Я вам в личку написал, сначало, пожалуйста, подробней что вы подразумеваетет под этой фразой?

    Если вы ждете документы «Прием на работу», «Кадровое перемещение» то их и не будет прочтите описание.

    Или у вас не создался документ «Ввод информации о сотрудниках»(или если создался посмотрите проведен ли он)? Так же у вас не наполняется при первой загрузке справчники Сотрудники и Физ. лица? То это другой вопрос. Но нужна доп. информация:

    пишите грузите ЗУП — УПП ?

    Какие релизы?

    Так же если есть какие то диагностические ошибки опишите их. Можно в личку. Чем смогу помогу.

    Reply ↓
  10. dedicated

    Спасибо большое! Давно хотел настроить синхронизацию баз, тут наткнулся на вашу обработку. Проверил, работает на УПП 1.3.51.5 и ЗУП 2.5.79.4, буду использовать.

    Reply ↓
  11. Ulus

    Приятно, что кому-то полезно.

    Спасибо за плюс :).

    Reply ↓
  12. dedicated

    Если кому то пригодиться, для клиент-серверного варианта 1С, как настроить чтобы выгрузка выполнялась сразу в базу приемник, без промежуточного файла. Достаточно в обработке выгрузки использовать следующий код:

     ФайлОбмена = Ложь;
    ИмяФайлаОбмена = «C:UsersallDesktopОбменСотрудники_Выгрузка.xml»;  // путь к файлу выгрузки в случае если используется выгрузка через файл
    ИмяФайлаПравилОбмена = «C:UsersallDesktopПравила_обменаПравила_Сотрудники.xml»; // путь к файлу правил выгрузки
    
    ИмяСервера = «1c.local»; // сетевое имя сервера 1С
    ИмяБазыДанных = «УПП»;   // имя базы данных в кластере
    Пароль = «password»;   // пароль пользователя
    ИмяПользователя = «Администратор»; // пользователь
    
    Обработка = Обработки.УниверсальныйОбменДаннымиXML.Создать();
    Обработка.РежимОбмена =»Выгрузка»;
    Обработка.ИмяФайлаПравилОбмена = ИмяФайлаПравилОбмена;
    
    ДатаСегодня = ТекущаяДата();
    Обработка.ДатаОкончания = ДатаСегодня;
    Обработка.ДатаНачала = Обработка.ДатаОкончания — 86400;
    Обработка.ВыгружатьТолькоРазрешенные = Истина;
    Обработка.ТипУдаленияРегистрацииИзмененийДляУзловОбменаПослеВыгрузки=0­; // 0 — не снимать регистрацию,
    // 1 — снимать регистрацию
    Обработка.ЗагрузитьПравилаОбмена();
    
    Если ФайлОбмена Тогда
    Обработка.ИмяФайлаОбмена = Обработка;
    Иначе
    Обработка.ВерсияПлатформыИнформационнойБазыДляПодключения=»V82″;
    Обработка.ИмяСервераИнформационнойБазыДляПодключения=ИмяСервера;
    Обработка.ИмяИнформационнойБазыНаСервереДляПодключения=ИмяБазыДанных;
    Обработка.ПарольИнформационнойБазыДляПодключения=Пароль;
    Обработка.ПользовательИнформационнойБазыДляПодключения=ИмяПользователя­;
    Обработка.ТипИнформационнойБазыДляПодключения=Ложь;
    Обработка.АутентификацияWindowsИнформационнойБазыДляПодключения=Ложь;
    Обработка.НепосредственноеЧтениеВИБПриемнике=Истина;
    КонецЕсли;
    Обработка.ВыполнитьВыгрузку();
    ЗавершитьРаботуСистемы(Ложь);
    

    Показать

    Reply ↓
  13. Ulus

    (12) dedicated,

    Спасибо, красивее бесспорно.

    Еще наверно стоить упомянуть, что данная реализация (в целом, а не в части выгрузки в БД приемника напрямую) все-таки применима, когда относительно небольшой штат сотрудников.

    Думаю, если сотрудников 10 000, то постоянно выгружать ВЕСЬ кадровый срез и в приемнике анализировать — это не оптимально.

    То есть все дороги идут … к плану обмена.

    Дабы добиться выгрузки только измененной кадровой истории.

    В случае с планом обмена уже односторонней выгрузкой не обойтись, так как надо квитанцию из приемника (в нашем случае УПП) получать, чтобы смело очищать таблицу регистрации, в части полученных приемником данных.

    Reply ↓
  14. dedicated

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

    Reply ↓
  15. Sergey_1C_ttt

    Спасибо за разработку. Воспользовался ей в УПП 1.3.63.2 и ЗУП 2.5.93.2. Всё вроде бы прошло неплохо. Будем смотреть дальше.

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *