В этом случае легче всего сравнить переменную или поле с пустой датой, которая получается с помощью функции ДАТАВРЕМЯ 1,1,1.
![1С:Эксперт по технологическим вопросам 1С:Эксперт по технологическим вопросам](https://finance-cen.ru/wp-content/uploads/2022/01/32452278841-75x75.jpg)
Работа с датами
Тип » Дата » — один из базовых типов данных, поддерживаемых в языке 1С версии 7.7. Типом » Дата » в системе «1С:Предприятие» может представляться любая корректная дата.
В выражениях литералы дат (то есть неизменяемые значения типа » Дата » ) записываются в формате ‘ДД.ММ.ГГ’ или ‘ДД.ММ.ГГГГ’ , где ГГ или ГГГГ — две или четыре цифры года, ММ — числовое обозначение месяца (01, 02, 03 и т.д.), ДД — день месяца (01, 02, 03 и т.д.). В отличие от строковых литералов, литералы даты следует заключать в одинарные кавычки:
1С установить время документа программно
- — имя переменной, куда система вернёт числовое значение часа текущего времени. Параметр является необязательным;
- — имя переменной, куда система вернёт числовое значение минут текущего времени. Параметр является необязательным;
- — имя переменной, куда система вернёт числовое значение секунд текущего времени. Параметр является необязательным.
В процессе вычисления различных выражений может возникнуть необходимость в явном или неявном преобразовании типов отдельных значений. При преобразовании значений в тип » Дата » система руководствуется следующими правилами:
- Если в начале строки содержится что-то, что может быть проинтерпретировано как строковое представление даты в виде «ДД.ММ.ГГ» , где ГГ — две цифры года, ММ — числовое обозначение месяца (01, 02, 03 и т.д.), ДД — день месяца, то будет произведено соответствующее преобразование. В противном случае значение даты будет нулевым ( ‘00.00.00’ ).
- В случае с числами делается попытка взять целую часть числа и проинтерпретировать как численное представление даты. Если число отрицательно, то итогом является нулевая дата ( ‘00.00.00’ ).
Для явного преобразования в тип » Дата » значений других базовых типов служит системная (встроенная) функция Дата() . Англоязычный синоним имени функции — Date() .
где — числовое или строковое выражение, результат вычисления которого необходимо преобразовать в дату.
У системной функции Дата() имеется также ещё один синтаксис:
- — числовое выражение, результат вычисления которого будет интерпретироваться как год даты (год должен указываться четырёхзначным числом);
- — числовое выражение, результат вычисления которого будет интерпретироваться как номер месяца даты;
- — числовое выражение, результат вычисления которого будет интерпретироваться как номер дня в месяце.
В этом случае необходимо вручную задать ключ локализации в параметрах запуска информационной базы, который принудительно запустит программу 1С Предприятие с настройками для нужной страны.
![1С:Эксперт по технологическим вопросам 1С:Эксперт по технологическим вопросам](https://finance-cen.ru/wp-content/uploads/2022/01/32452278841-75x75.jpg)
Дата в запросе 1С 8.3
В первую очередь, необходимо получить дату в запросе в нужном формате – со временем или без него. Выполнить эту задачу можно несколькими путями:
Промокоды на Займер на скидки
- Передать через параметр. Получить текущую дату сеанса можно только этим методом;
- Получить дату в запросе из поля выборки;
- Преобразовать из числовых значений с помощью функции ДАТАВРЕМЯ().
Самой распространенной задачей при работе с документами является проверка на пустую дату в запросе 1С. В этом случае легче всего сравнить переменную или поле с пустой датой, которая получается с помощью функции ДАТАВРЕМЯ(1,1,1):
Аналогичной командой можно получить произвольную дату и время в запросе. При этом их можно указать с точностью до секунды, задав в качестве параметров 6 чисел. Если же используется только 3 числа, то часы, минуты и секунды будут приравнены к 0 (начало дня). Например, нам необходимо в запросе выбрать документы за первые 10 дней января 2018 года:
В запросе на встроенном языке 1С можно не только выбирать различные поля и получать параметры. Существует множество функций, облегчающих форматирование даты под нужды конкретной задачи.
Если вы часто работаете с датами в запросе, то вы должны знать эти команды:
- НАЧАЛОПЕРИОДА. В качестве параметров указывается дата и промежуток времени, в разрезе которого необходимо получить начало даты. Используется, чтобы преобразовать дату к формату без времени. Для этого необходимо задать второй параметр – «ДЕНЬ»;
- КОНЕЦПЕРИОДА. Аналогичная команда, возвращающая последнюю дату в разрезе указанных в параметрах единиц;
- ДОБАВИТЬКДАТЕ. Позволяет получить дату, большую на заданное количество указанных единиц времени. В качестве параметров функции указывают дату, единицу измерения времени и число;
Грамотно применяя эти функции, разработчик может решать достаточно нетривиальные задачи. К примеру, получение наименования дня недели текущей даты в запросе в виде строки:
Есть возможность указать дату в запросе 1С в качестве параметра для получения данных из виртуальных таблиц регистров. В этой роли также можно использовать все вышеперечисленные функции. Но здесь важно не допустить, чтобы пустая дата в запросе 1С могла сказаться на конечном результате выполнения кода, поэтому обязательно надо делать проверку.
Надеемся, статья была вам полезна. Если у вас остались вопросы по указанию даты в запросе, обратитесь к нашим специалистам в рамках консультационных услуг по 1С, мы обязательно вам поможем.
Работа с типом Дата в языке 1С 8.3, 8.2 (в примерах)
Функция ДобавитьМесяц x, y добавляет к дате x количество месяцев y , которое может быть отрицательным, в этом случае происходит вычитание месяцев из даты x.
![1С:Эксперт по технологическим вопросам 1С:Эксперт по технологическим вопросам](https://finance-cen.ru/wp-content/uploads/2022/01/32452278841-75x75.jpg)
Документ уже записан, но требуется изменить дату
Особенно это критично в тех случаях, когда от данного документа зависят другие или он сам зависит от других документов. Небольшой пример по определению взаимозависимостей я разбирал в статье про авансовые отчеты.
Более подробно о влиянии порядка документов на особенности их проведения, а также на формируемые ими проводки, я рассматриваю в своем курсе 1С Бухгалтерии 8. Просто запомните — при перестановке записанного документа на другую дату следует быть внимательными и при необходимости установить время вручную!
Дата в запросе 1С 8.3
Документ вводится «задним числом»
В бухгалтерии, в отличие от торговли, далеко не все документы вводятся текущим временем. Это совершенно нормально. Так вот, если требуется ввести документ не текущей датой, то заполнение такого документа следует начать с установки нужной даты и, по необходимости, времени.
Если требуется ввести много документов на дату, отличающейся от текущей, то лучше всего установить эту дату в настройках программы, чтобы она автоматически подставлялась во все новые документы. Главное, потом не забыть вернуть настройки в прежнее состояние.
Для 1С Бухгалтерии 8.2 установка времени по умолчанию находится в меню Сервис / Параметры.
В 1С Бухгалтерии 8.3 нужно зайти в раздел Администрирование и на Панели действий выбрать пункт Персональные настройки.
В таком случае дата будет подставляться такая, какую указали и думать об этом не нужно. Если же документ один или их немного, а в настройки лезть лень (хотя они для этого и созданы!), то просто ставьте дату вручную. Главное — не забывать это делать в каждом документе!
Микрофинансирование → Микрокредиты → Специальные предложения → Скачать файлы → Обзор Быстроденег → Предмет договора → Ответственность сторон → Отличные наличные→ Экспресс займы