Оглавление
3. В системе компоновки данных (СКД) 1С
Посчитать количество дней между датами - стандартная задача, с которой сталкивается рано или поздно любой разработчик 1С. Рассмотрим различные ситуации, в которых нам может понадобиться это вычисление для работы программистом 1С.
1. В коде модулей
В частном случае в коде модулей требуется вычислить разность между датами, приведенными к началу дня. Результат будет вычислен в секундах, следовательно, его потребуется перевести в дни:
Рисунок 1. Пример использования в коде модуля
2. В тексте запросов 1С 8.3
Язык запросов 1С 8.3 также поддерживает ряд специализированных функций для операций с датами, среди которых имеется РАЗНОСТЬДАТ, предназначенная как раз для того, чтобы определить разность между датами, переданными ей, с указанием основной единицей измерения времени:
Рисунок 2. Синтаксис функции в языке запросов
Следует отметить, что при вычислении результата действия игнорируются параметры, единицы измерения которых меньше, чем переданная в третьем параметре, что позволяет предварительно не приводить в соответствие даты к началу дня.
Рисунок 3. Пример использования в языке запросов
3. В системе компоновки данных (СКД) 1С
Язык выражений 1С СКД также поддерживает специализированные функции для работы с датами и временем, как и язык запросов 1С 8.3, среди которых имеется функция РазностьДат, но ее синтаксис имеет некоторые отличия: третий параметр, определяющий тип разности, имеет значение типа Строка.
Рисунок 4. Пример использования в СКД
Консультант компании ООО «Кодерлайн»
Алексей Болдонов.