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