|
Помогите с запросом | ☑ | ||
---|---|---|---|---|
0
CbIP
26.10.21
✎
15:01
|
Здравствуйте, запросом выбираю начисления сотрудников из РегистрНакопления.НачисленияУдержанияПоСотрудникам, левым соединением добавляю должности сотрудников из РегистрСведений.КадроваяИсторияСотрудниковИнтервальный в соответствии с ДатаНачала и ДатаОкончания начисления. Все работает НО в случае если у сотрудника был кадровый перевод на другую должность в отчетном периоде, а начисление например "Премия" была назначена за весь период то получаю пустую строку вместо должности (в запросе заменяется на "Не найдена"). Как вместо "Не найдена" получить "последнюю" должность сотрудника?
|
|||
1
Dmitrii
гуру
26.10.21
✎
15:10
|
(0) >> Как вместо "Не найдена" получить "последнюю" должность сотрудника?
Для начала определить для себя - на какую дату ты хочешь получить "последнюю" должность сотрудника - на ДатаНачала, на ДатаОкончания, а может и вовсе на дату составления отчета? Сотрудника то в период с ДатаНачала по ДатаОкончания могли 33 раза перевести с одной должности на другую или с одного подразделения в другое. |
|||
2
CbIP
26.10.21
✎
15:13
|
(1)
На ДатаОкончания |
|||
3
Dmitrii
гуру
26.10.21
✎
15:16
|
(2) Так и пиши тогда в условиях соединения.
вместо
|
|||
4
CbIP
26.10.21
✎
15:28
|
(3) Получилось, большое спасибо!
Теперь еще ситуация когда например поле НачислениеУдержание = "НДФЛ" то поля ДатаНачала и ДатаОкончания не заполнены. Соответственно мой запрос в этих местах должность выдает "Не найдена". А хотелось бы получить должность на Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания) то-есть на конец отчетного периода в отчете? |
|||
5
Dmitrii
гуру
26.10.21
✎
15:44
|
Добавь в условие соединения
|
|||
6
Dmitrii
гуру
26.10.21
✎
15:58
|
+ к (5) Забыл про сотрудника. Точнее будет так.
|
|||
7
CbIP
26.10.21
✎
16:28
|
(6)
Все равно должности нет. может я что то не так добавил?
|
|||
8
Dmitrii
гуру
26.10.21
✎
16:42
|
(7) Значение параметра &НДФЛ точно верно указал?
Условие соединения не выполнится только если в записи одна из его частей не выполняется. Либо Сотрудник не тот, либо НачислениеУдержание не то, либо нет записей кадровой истории с ДатаНачала и ДатаОкончания, удовлетворяющих условию. Потеряться могли только те, у кого ДатаОкончания в кадровом регистре в тот же день, что и &ДатаОкончания отчета. Потому что ты вычитаешь из ДатаОкончания один день. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |