Modber Сообщество
профессионалов по 1С

  
Сообщений: 19

0
1С версии 8.2. Нужно вычислить в запросе количество лет между двумя датами. Пишу так: РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2011, 10, 6),ДАТАВРЕМЯ(2012, 01, 06), ГОД)- результат 1, но ведь года не прошло.
Сообщений: 1

0
То есть Вам нужно, чтобы был результат - 0? Используйте в качестве третьего параметра не ГОД, а МЕСЯЦ. Результат дели на 12 и отбрасывай дробную часть (функция ЦЕЛ).
Сообщений: 2

0
[quote=Артур] То есть Вам нужно, чтобы был результат - 0? Используйте в качестве третьего параметра не ГОД, а МЕСЯЦ. Результат дели на 12 и отбрасывай дробную часть (функция ЦЕЛ). [/quote] месяц тоже неправильно считает [code=1C]ВЫБРАТЬ РАЗНОСТЬДАТ(ДАТАВРЕМЯ(1980, 3, 19), ДАТАВРЕМЯ(2013, 3, 13), МЕСЯЦ)[/code] результат 396 месяцев (33 года) а по факту 32 года 11 месяцев 26 дней [code=1C]ВЫБРАТЬ РАЗНОСТЬДАТ(ДАТАВРЕМЯ(1980, 3, 19), ДАТАВРЕМЯ(2013, 4, 1), МЕСЯЦ)[/code] результат 397 месяцев, хотя по факту 396 месяцев и 13 дней
Сообщений: 2

0
Правильное количество месяцев можно посчитать так [code=1C] ВЫБРАТЬ РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ДАТАВРЕМЯ(1980, 3, 19), МЕСЯЦ), ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДАТАВРЕМЯ(2013, 3, 13), МЕСЯЦ), СЕКУНДА, -1), МЕСЯЦ)[/code]
Сообщений: 59

0
[b]Владимир[/b], всегда удобно использовать запрос, который может быть проработан в Схеме Компановки Данных, в функциях Общего модуля с секундами, которые потом и приводить в удобный вид (год, месяц, день...), при помощи дописанной функции. В запросе нужно прибавлять 1 минуту, если секунды не равны 0.
В начало страницы 
|
Перейти на форум: