Как посчитать количество дней между датами в 1С
-

Как посчитать количество дней между датами в 1С

1
41467
15.06.2020 Алексей Болдонов

Оглавление

1.    В коде модулей

2.    В тексте запросов 1С 8.3

3.    В системе компоновки данных (СКД) 1С

   

Посчитать количество дней между датами - стандартная задача, с которой сталкивается рано или поздно любой разработчик 1С. Рассмотрим различные ситуации, в которых нам может понадобиться это вычисление для работы программистом 1С. 


1.    В коде модулей

 

В частном случае в коде модулей требуется вычислить разность между датами, приведенными к началу дня. Результат будет вычислен в секундах, следовательно, его потребуется перевести в дни:



Рисунок 1. Пример использования в коде модуля 

 

2.    В тексте запросов 1С 8.3


Язык запросов 1С 8.3 также поддерживает ряд специализированных функций для операций с датами, среди которых имеется РАЗНОСТЬДАТ, предназначенная как раз для того, чтобы определить разность между датами, переданными ей, с указанием основной единицей измерения времени:



Рисунок 2. Синтаксис функции в языке запросов


Следует отметить, что при вычислении результата действия игнорируются параметры, единицы измерения которых меньше, чем переданная в третьем параметре, что позволяет предварительно не приводить в соответствие даты к началу дня.



Рисунок 3. Пример использования в языке запросов  

 

3.    В системе компоновки данных (СКД) 1С


Язык выражений 1С СКД также поддерживает специализированные функции для работы с датами и временем, как и язык запросов 1С 8.3, среди которых имеется функция РазностьДат, но ее синтаксис имеет некоторые отличия: третий параметр, определяющий тип разности, имеет значение типа Строка.

 

    

Рисунок 4. Пример использования в СКД

 

Консультант компании ООО «Кодерлайн» 

Алексей Болдонов.

Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

0
Guest
В отчёте разность дат считается, только если есть объект, из которого берётся дата для расчёта. Как только я пытаюсь использовать разность дат в отборе (больше 30 дней, например), или в группировке, то получается какое-то непонятное число (две тысячи с лишним) одно на всё. При этом, как только в группировку добавляю документ - всё начинает работать. При этом, это не ресурс, складываться ничего не должно. Что не так? (И в вычисляемых полях, и в запросе одинаково выходит)
Имя Цитировать 0
Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Услуги программиста 1С
Получите специалиста
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.