1С добавить год к дате

Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.

Дата

Значения данного типа содержит дату григорианского календаря (с 01 января 0001 года) и время с точностью до 0,1 миллисекунды.

Литералы:

Строка цифр, заключенная в одинарные кавычки вида: ‘ГГГГММДДччммсс’, где:

  • ГГГГ – четыре цифры года (включая тысячелетие и век);
  • ММ – две цифры месяца;
  • ДД – две цифры даты;
  • чч – две цифры часа (в 24-х часовом формате);
  • мм – две цифры минут;
  • сс – две цифры секунд;

Во встроенном языке в литерале типа Дата обязательно должно задаваться значение года, месяца и дня. Для задания даты соответствующей началу отсчета достаточно указать ‘00010101’. Допускается при указании литералов типа Дата опускать последние символы (секунды, минуты, часы и т.д.). Это означает, что данные параметры будут равны нулю (для времени) или единице (для даты). В литерале даты допускается использование различных разделителей.

Работа с типом Дата в языке 1С 8.3, 8.2 (в примерах)

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю).

Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Читайте также:  Где найти программиста для стартапа

Нажмите одну из кнопок, чтобы поделиться:

ДобавитьКДате() — встроенная функция языка запросов 1С 8.3. Функция позволяет добавить или вычесть из даты нужное количество времени в произвольных единицах.

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

Получите 267 видеоуроков по 1С бесплатно:

  • Бесплатный видео самоучитель по 1С Бухгалтерии 8.3 и 8.2;
  • Самоучитель по новой версии 1С ЗУП 3.0;
  • Хороший курс по 1С Управление торговлей 11.
  • Исходная дата — дата, к которой необходимо прибавить или вычесть требуемое количество временных единиц.
  • Единица измерения — параметр, который определяет единицу прибавляемого времени. Возможные значения: Год, Квартал, Месяц, День, Час, Минута, Секунда.
  • Количество — количество временных единиц, которые необходимо прибавить к исходному значению.

Пример использования функции. Необходимо получить две даты — 1 день до открытия банковского счета, 5 дней после. Для добавления количества дней используем в параметре «Количество» положительное число, для вычитания — отрицательное. «Единица измерения» времени в нашем случае — день:

ВЫБРАТЬ
БанковскиеСчета.Ссылка,
ДОБАВИТЬКДАТЕ(БанковскиеСчета.ДатаОткрытия, ДЕНЬ, 5) КАК ДатаОткрытияПлюс5,
ДОБАВИТЬКДАТЕ(БанковскиеСчета.ДатаОткрытия, ДЕНЬ, -5) КАК ДатаОткрытияМинус5
ИЗ
Справочник.БанковскиеСчета КАК БанковскиеСчета

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

«ВЫБРАТЬ
| НДФЛДоходыПредыдущегоМестаРаботы.МесяцНалоговогоПериода,
| НДФЛДоходыПредыдущегоМестаРаботы.Размер — ЕСТЬNULL(НДФЛДоходыПредыдущегоМесяца.Размер, 0) КАК Размер
|ИЗ
| ВТДоходыНарастающимИтогом КАК НДФЛДоходыПредыдущегоМестаРаботы
| ЛЕВОЕ СОЕДИНЕНИЕ ВТДоходыНарастающимИтогом КАК НДФЛДоходыПредыдущегоМесяца
| ПО (НДФЛДоходыПредыдущегоМестаРаботы.МесяцНалоговогоПериода = ДОБАВИТЬКДАТЕ(НДФЛДоходыПредыдущегоМесяца.МесяцНалоговогоПериода, МЕСЯЦ, 1))«;

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

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

Михаил Сайко

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

Читайте также:  Диабло 2 за кого лучше играть

Синтаксис и пример использования функции

Многие программисты в начале изучения 1С сталкиваются с трудностями, когда понимают, что в процедурах и запросах команды отличаются. В обычном режиме написания кода мы можем только добавить к дате секунду (определенное количество секунд) или месяц, что достаточно неудобно. В запросе же у нас есть отличная функция «ДобавитьКДате».

Согласно встроенной подсказке в режиме произвольного выражения, система предлагает нам заполнить 3 параметра:

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

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

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

    Читайте также:  Nv container window class

    Оперативная помощь по 1С – от простых консультаций до сложных внедрений. Протестируйте качество нашей работы – получите первую консультацию в подарок.

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

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

    Adblock detector