Вход | Регистрация
 

Перенос средствами КД 2.1 переодического РС в непериодический РС

Перенос средствами КД 2.1 переодического РС в непериодический РС
Я
   inkvizitr
 
16.01.19 - 10:42
У меня стоит задача перенести из ЗУП 2.5 периодический регистр сведений "РаботникиОрганизаций" в БП 3.0 КОРП непериодический регистр сведений "ОсновныеСотрудникиФизическихЛиц"

Настройку ПКС я сделал так
https://cdn1.savepice.ru/uploads/2019/1/16/6a1b16fa40d89f6745e06e02a2339920-full.png

как видно из картинки я программно заполняю дату начало и дату конца, для этого у меня используется запрос,
ВЫБРАТЬ
    РаботникиОрганизацийСрезПоследних.Регистратор.Дата КАК Дата
ИЗ
    РегистрСведений.РаботникиОрганизаций.СрезПоследних(, Сотрудник = &Сотрудник) КАК РаботникиОрганизацийСрезПоследних
ГДЕ
    РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
    И РаботникиОрганизацийСрезПоследних.Регистратор ССЫЛКА Документ.УвольнениеИзОрганизаций
    И РаботникиОрганизацийСрезПоследних.Сотрудник = &Сотрудник

и программный код перед выгрузкой у ПКС ДатаНачало

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

и программный код перед выгрузкой у ПКС ДатаОкончания

Запрос = Запросы.Запрос_ЗагрузкаРегистраСведений;
Запрос.УстановитьПараметр("Сотрудник", Источник.Сотрудник);
Результат = Запрос.Выполнить();
Если Результат.Пустой() Тогда
    Значение = Дата('3999.12.31 00:00:00');
КонецЕсли;    

вроде пока все работает, но вопрос заключается в следующем, если в ЗУП допустим уволить сотрудника, то нужно делать так, искать запись в регистре бухгалтерии и удалять конечную дату в записи и выставлять начальную дату, в начальной дате будет указываться дата увольнения, вопрос, как лучше организовать поиск нужной мне записи, т.к. у меня бывает такая ситуация, что сотрудника могу раз 5 уволить и раз 5 принять, история в регистре бухгалтерии по всем увольнениям должна остаться но если сотрудника уволили полностью, то дата конца должна поменяться на увольнения
 
 
   Ёпрст
 
1 - 16.01.19 - 11:07
(0) ну и ищи свои даты запросом
   Ёпрст
 
2 - 16.01.19 - 11:07
можешь в запросе проссумировать количество увольнений/приёмов, если совпадает, то дата = максимум(дата)
   inkvizitr
 
3 - 16.01.19 - 11:13
(2) кстати хорошая идея, сейчас попробую
   inkvizitr
 
4 - 16.01.19 - 11:17
(2) а еще последний вопрос по КД2.1, чтобы новую ветку не создавать, а можно допустим в ПКС, у ДатыОкончания из события ПередВыгрузкой передать переменную или параметр в событие ПослеВыгрузки того же ПКС ДатыОкончания
   inkvizitr
 
5 - 16.01.19 - 15:55
а возможно запросом с помощью правил прочитать данные в приемнике?
   Масянька
 
6 - 16.01.19 - 15:58
(5) Двоечник! Ты чего первое слово (в теме) пишешь неправильно , а второе правильно? Инквизиции на тебя нет...
:)))
   Ёпрст
 
7 - 16.01.19 - 18:08
(5) можно, в момент перед загрузкой/поиска/загрузки этих данных..

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует