Если у вас остались вопросы по указанию даты в запросе, обратитесь к нашим специалистам в рамках консультационных услуг по 1С, мы обязательно вам поможем.
Вычесть из Даты Количество Дней 1C в Запросе
При работе с датами 1С, типовой порядок частей даты – год, месяц, день, час, минуты, секунды. При этом часы, минуты, секунды можно пропустить.
При создании даты из строки («приведение к дате») можно указать в локализованном формате (день.месяц.год часы:минуты:секунды), но только полностью.
Например:
//Работа с датами 1С — преобразовать дату в 1С из частей — год, месяц, день (плюс необязательно время)
Дата = Дата(2012,10,30); //без времени
Дата = Дата(2012,10,30,12,00,00); //со временем
//Работа с датами 1С — преобразовать дату в 1С из строки, разные способы
Дата = Дата(«20121030»); //год, месяц, день
Дата = Дата(«30.10.2012 12:00:00»); //локализованный формат, только полностью
//Работа с датами 1С — указание значения даты без приведения, напрямую
Дата = ‘20121030’; //без времени
Дата = ‘20121030120000’; //со временем
Чтобы проверить дату 1С на заполненность – ее сравнивают с «пустой датой». При наличии в справочнике/документе реквизита с типом дата, если пользователь не заполнил это поле, то ее значение также будет – «пустая дата».
Например:
ПустаяДата = ‘00010101000000’;
Если НужнаяДата = ‘00010101000000’ Тогда
Сообщить(«Вы не заполнили очень нужную дату»);
КонецЕсли;
Работа с датами 1С — Дата в реквизитах (справочников, документов и т.п.)
При указании типа реквизита можно указать использовать:
Для получения даты и времени используется функция 1С ТекущаяДата().
Очень важно место – где вызывается эта функция – на клиенте или на сервере. Подробнее см. тему «Режим исполнения/Исполнение». Часто бывает, что на клиентских машинах время немного разное, поэтому стараются везде использовать серверное время – даже если оно установлено на сервере не верно, то хотя бы у всех клиентов будет одинаковое неверное время.
//вызов этой функции для использования из другого модуля выглядит так
ДокументОбъект.Дата = СерверныеФункции.ПолучитьДатуСервера(); //ИмяМодуля.ИмяФункции()
Также в тонком клиенте непосредственно у функций модулей указывается где она будет исполнена:
Используется в отчетах и запросах, требующих получить данные за период – день, месяц, год.
Так например период с «01.01.2012 00:00:00» по «31.01.2012 00:00:00» неверен, так как не включает в себя один день месяца (но включает в себя одну секунду последнего дня месяца).
Дата содержит дату и время. При сравнении дат (без учета времени) их обычно приводят к началу дня (месяца, года).
Например:
Дата1 = Дата(«30.10.2012 12:00:00»);
Если НачалоДня(Дата1) = НачалоДня(ДокументСсылка.Дата) Тогда
Сообщить(«Документ введен заданной датой»);
КонецЕсли;
На всякий случай, пример сравнения даты в периоде:
Если ДокументСсылка.Дата >= НачалоМесяца(ТекущаяДата()) и
ДокументСсылка.Дата
Дата является числом секунд. Если мы хотим не просто узнать – больше ли одна дата другой – но и на сколько больше, то получаем разницу в секундах.
Postgres Pro Standard: Документация: 13: 9.9. Операторы и функции даты/времени: Компания Postgres Professional
Поэтому я рекомендовал бы не делать сложных выборок-соединений с группировкой из виртуальных таблиц, а прочитать необходимые данные из виртуальной таблицы регистра во временную и далее их обрабатывать последующими пакетами запроса.
Получение дат
Как передать текущую дату в запрос?
Запрос . УстановитьПараметр ( «ТекущаяДата» , ТекущаяДата ( ) ) ;
тзРезультатЗапроса = Запрос . Выполнить ( ) . Выгрузить ( ) ;
Промокоды на Займер на скидки
Как получить начало текущего месяца?
Конец текущего года?
Как получить полдень текущей даты?
Добавим использование функции ДОБАВИТЬКДАТЕ(ДАТА,,ЧИСЛО)
Как получить дату без времени (0:00)
Как задать дату-константу в запросе 1С?
Возможно задать дату с точностью до секунды?
А до милисекунды?
Калькулятор лет онлайн. Математические действия с датами.
- Передать через параметр. Получить текущую дату сеанса можно только этим методом;
- Получить дату в запросе из поля выборки;
- Преобразовать из числовых значений с помощью функции ДАТАВРЕМЯ().
Что еще следует знать про дату в запросах?
Дата в запросах может фигурировать не только в полях выборки, и вычислениях, но также передаваться, как параметры виртуальных таблиц.
- для среза последних значений в регистре сведений в качестве момента на которое берется значение. Если периодичность регистра не совпадает с переданным параметром, система обрежет лишние (секунда, дни в зависимости от), округления не происходит
- для остатков регистра накопления в качестве дата остатка
- для оборотов регистров бухгалтерии или регистра накопления (НачалоПериода,КонецПериода)
- других виртуальных таблиц
Допустимо задание дат-констант и использование параметров, также обработка их выше приведенными функциями.
Но нельзя дату передать в параметры виртуальных таблиц из полученных ранее в этом запросе полей выборки.
Сортировка даты в запросе производится в рамках секунды.
Момент времени документа не является датой, он сортирует более глубже, чем дата документа, т.е. при наличии документов в одну секунду времени, сортировка по дате производится в недопустимом порядке: например в виде представления. Используйте для этого момент времени.
Внешнее представление даты определяется представлением операционной системы, управлять из запроса, а также приводить в строковое представление в классическом запросе невозможно в отличии от СКД, где возможна пост-обработка и условное оформление.
Допускается применение функции МАКСИМУМ(),МИНИМУМ() к дата в запросе, как в группировке так и в итогах запроса.
Ошибка «неверные параметры» возникает в случае, когда вместо даты передается null, число или что-то иное.
Оператор AT TIME ZONE преобразует дату время без часового пояса в дату время с часовым поясом и обратно, а также пересчитывает значения time with time zone для различных часовых поясов.
Способ 3: вычисление количеств рабочих дней
В Экселе также имеется возможность произвести вычисление рабочих дней между двумя датами, то есть, исключая выходные и праздничные. Для этого используется функция ЧИСТРАБНИ. В отличие от предыдущего оператора, она присутствует в списке Мастера функций. Синтаксис у этой функции следующий:
В этой функции основные аргументы, такие же, как и у оператора РАЗНДАТ – начальная и конечная дата. Кроме того, имеется необязательный аргумент «Праздники».
Вместо него следует подставлять даты праздничных нерабочих дней, если таковые имеются за охватываемый период. Функция производит расчет всех дней указанного диапазона, исключая субботы, воскресенья, а также те дни, которые добавлены пользователем в аргумент «Праздники».
- Выделяем ячейку, в которой будет находиться итог вычисления. Кликаем по кнопке «Вставить функцию».
После указанных выше манипуляций в предварительно выделенной ячейке отобразится количество рабочих дней за указанный период.
Помимо этой статьи, на сайте еще 12628 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Вычесть из Даты Количество Дней 1C в Запросе
Способ 1: простое вычисление
Проще всего вычислить разность дней между датами с помощью обычной формулы.
Для вычисления разности в датах можно также применять специальную функцию РАЗНДАТ. Проблема в том, что в списке Мастера функций её нет, поэтому придется вводить формулу вручную. Её синтаксис выглядит следующим образом:
«Единица» — это формат, в котором в выделенную ячейку будет выводиться результат. От того, какой символ будет подставлен в данный параметр, зависит, в каких единицах будет возвращаться итог:
Так как нам нужно рассчитать разницу в количестве дней между датами, то наиболее оптимальным решением будет применение последнего варианта.
Также нужно обратить внимание, что, в отличие от способа с применением простой формулы, описанного выше, при использовании этой функции на первом месте должна находиться начальная дата, а конечная – на втором. Иначе расчеты будут некорректными.
- Записываем формулу в выбранную ячейку, согласно её синтаксису, описанному выше, и первичным данным в виде начальной и конечной даты.
Микрофинансирование → Микрокредиты → Специальные предложения → Скачать файлы → Обзор Быстроденег → Предмет договора → Ответственность сторон → Отличные наличные→ Экспресс займы