|
|
|
Количество полных лет, месяцев, дней в запросе? | ☑ | ||
|---|---|---|---|---|
|
0
tsr
01.12.05
✎
13:04
|
Может уже кто сталкивался с этим. Нужно в запросе получить данные из заданного периода. Никак не могу получить полное количество месяцев.
Пытаюсь так сделать: РАЗНОСТЬДАТ(ПриказыОПриеме.ДатаПриема,&ДатаАктуальности,МЕСЯЦ)-РАЗНОСТЬДАТ(ПриказыОПриеме.ДатаПриема,&ДатаАктуальности,ГОД)*12 не получается.Я так понимаю, в запросе округление по арифметическим правилам |
|||
|
1
SKrin
01.12.05
✎
13:08
|
ДатаПриема МЕЖДУ &Дата1 И &Дата2
|
|||
|
2
Rovan
гуру
01.12.05
✎
13:11
|
(0) что ты хочешь вообще ? (зачем такое в запросе?)
|
|||
|
3
tsr
01.12.05
✎
13:13
|
Нужно немного другое. Получить количество полных месяцев из двух дат.
Т.е если чел отработал 29 дней- 0 мес 32 дня - 1 мес и т.д. А в общем нужен стаж в виде количества лет,месяцев,дней |
|||
|
4
tsr
01.12.05
✎
13:17
|
Есть такая формула Цел((Дата2-Дата1)/365.25*12) для подсчета количества месяцев
Пытался всунуть в запрос нечто подобное, но уперся в то, что целое никак не получить. Можно только округлить число через функцию Выразить() |
|||
|
5
SKrin
01.12.05
✎
13:22
|
смотри НАЧАЛОПЕРИОДА и КОНЕЦПЕРИОДА
|
|||
|
6
Лирик
01.12.05
✎
13:28
|
А в лоб не пробовал?
ГОД(&ДатаАктуальности) * ДЕНЬГОДА(&ДатаАктуальности) - ГОД(ДатаПриема) * ДЕНЬГОДА(ДатаПриема) КАК РазницаДней там есть еще функция МЕСЯЦ() |
|||
|
7
tsr
01.12.05
✎
13:51
|
И что делать с НАЧАЛОПЕРИОДА?
(6) И так не будет вычислять? |
|||
|
8
tsr
01.12.05
✎
13:53
|
(7)Вопрос там не уместен:) Это утверждение
|
|||
|
9
Лирик
01.12.05
✎
14:22
|
(8) Специально попробывал, БУДЕТ.
|
|||
|
10
Лирик
01.12.05
✎
14:32
|
И вообще условия не полные. Что считать отработанным месяцем? Приняли 26 февраля. Сейчас 27 марта. ? отработал месяц или нет. По февралю - отработал, по марту - нет.
|
|||
|
11
tsr
01.12.05
✎
14:49
|
(9) Из (6) Можно получить только дни. Гораздо проще использовать функцию
РАЗНОСТЬДАТ(ПриказыОПриеме.ДатаПриема,&ДатаАктуальности,День) А вот полный месяц не получиться. В данном случае полный месяц, это 30 дней. На сколько я понимаю, стаж считается по отработанным дням. При использовании функции Месяц() результат округляется по арифметическим правилам. Вот в этом как раз собака зарыта. Например: 24 дня тоже считается как месяц |
|||
|
12
Лирик
01.12.05
✎
15:20
|
(11) определись с полным месяцем и с помощью этих функций можно посчитать что угодно. Ведь разность дней всегда между месяцем начальной даты и месяцем конечной даты. Вообще вижу только два варианта:
1)Если полным месяцем считать количество дней месяца начальной даты 2)Если полным месяцем считать количество дней месяца конечной даты |
|||
|
13
tsr
01.12.05
✎
15:39
|
Если бы была функция ЦЕЛ(), то и проблем бы не было. А без нее никак не могу алгоритм придумать. А полный месяц высчитывается из количества отработанных дней за период. В Зик 7.7 есть функция для подсчета лет,месяцев,дней ,но к запросу ее прикрутить не получается
|
|||
|
14
Лирик
01.12.05
✎
15:47
|
Попробуй заменить функцию Цел() через ВЫРАЗИТЬ(<>, Как Число 10, 0)
|
|||
|
15
Tsr
01.12.05
✎
16:04
|
Пробовал. Округяет по арифметическим правилам. Т.е. >=1.5 -> 2, <1.5 ->1
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |