Как добавить к дате год?
Программисту 1С на практике часто приходится сталкиваться с приращением дат. В частности, бывают задачи, когда нужно получить тот же день месяца в следующем году или в предыдущем. Зная, что в сутках 86400 секунд (3600 * 24), а в году 365 дней, можно быстренько написать такую нехитрую формулу:
Однако, рано или поздно, обязательно обнаружатся проблемы с такой математикой: формула не учитывает високосные года. Чтобы не озадачивать себя вычислением количества дней в году, была придумана функция ДобавитьМесяц(). С ее помощью добавить или отнять год от даты не составит труда:
Как в 1С 8.3 прибавить месяц, день, неделю и т.д.
Рассмотрим разные способы добавления различных периодов дат в 1С 8.3 — от месяца, до секунды.
Простой и «топорный» метод
Метод хорошо отрабатывает при добавлении дня. Что касается месяца, в таком способе нам придётся контролировать количество дней в прибавляемом месяце, учитывая количество дней в следующем, ещё високосный год. Получается совсем сложно и громоздко.
Таким образом для операций с месяцами во встроенном языке 1С, как стандарт, существует две функции это ДобавитьМесяц() и в языке запросов ДОБАВИТЬКДАТЕ(). Рассмотрим подробно работу с каждой из них.
Функция ДобавитьМесяц()
ДобавитьМесяц(<Дата>, <ЧислоМесяцев>)
Где параметр <Дата> это «наша дата», <ЧислоМесяцев> количество добавляемых месяцев (цифра).
Если следует отнимать месяцы, то количество месяцев необходимо указывать со знаком минус.
Функция ДОБАВИТЬКДАТЕ() — в запросах 1С
Получите понятные самоучители по 1С бесплатно:
ДОБАВИТЬКДАТЕ(<Дата>, <Тип>, <Количество>)
Где параметры <Дата> это «наша дата», <Тип> это единица измерения временного интервала (ГОД, ПОЛУГОДИЕ, КВАРТАЛ, МЕСЯЦ, НЕДЕЛЯ, ДЕКАДА, ДЕНЬ, ЧАС, МИНУТА, СЕКУНДА), а в параметре <Количество> указывается число прибавляемых временных интервалов.
Если необходимо отнять временной интервал параметр <Количество> необходимо задавать со знаком минус.

Примечание — возможны ошибки
Если стоит задача отнять или прибавить к дате несколько месяцев. Используя данные функции, не стоит отнимать или прибавлять месяца последовательно, так как это приведёт к неверному результату. Допустим необходимо к дате 31 января 2020г. прибавить 2 месяца.
Прибавить к дате или вычесть из даты секунду, минуту, час, день, год
Для работы с датами в 1С Предприятии существуют специальные методы встроенного языка. При работе с датами может потребоваться прибавить к дате или вычесть из даты секунду, минуту, час, день, год. Это можно сделать как в запросе, так и в программном коде, средствами встроенного языка.
В программном коде
Для решения данной задачи, можно прибавить к дате или вычесть из даты требуемое количество секунд.
В запросе
Для решения данной задачи, в языке запросов есть специальная функция ДОБАВИТЬКДАТЕ(<Дата>, <Тип>, <Количество>). Параметр "Тип" указывает вид увеличения и может принимать значения: СЕКУНДА, МИНУТА, ЧАС, ДЕНЬ, НЕДЕЛЯ, МЕСЯЦ, КВАРТАЛ, ГОД, ДЕКАДА, ПОЛУГОДИЕ.
Комментарии (0)
Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться
Тип дата 1с. Примеры кода.
Тип дата в 1с относится к примитивным типам данных. Он используется постоянно, например как реквизит даты Документа.
Другими словами типа дата в 1с содержит точную (с точностью до 0,1 миллисекунды) дату григорианского календаря.
Типовой порядок частей даты принятый в 1С — год, месяц, день, час, минута, секунда.
Самый простой способ задания даты представлен ниже:
Дата приравнивается к переменной строки цифр в одинарных кавычках.
В данной записи вида ‘ГГГГММДДччммсс’ где:
- ГГГГ — четыре цифры года (включая тысячелетие и век);
- ММ — две цифры месяца;
- ДД — две цифры даты;
- чч — две цифры часа (в 24-х часовом формате);
- мм — две цифры минут;
- сс — две цифры секунд.
Часы, минуты и секунды можно не указывать, при этом они приравниваются к нулю.

Функции типа Дата в 1с
Также перечень всех функций работы с датами можно посмотреть в синтакс-помощнике:

Функции типа Дата в 1с
Увеличение даты на 1 день
Значение типа данных дата определено с точностью до секунды. При прибавлении к дате числа 1 увеличивается время на 1 секунду. Поэтому увеличить дату на 1 день можно так:
пустая дата в 1с
Для того чтобы проверить дату на “пустое” значение, нужно сравнить имеющееся значение со значением типа “Дата” по умолчанию. Например:
Функция ДеньНедели()
Пример подсчета рабочих и выходных дней
Функция ДобавитьМесяц ()
Функция добавляет указанное количество месяцев к заданной дате. Синтаксис:
Добавляет (или вычитает) к указанной дате заданное число месяцев.
ТекущаяУниверсальнаяДатаВМиллисекундах
Функция ТекущаяУниверсальнаяДатаВМиллисекундах() позволяет узнать дату в миллисекундах. Она доступна начиная с версии платформы 8.2.17.
Функция Дата() служит для создания значения типа “Дата”. Использовать ее можно двумя способами:
- Дата(x) — где параметр “x” это строка вида “ГГГГММДДччммсс”, часы, минуты и секунды можно опустить, т.е. преобразуем строку в дату;
- Дата(x, y, z, w, v, c) — в этом случае параметры “x”, “y”, “z”, “w”, “v” и “c” являются числами и означают год, месяц, день, час, минуту и секунду соответственно. Как и в предыдущем случае час, минуту и секунду можно опустить.
МоментВремени
МоментВремени это объект который является совокупностью даты и ссылки на какой-либо объект информационной базы. Он используется в качестве значения свойств или параметров методов других объектов, имеющих тип МоментВремени. Применяться этот объект может при программном создании документов. Разные документы создаются в разные моменты времени. МоментВремени необходим для того, чтобы различать моменты времени для объектов имеющих одинаковую дату создания.
Количество дней в месяце в 1с: Предприятие
Пример нахождения Количество дней в месяце в 1с: Предприятие
Функция 1с Получить Дату из Строки
Получение Даты из строки популярная операция в программировании на 1с. Пример такой функции представлен ниже. При написании функции использовались только стандартные функции работы со строками и с Датой.

Код преобразования
Функция перевода данных типа даты при экспорте из файла электронной таблицы Excel.