|
Запрос для отчета (СКД) по количеству сотрудников по месяцам рождения и по возрасту. | ☑ | ||
---|---|---|---|---|
0
Kitttt
24.01.22
✎
17:35
|
Всем здравствуйте, есть отчет на СКД, подскажите пожалуйста, как сделать чтобы возраст сотрудника анализировался на конец каждого месяца в выбранном периоде, а не на конец выбранного периода?
ВЫБРАТЬ Сотрудники.Наименование КАК Наименование, Сотрудники.ДатаРождения КАК ДатаРождения, ГОД(&ТекущаяДата) - ГОД(Сотрудники.ДатаРождения) - ВЫБОР КОГДА МЕСЯЦ(&ТекущаяДата) < МЕСЯЦ(Сотрудники.ДатаРождения) ТОГДА 1 ИНАЧЕ ВЫБОР КОГДА МЕСЯЦ(&ТекущаяДата) = МЕСЯЦ(Сотрудники.ДатаРождения) И ДЕНЬ(&ТекущаяДата) < ДЕНЬ(Сотрудники.ДатаРождения) ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КОНЕЦ КАК Возраст ПОМЕСТИТЬ ВТ_Информация ИЗ Справочник.Сотрудники КАК Сотрудники ГДЕ ВЫБОР КОГДА ГОД(&ДатаНачала) = ГОД(&ТекущаяДата) ТОГДА МЕСЯЦ(Сотрудники.ДатаРождения) МЕЖДУ МЕСЯЦ(&ДатаНачала) И МЕСЯЦ(&ТекущаяДата) ИНАЧЕ МЕСЯЦ(Сотрудники.ДатаРождения) МЕЖДУ МЕСЯЦ(&ДатаНачала) И МЕСЯЦ(КОНЕЦПЕРИОДА(&ДатаНачала, ГОД)) ИЛИ МЕСЯЦ(Сотрудники.ДатаРождения) МЕЖДУ МЕСЯЦ(НАЧАЛОПЕРИОДА(&ДатаНачала, ГОД)) И МЕСЯЦ(&ТекущаяДата) КОНЕЦ ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВЫБОР КОГДА ВТ_Информация.Возраст < 20 ТОГДА "возраст менее 20" КОГДА ВТ_Информация.Возраст >= 20 И ВТ_Информация.Возраст <= 30 ТОГДА "возраст от 20 до 30" КОГДА ВТ_Информация.Возраст >= 31 И ВТ_Информация.Возраст <= 40 ТОГДА "возраст от 31 до 40" КОГДА ВТ_Информация.Возраст >= 41 И ВТ_Информация.Возраст <= 50 ТОГДА "возраст от 41 до 50" ИНАЧЕ "возраст от 50" КОНЕЦ КАК Диапозон, ВТ_Информация.ДатаРождения КАК ДатаРождения, ВТ_Информация.Наименование КАК Сотрудник ПОМЕСТИТЬ ВТ_Заключение ИЗ ВТ_Информация КАК ВТ_Информация ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Заключение.Сотрудник КАК Сотрудник, ВТ_Заключение.Диапозон КАК Диапозон, МЕСЯЦ(ВТ_Заключение.ДатаРождения) КАК МесяцРождения, НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ВТ_Заключение.ДатаРождения, ГОД, -ГОД(ДОБАВИТЬКДАТЕ(ВТ_Заключение.ДатаРождения, ГОД, -10))), МЕСЯЦ) КАК Период, КОЛИЧЕСТВО(ВТ_Заключение.Сотрудник) КАК Количество ИЗ ВТ_Заключение КАК ВТ_Заключение СГРУППИРОВАТЬ ПО ВТ_Заключение.Сотрудник, ВТ_Заключение.Диапозон, МЕСЯЦ(ВТ_Заключение.ДатаРождения), НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ВТ_Заключение.ДатаРождения, ГОД, -ГОД(ДОБАВИТЬКДАТЕ(ВТ_Заключение.ДатаРождения, ГОД, -10))), МЕСЯЦ) |
|||
1
DrShad
24.01.22
✎
17:40
|
опять?
|
|||
2
vicof
24.01.22
✎
17:42
|
(1) Раньше было "по возрастному диапазону", теперь "по возрасту". "Ты не понимаешь" (с) :)
|
|||
3
Dmitrii
гуру
24.01.22
✎
17:42
|
(1) Еженедельная рубрика. Скоро, как "Геоплитика", получит статус номерных веток с продолжением.
|
|||
4
Kitttt
24.01.22
✎
17:42
|
(1) угу(
|
|||
5
Kassern
24.01.22
✎
17:50
|
(0) Вот у вас табличка, в колонках месяцы (с января по декабрь) в строках возрастные группы. Ресурсом будет количество сотрудников. Так вот ваше "как сделать чтобы возраст сотрудника анализировался на конец каждого месяца" можете на примере нескольких условных сотрудников расписать?
|
|||
6
Kitttt
24.01.22
✎
18:09
|
К примеру, у меня сейчас есть 10 сотрудников, в данный момент отчет отрабатывает так,
если у одного сотрудника день рождение в январе, то он запишет в колонку январь 1, если у двоих в феврале, то в колонке февраль 2 сотрудника, и так далее.. соответствуя возрастному диапозону. А нужно, к примеру один сотрудник находится в возрастном диапозоне "менее 20 лет" и в декабре ему исполняется допустим 20 лет, следовательно он переходит в диапозон "от 20 до 30", и к примеру отчет бы выглядел так: когда сотруднику еще было "менее 20 лет", в строке "от 20 до 30 лет" и во всех колонках с января по декабрь(либо любой указанный период) было по 9 человек в каждой колонке, если выбрали период когда сотруднику исполнилось исполнилось 20 лет в декабре, то в колонках с января по ноябрь было бы по 9 чел, а в колонке декабрь 10, то есть анализ ведется на каждый месяц выбранного периода.. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |