1с текущая дата начало дня

Функции языка запросов 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С 8.3.

Текущая дата в 1С

В 1С имеется возможность получить текущую дату, ту дату, которая выставлена в данный момент в операционной системе компьютера. Делается это при помощи метода ТекущаяДата.

Этот метод является функцией, не имеет параметров и с его помощью можно получить текущую дату в 1С 8.3.

Посмотрим, что возвращает этот код

1с текущая дата начало дня. Смотреть фото 1с текущая дата начало дня. Смотреть картинку 1с текущая дата начало дня. Картинка про 1с текущая дата начало дня. Фото 1с текущая дата начало дня

Как вы могли заметить, текущая дата получена в полном формате (год, месяц, день, час, минута и секунда), т.е. текущая дата у нас возвращается с точностью до секунды.

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

В платформе 1С имеются методы, которые возвращают числовое представление года, месяца, дня, часа, минут и секунды определенной даты. Данные методы так и называются

Год( ) – возвращает год даты

Месяц( ) – возвращает месяц даты

День( ) – возвращает день даты

Час( ) – возвращает час даты

Минута( ) – возвращает минут даты

Секунда( ) – возвращает секунду даты

Рассмотрим пример, в котором возьмем текущую дату и вернем год, месяц, час, минуту и секунду этой даты.

И результат работы этого кода.

1с текущая дата начало дня. Смотреть фото 1с текущая дата начало дня. Смотреть картинку 1с текущая дата начало дня. Картинка про 1с текущая дата начало дня. Фото 1с текущая дата начало дня

Дата начала и дата конца периода в 1С

В платформе 1С 8.3. имеется возможность определить начало и конец периода даты, которому она принадлежит.

Делается это при помощи следующих методов:

И противоположные методы:

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

Рассмотрим пример, в котором будем получать начало и конец квартала текущей даты, начало и конец недели текущей даты, и начало и конец часа текущей даты. В этом примере будет шесть методов: НачалоКвартала, НачалоНедели, НачалоЧаса, КонецКвартала, КонецНедели, КонецЧаса. Остальные методы определения начала и конца периода работают аналогично.

И результат работы этих методов.

1с текущая дата начало дня. Смотреть фото 1с текущая дата начало дня. Смотреть картинку 1с текущая дата начало дня. Картинка про 1с текущая дата начало дня. Фото 1с текущая дата начало дня

Неделя года, день года и день недели

Рассмотрим похожие функции, которые возвращают порядковый номер соответствующего периода, которому принадлежит дата.

НеделяГода( ) – возвращает порядковый номер недели в году, на которую приходится дата.

ДеньГода( ) – возвращает порядковый номер дня года указанной даты.

ДеньНедели( ) – возвращает порядковый номер дня недели указанной даты.

Сделаем пример, в котором у текущей даты определим какой день недели (понедельник, вторник и т.д.), какой день года, и какая неделя в году.

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

1с текущая дата начало дня. Смотреть фото 1с текущая дата начало дня. Смотреть картинку 1с текущая дата начало дня. Картинка про 1с текущая дата начало дня. Фото 1с текущая дата начало дня

Добавить месяц к дате в 1С

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

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

И если такая задача возникает, то нужно использовать метод ДобавитьМесяц. При помощи этого метода, можно добавить к дате или убавить от даты нужное количество месяцев.

Этот метод является функцией, возвращает переменную с типом дата и имеет следующий синтаксис:

Этот метод добавляет или вычитает из даты в первом параметре количество месяцев из второго параметра.

Рассмотрим пример: добавим к текущей дате месяц и год, а также вычтем из текущей даты месяц и год.

И результат этого кода:

1с текущая дата начало дня. Смотреть фото 1с текущая дата начало дня. Смотреть картинку 1с текущая дата начало дня. Картинка про 1с текущая дата начало дня. Фото 1с текущая дата начало дня

Другие статьи о примитивных типах:

Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»

1с текущая дата начало дня. Смотреть фото 1с текущая дата начало дня. Смотреть картинку 1с текущая дата начало дня. Картинка про 1с текущая дата начало дня. Фото 1с текущая дата начало дня

Книга написана понятным и простым языком — для новичка.

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

1с текущая дата начало дня. Смотреть фото 1с текущая дата начало дня. Смотреть картинку 1с текущая дата начало дня. Картинка про 1с текущая дата начало дня. Фото 1с текущая дата начало дня

Промо-код на скидку в 15% — 48PVXHeYu

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму
.

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Источник

Использование дат

Для многих отчетов необходимо дать возможность пользователю указывать период, за который необходимо получить отчет. Часто данные периоды требуется указывать не с точностью до секунды, а с точностью до дня. Для того чтобы пользователь имел возможность ввести в параметрах данных дату без времени, достаточно указать в описании параметра данных тип параметра Дата с указанием состава даты «Дата».

1с текущая дата начало дня. Смотреть фото 1с текущая дата начало дня. Смотреть картинку 1с текущая дата начало дня. Картинка про 1с текущая дата начало дня. Фото 1с текущая дата начало дня

1с текущая дата начало дня. Смотреть фото 1с текущая дата начало дня. Смотреть картинку 1с текущая дата начало дня. Картинка про 1с текущая дата начало дня. Фото 1с текущая дата начало дня

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

1с текущая дата начало дня. Смотреть фото 1с текущая дата начало дня. Смотреть картинку 1с текущая дата начало дня. Картинка про 1с текущая дата начало дня. Фото 1с текущая дата начало дня

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

Использование стандартных периодов

Система компоновки данных позволяет использовать стандартные периоды для указания периода отчета.

1с текущая дата начало дня. Смотреть фото 1с текущая дата начало дня. Смотреть картинку 1с текущая дата начало дня. Картинка про 1с текущая дата начало дня. Фото 1с текущая дата начало дня

Пользователь будет редактировать параметр в следующем виде:

1с текущая дата начало дня. Смотреть фото 1с текущая дата начало дня. Смотреть картинку 1с текущая дата начало дня. Картинка про 1с текущая дата начало дня. Фото 1с текущая дата начало дня

Источник

Работа с датами в 1С

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

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

Хранение дат в системе

В базе данных даты хранятся с точностью до секунд. Для реквизитов типа «дата» можно установить вариант хранения «дата и время», «только дата», «только время».

Переменные типа «дата» всегда представляют дату с секундами. Отсчет дат ведется с Рождества Христова (наша эра), т.е. с 01.01.0001 00:00:00 по Григорианскому календарю. Начальная дата — это не совсем дата. Это значение в системе используется для представления «пустой даты» (аналог пустой ссылки для ссылочных типов или пустой строки «» для строкового типа).

Максимальная дата — 31.12.3999 23:59:59

Как получить текущую дату и время?

Как явно указать нужную дату?

Пустая дата в 1С

Как соединить дату и время?

Как сложить две даты

Как вычислить количество дней между двумя датами

Если у вас есть еще какие то интересные заметки — пиши в комментариях, с радостью добавлю в эту статью.

Как добавить к дате секунду, минуту, час, день

Дата представляет собой количество секунд, прошедших с 1 января 0001 года 00:00:00. Поэтому, чтобы добавить к дате дни, часы, минуты и т.д., нужно прибавить соответствующее количество секунд:

Источник

Программная работа с датой

Тип данных Дата позволяет привязывать события учета к шкале времени. Для этого значения типа Дата могут хранить три варианта даты:

На физическом уровне (в таблицах базы данных) тип Дата хранится в числовом виде, представляя количество секунд, прошедшее с 1 января 0001 года. Верхняя граница технически ограничена значением 31.12.3999 23:59:59

Дату в коде можно представить двумя способами:

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

Операции с датой

Сложение

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

Здесь важно соблюдать последовательность операндов: на первом месте должна идти дата, а затем число. Например, следующий код будет ошибочным:

Причем, с ошибкой Вы столкнетесь только на этапе выполнения программы!

Вычитание

Вычитание — операция обратная от сложения. Это равноценно тому, что мы прибавляли бы к дате отрицательное значение. Здесь также важно соблюдать последовательность:

Кроме того, можно из одной даты, вычесть другую и мы получим длину интервала в секундах:

Склеивание (конкатенация)

В том случае, если вы работаете со строковыми представлениями даты, возможна обычная конкатенация (склеивание) строк:

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

Дата()функция преобразования к типу дата
ТекущаяДата()возвращает текущую дату
НачалоДня()возвращает дату и время начала дня для даты
КонецДня()возвращает дату и время конца дня для даты
ДобавитьМесяц()добавляет к дате целое число месяцев
ДеньНедели()возвращает номер дня недели для даты

Внимание! В таблице перечислены не все функции работы с датой

Источник

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

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