1с запрос разность дат в днях

Разность дат в запросе 1С 8.3

РазностьДат() — конструкция встроенного языка запросов 1С 8.3, с помощью которой непосредственно в запросе можно получить разницу между различными датами.

1с запрос разность дат в днях

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

Дата1 и Дата2 — даты, из которых необходимо получить разность.

ЕдиницаВремени — показатель, для которого необходимо получить разность. Допустимые значения: СЕКУНДА, МИНУТА, ЧАС, ДЕНЬ, МЕСЯЦ, КВАРТАЛ, ГОД.

РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2005, 09, 12, 10, 15, 34), ДАТАВРЕМЯ(2005, 09, 14, 9, 18, 06), ДЕНЬ) — вернет «2»

РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2002, 10, 12), (ДАТАВРЕМЯ(2002, 11, 03), МЕСЯЦ) — вернет «1»

РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2002, 10, 12), (ДАТАВРЕМЯ(2004, 11, 03), ГОД) — вернет «2»

Пример использования в рабочей конфигурации 1С для получения разности дат в днях:

ВЫБРАТЬ
ДанныеДляРасчета.Организация КАК Организация,
ДанныеДляРасчета.Склад КАК Склад,
СУММА(ДанныеДляРасчета.СтоимостьКонечныйОстаток) КАК СтоимостьОстатковЗапасов,
ДанныеДляРасчета.ДатаРасчета,
СУММА(ДанныеДляРасчета.СтоимостьРасход) КАК СебестоимостьРеализованныхТоваров,
РАЗНОСТЬДАТ(&НачалоПериода, КОНЕЦПЕРИОДА(&ДатаРасчета, ДЕНЬ), ДЕНЬ) КАК ДнейВПериодеПоЗапасам
ИЗ
(ВЫБРАТЬ
ОборотныеСредства.Организация КАК Организация,
ОборотныеСредства.Склад КАК Склад,
СУММА(ОборотныеСредства.СуммаКонечныйОстаток) КАК СтоимостьКонечныйОстаток,
&ДатаРасчета КАК ДатаРасчета,
0 КАК СтоимостьРасход
ИЗ
ОборотныеСредства КАК ОборотныеСредства

Читайте и другие статьи по запросам 1С

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Источник

Запросы 1С:Предприятие 8. Функции работы с датами

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

Как задать дату в запросах 1С в виде константы

Для этого используется функция ДАТАВРЕМЯ (Год, Месяц, День, Час, Минута, Секунда). Параметры Год, Месяц и День являются обязательными, остальные — нет. Если не указать время, то системой будет установлено начало дня.

Кроме того, в качестве параметров этой функции могут быть указаны только числа в явном виде. Нельзя в качестве параметров указывать значения других функций. Например, такая конструкция работать не будет:

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

Для этого используются соответственно функции:

В качестве параметра Дата передается значение с типом Дата. Параметр Период может принимать одно из следующих значений: МИНУТА, ЧАС, ДЕНЬ, НЕДЕЛЯ, ДЕКАДА, МЕСЯЦ, КВАРТАЛ, ПОЛУГОДИЕ, ГОД.

Как видно из примеров, в этих функциях можно использовать другие, вложенные, функции.

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

Для этого существуют соответствующие функции, в которые нужно передать дату в качестве параметра.

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

Для этого используется функция ДобавитьКДате (Дата, Период, Значение).

В качестве параметра Дата передается значение с типом Дата. Параметр Период может принимать одно из следующих значений: СЕКУНДА, МИНУТА, ЧАС, ДЕНЬ, НЕДЕЛЯ, ДЕКАДА, МЕСЯЦ, КВАРТАЛ, ПОЛУГОДИЕ, ГОД.

Параметр Значение показывает количество добавляемых периодов. Если период нужно вычесть, то параметр Значение должен быть отрицательным.

Как вычислить разность дат в запросах 1С

Для этого используется функция РазностьДат (Дата1, Дата2, Период).

Параметр Дата1 — дата, которую вычитают.

Параметр Дата2 — дата, из которой вычитают.

Параметр Период может принимать одно из следующих значений: СЕКУНДА, МИНУТА, ЧАС, ДЕНЬ, МЕСЯЦ, КВАРТАЛ, ГОД. Он показывает, в каких единицах мы хотим получить результат

Во всех функциях, кроме функции ДАТАВРЕМЯ, в качестве параметра Дата может выступать не только конкретное значение даты (константа или параметр запроса), но и поля таблицы источника.

Источник

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

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

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

1с запрос разность дат в днях

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

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

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

1с запрос разность дат в днях

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

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

1с запрос разность дат в днях

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

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

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

Источник

Функции языка запросов 1С. Работа с датами

Функции работы с датами

Дата — один из примитивных типов данных в системе 1С:Предприятие. Дата всегда имеет формат год, месяц, день, час, минута, секунда. Таким образом, переменная типа дата содержит не только дату, но и время.

Одной из первых моих статей в этой рубрике была небольшая шпаргалка по работе с датами, но о датах в запросах там было написано очень мало. В запросах 1С с датами приходится работать довольно часто, особенно когда запрос строится к объектам метаданных в которых содержится периодическая информация. Как правило это регистры (сведений, накопления, расчета, бухгалтерии).

Функция Год

Функция Квартал

Возвращает номер квартала даты (целочисленное значение от 1 до 4)

Предположим, в ЗаказПокупателя передаем заказ №100 от 12.03.2016, в этом случае наш запрос вернет НомерКвартала = 1

Функция Месяц

Принимает параметр типа ДАТА. Возвращает номер месяца даты (целочисленное значение от 1 до 12).

Функция ДеньГода

Принимает параметр типа ДАТА. Возвращает номер дня в году (целочисленное значение от 1 до 366).

Запрос вернет — 175

Функция День

Принимает параметр типа ДАТА. Возвращает номер дня в месяце (целочисленное значение от 1 до 31).

Функция Неделя

Принимает параметр типа ДАТА. Возвращает номер недели в году.

Функция ДеньНедели

Принимает параметр типа ДАТА. Возвращает номер дня недели (целочисленной значение от 1 (понедельник) до 7 (воскресенье)).

Функция Час

Принимает параметр типа ДАТА. Возвращает час суток (целочисленное значение от 0 до 23).

Функция Минута

Принимает параметр типа ДАТА. Возвращает минуты часа (целочисленное значение от 0 до 59).

Функция Секунда

Принимает параметр типа ДАТА. Возвращает секунды минуты (целочисленное значение от 0 до 59).

Функция НачалоПериода

Функция возвращает для указанной даты начало периода в который она входит. Период может принимать следующие значения: МИНУТА, ЧАС, ДЕНЬ, НЕДЕЛЯ, МЕСЯЦ, КВАРТАЛ, ГОД, ДЕКАДА, ПОЛУГОДИЕ

Запрос вернет – 01.06.2016

Функция КонецПериода

Функция возвращает для указанной даты конец периода в который она входит. Период может принимать следующие значения: МИНУТА, ЧАС, ДЕНЬ, НЕДЕЛЯ, МЕСЯЦ, КВАРТАЛ, ГОД, ДЕКАДА, ПОЛУГОДИЕ

Запрос вернет – 30.06.2016

Функция ДобавитьКДате

Функция добавляет к дате указанное количество временных интервалов.

Получаем дату 15.10.2016 0:00:00 Очень удобно, что не приходится задумываться о количестве дней в месяцах.
Количество может быть и отрицательным. Тогда отсчет интервала производится в обратную сторону.

Функция РазностьДат

Функция рассчитывает календарную разницу между двумя датами и ее нельзя использовать в местах, где необходимо рассчитать банковских или рабочих дней. Тип может принимать следующие значения: МИНУТА, ЧАС, ДЕНЬ, НЕДЕЛЯ, МЕСЯЦ, КВАРТАЛ, ГОД, ДЕКАДА, ПОЛУГОДИЕ

Источник

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

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

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

1с запрос разность дат в днях

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

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

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

1с запрос разность дат в днях

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

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

1с запрос разность дат в днях

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

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *