Как программно в 1с прибавить к дате день

В 1С 8 нет специальной встроенной функции для программного добавления дней к переменной типа Дата. Но есть несколько способов, которые помогут в 1с прибавить к дате день.

Программно в 1с прибавить к дате день. Способ 1

К дате можно прибавлять (и убавлять) секунды, при помощи оператора +.

В одном дне: 24*60*60 = 86400 секунд.

Таким образом для добавления дня к дате к ней необходимо прибавить 86400.

Пример. Пусть в переменной МояДата содержится искомая дата.

ДатаПлюсДень = МояДата + 86400;

В 1с добавить день к дате. Способ 2

Если вам необходимо получить начало следующего дня от заданной даты, то можно воспользоваться встроенной функцией КонецДня(<Дата>), после чего добавить к полученной дате одну секунду.

Пример 2:

НоваяДата = КонецДня(МояДата) + 1;

Таким образом мы прибавили к концу заданного дня одну секунду и получили начало следующего дня.

Отметим, что для добавления месяцев в 1С 8 существует отдельная встроенная функция ДобавитьМесяц(<Дата>, <ЧислоМесяцев>). Для того что бы отнять необходимое количество месяцев, нужно что бы параметр ЧислоМесяцев был отрицательным.

Способ 3

Также добавить день к искомой дате в 1С 8 можно при помощи запроса. В языке запросов есть специальная функция ДОБАВИТЬКДАТЕ(<Дата>, <Тип>, <Количество>) предназначенная для изменения дат. Параметр Тип может принимать значения: СЕКУНДА, МИНУТА, ЧАС, ДЕНЬ, НЕДЕЛЯ, МЕСЯЦ и т.д., что позволяет изменять даты на любые промежутки времени.

Пример 3.

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Дата", ТекущаяДата());

Запрос.Текст = 
"ВЫБРАТЬ
|    ДОБАВИТЬКДАТЕ(&Дата, ДЕНЬ, 1) КАК НоваяДата";

Результат = Запрос.Выполнить().Выбрать();

Результат.Следующий();
НоваяДата = Результат.НоваяДата;

Если вы не умеете писать запросы на встроенном языке 1с, то советую вам прочитать статью Язык запросов 1с — оператор Выбрать, в ней подробно описывается из каких блоков состоит запрос в 1С 8 и как его правильно использовать. После этой статьи прочтите следующую ее часть Запросы 1с 8 — Программная работа. Изучение языка запросов поможет вам стать более грамотным программистом. На этом все, теперь вы знаете три способа, как программно в 1с прибавить к дате день.

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

Ваш адрес email не будет опубликован.