Разобрали основные функции: как получить дату в запросе 1С, проверить пустую дату и рассчитать периоды.
Время чтения ~3 мин.
Доработаем 1С под ваши задачи
Тип «Дата» — один из четырех основных типов данных в 1С наряду с числом, строкой и булево. Даты встречаются в конфигурациях повсеместно: в реквизитах документов, записях регистров, условиях выборки. Избежать работы с этим типом данных разработчику не удается, поэтому важно заранее понимать, как даты хранятся, как их обрабатывать и какие функции доступны в модулях и в запросах. До этого момента безопаснее поручать доработки программистам — такие услуги предоставляют большинство компаний-франчайзи.
В 1С значение типа «Дата» — это календарная дата григорианского календаря (с 1 января 0001 года по 31 декабря 3999 года) и время с точностью до 0,1 миллисекунды.
В запросе дату можно использовать несколькими способами. Первый вариант — передать ее через параметр. Это основной и самый удобный путь, а для получения текущей даты сеанса — единственно возможный.
Второй вариант — взять дату из поля выборки. Третий — собрать ее из числовых значений с помощью функции ДАТАВРЕМЯ().
Именно функция ДАТАВРЕМЯ() используется, когда дату и время нужно задать прямо в тексте запроса. Если передать в нее шесть чисел, можно указать значение с точностью до секунды. Если задать только год, месяц и день, время автоматически будет равно `00:00:00`, то есть началу дня.
Например, чтобы выбрать документы за первые десять дней января 2018 года, условие может выглядеть так:
ВЫБРАТЬ
ПоступлениеНаРасчетныйСчет.Ссылка КАК Ссылка
ИЗ
Документ.ПоступлениеНаРасчетныйСчет КАК ПоступлениеНаРасчетныйСчет
ГДЕ
ПоступлениеНаРасчетныйСчет.Дата МЕЖДУ ДАТАВРЕМЯ(2018, 1, 1, 0, 0, 0) И ДАТАВРЕМЯ(2018, 1, 10, 23, 59, 59)
Одна из самых частых задач в запросах 1С — проверка на пустую дату. Обычно это нужно при работе с документами и регистрами, когда поле может быть не заполнено. Для такой проверки используют значение, полученное функцией:
ДАТАВРЕМЯ(1, 1, 1)
С этим значением сравнивают поле или переменную. Такой способ считается самым простым и понятным.
В языке запросов 1С есть несколько функций, которые помогают не просто подставить дату, а привести ее к нужному виду или выполнить расчет.
НАЧАЛОПЕРИОДА
Функция возвращает начало указанного периода. Если нужно убрать время и получить дату на начало дня, во втором параметре указывают ДЕНЬ.
НАЧАЛОПЕРИОДА(<Дата>, <Период>)
НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ)
Функция работает по тому же принципу, но возвращает последнее значение даты в пределах выбранного периода.
Функция сдвигает дату на нужное количество единиц времени. Например, чтобы получить дату через 10 дней от исходной.
ДОБАВИТЬКДАТЕ(<Дата>, <Тип>, <Количество>)
ДОБАВИТЬКДАТЕ(&Дата, ДЕНЬ, 10)
Вычисляет разницу между двумя датами в нужных единицах измерения.
РАЗНОСТЬДАТ(<Дата1>, <Дата2>, <Тип>)
РАЗНОСТЬДАТ(&Дата1, &Дата2, ДЕНЬ)
Функция возвращает порядковый номер дня недели. На ее основе можно получить текстовое название дня через конструкцию ВЫБОР.
ВЫБОР
КОГДАДЕНЬНЕДЕЛИ(&ТекущаяДата) = 1
ТОГДА"понедельник"
КОГДАДЕНЬНЕДЕЛИ(&ТекущаяДата) = 2
ТОГДА"вторник"
КОГДАДЕНЬНЕДЕЛИ(&ТекущаяДата) = 3
ТОГДА"среда"
КОГДАДЕНЬНЕДЕЛИ(&ТекущаяДата) = 4
ТОГДА"четверг"
КОГДАДЕНЬНЕДЕЛИ(&ТекущаяДата) = 5
ТОГДА"пятница"
КОГДАДЕНЬНЕДЕЛИ(&ТекущаяДата) = 6
ТОГДА"суббота"
ИНАЧЕ"Воскресенье"
КОНЕЦ
Преобразование даты из строки или числа прямо в запросе обычно требует дополнительных действий. Из чисел дату еще можно собрать через ДАТАВРЕМЯ, а со строками все сложнее: приходится использовать ПОДСТРОКА и конструкцию ВЫБОР КОГДА ТОГДА ИНАЧЕ. Поэтому на практике дату чаще подготавливают в модуле и уже потом передают в запрос параметром.
Этот же подход удобен при обращении к виртуальным таблицам регистров. В параметрах можно использовать и дату, и функции работы с периодами. Главное, не забывать о проверке на пустую дату. Если этого не сделать, результат выполнения кода может оказаться неверным.
Работа с датами в запросах 1С строится вокруг нескольких базовых приемов: передача значения через параметр, использование ДАТАВРЕМЯ() и применение функций для начала, конца, сдвига и сравнения периодов. Если правильно обрабатывать пустые значения и не усложнять преобразование типов внутри запроса без необходимости, код получается понятнее и надежнее.
Работа с датами в запросах кажется простой только на первый взгляд: нужно правильно передавать параметры, учитывать пустые значения и аккуратно использовать функции. Если нет уверенности, что запрос отработает корректно во всех сценариях, поручите настройку специалистам.
Наталья Якшилова
Заместитель руководителя направления 1С
Инструкции · 15 окт. 2026
1С:РПД: что это, для чего нужен сервис и кому он подходит
1С:РПД распознает первичные документы и помогает переносить данные в учетную базу без ручного ввода каждой позиции. Разобрали возможности сервиса, кому он подходит и что учесть перед подключением.
Законы · 13 окт. 2026
Налоговая реформа 2027 года: новые налоги и штрафы
Разобрали основные законодательные инициативы: новые налоги и штрафы, требования к бизнесу. Перечисли сроки их предполагаемого внедрения и то, на что компаниям и гражданам стоит обратить внимание.
Инструкции · 06 окт. 2026
Цифровой рубль в 2026 году: кто должен принимать оплату и как настроить 1С
Рассказали, что такое «цифровой рубль», кто должен принимать цифровые рубли в 2026 году, как открыть кошелек и настроить операции в «1С:Бухгалтерия».
Путевые листы в 1С 8.3: где найти и как правильно оформить
Разобрали, где найти путевые листы в 1С, как настроить программу, заполнить документ и списать топливо.
Инструкции · 30 сент. 2026
Инструкции · 30 сент. 2026
Как обновить 1С ЗУП 8.3 — пошаговая инструкция
Подготовили инструкцию, как обновить 1С:ЗУП — через Конфигуратор, Монитор портала 1С:ИТС и через раздел «Администрирование».
Ввод начальных остатков в 1С — пошаговая инструкция
Рассказали, как выполнить ввод начальных остатков в 1С, где найти нужный раздел в 1С и как перенести остатки по основным участкам учета.
Инструкции · 30 сент. 2026
Выбор региона
До перехода на ЭПД осталось:
обмен перевозочными документами только в электронном виде
Инструкция Инструкция и чек-лист