v7: Как выбрать сотрудников с возрастами от 20 до 25 лет #419127


#0 by dwarrior2
Добрый день! Есть справочник "Сотрудники". Там есть поле "ДатаРождения". Как написать запрос, чтобы он выбрал всех сотрудников в указанном диапазоне возрастов на текущую дату? Свои варианты есть, например грубо: ГДЕ (ДатаГод(&НаДату)-ДатаГод(Сотрудники.ДатаРождения)) МЕЖДУ 20 и 25; но поскольку задача околоклассическая - может кто-то уже ее решил идально и красиво?:) С учетом дня рождения и месяца.
#1 by Funny
По этому поводу анекдот: Начальник отдела кадров приказывает менеджеру взять личные дела сотрудников от сюда и до сюда (указывает пальцем) и ... УВОЛИТЬ НАФИГ. На недоуменный вопрос, почему этих, следует ответ: "Не люблю неудачников!"
#2 by Рэйв
ГДЕ &НаДату-Сотрудники.ДатаРождения МЕЖДУ 630720000 и 788400000
#3 by Kreont
А чем неподходит свой вариант, вроде нормально Еще помнится делал очет чтоб юбилейников отдельно выводить Там просто кратность от деления на 5 без остатка проверял. Жену вибираешь? :)
#4 by фросия
для жены еще отбор по полу надо сделать
#5 by dwarrior2
Вариант Рэйва хорош, тока вот он не учитывает високосные года...
#6 by Рэйв
да..Есть такой минус:-)
#7 by dwarrior2
Не жену, а как раз отчет для руководителя, как написал Funny:)
#8 by Kreont
Ну чем свой вариант плох непойму? По советам сразу видно что пятница сегодня :)
#9 by dwarrior2
Kreont, потому что если я родился 01.07, а запрос составлен на 15.06 например, то я попаду в отчет, хотя у меня ДР будет через 15 дней
#10 by bazvan
Если это ЗУПа то там есть типовой отчет вроде
#11 by Kreont
Счас смотрю свой код :)
#12 by Kreont
У меня под семерку, но в прав отдельно делаю проверку на попадание в год, месяц и день Отчет правда под 7.7 :( На 8-ку ЗП еще неперехала
#13 by Пеппи
хм )
#14 by dwarrior2
Отчет нужен для отдела кадров. А там, как понимаете, все серъезно. Вот составит кадровик такой отчет для военкомата, а я туда случайно попаду. вот я обрадуюсь?:)
#15 by Пеппи
ИЗ Сотрудники Где ДатаРождения между 10.07.1984 и 10.07.1989
#16 by dwarrior2
Пеппи, вот это вроде вариант, щас обдумаем... пока всем объявляю благодарность!
#17 by 73
+ ВЫБРАТЬ    Сотрудники.Ссылка,    Сотрудники.ДатаРождения ИЗ ГДЕ    Сотрудники.ДатаРождения МЕЖДУ ДОБАВИТЬКДАТЕ(&Надату, ГОД, -&ВозрастДо)
#18 by Kreont
Выбрать ФЛ.Наименование как Наименование,ФЛ.ДатаРождения как ДатаРождения Из Справочник.ФизическиеЛица как ФЛ Где ГОД(&Дата1) - ГОД(ДатаРождения) Между 20 и 25 и МЕСЯЦ(ДатаРождения) <= МЕСЯЦ(&Дата1) и День(ДатаРождения) < День(&Дата1)
#19 by AChiller
Т.е. если отчет формируешь 10.07.09, о физлица с датой рождения 15.11.85 уже не попадут в выборку? ;)
#20 by Kreont
Вроде нет
#21 by Kreont
По условию так и надо быть чтоб не попадали
#22 by hhhh
это всё там в типовой уже есть. Опять придумываешь велосипед?
#23 by Kreont
я не нашел где есть :( (УТП для Украины последний релиз)
#24 by 73
Человеку с датой рождения 15.11.85 сегодня(10.07.09) 24 года, или я ошибаюсь?
#25 by Kreont
23 года, а после дня рождения станет 24
#26 by 73
Ну и? Должен он попасть в 20-25, или нет?
#27 by Serg_1960
В некоторых бюрократических документах пишут так: "Возраст (полных лет):"
#28 by 73
+ Ну протупил я в . Ему 23. Но в диапазон 20-25 все равно попасть должен. А запрос его не выберет. Вот это-то и пытаемся товарищу показать.
#29 by Kreont
Просто я для себя запрос пишу несовсем как надо в , а для выбора всех сотрудников (без ограничений по возрасту) ,например у кого в Июне день рождения и юбилей круглый или неочень )
#30 by Kreont
Хотя запрос на сегодня и для ДР=15.11.85 в результат попадет , непопадут те у кого 26 лет было до сегодня
#31 by 73
Нее... Вот эти условия не пропустят: и МЕСЯЦ(ДатаРождения) <= МЕСЯЦ(&Дата1) и День(ДатаРождения) < День(&Дата1)
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям
Back to top