Как получить формат даты без времени?
При преобразовании даты к строковому представлению в него по умолчанию всегда попадает время (даже если оно пустое 00:00:00). Чтобы получить представление даты без времени необходимо воспользоваться инструментами форматирования.
Для этого во встроенном языке 1С:Предприятие 8 есть функция Формат(), которая позволяет получить представление даты в любом нужном формате. В нашем случае мы можем использовать либо локальный формат даты:
Либо произвольный формат даты:
Подробнее разобраться со структурой форматной строки Вам поможет одноименная статья
Если же Вам нужно изменить формат представления даты в поле ввода, читайте статью Конструктор форматной строки
1С 8.3 Дата и время — Программист 1С Минск. Автоматизация бизнеса.
✔ Работа с датой и временем
&НаКлиенте
Процедура РаботаСДатойИВременем ( Команда )
// Установка даты в переменную
ТолькоДата = ‘20200415’ ; // 15.04.2020
// Преобразование строки в дату
ТолькоДата = Дата ( «20200415» ); // 15.04.2020
// Преобразование чисел в дату отдельными частями
ТолькоДата = Дата ( 2020 , 04 , 15 ); // 15.04.2020
// Установка в дате: часы, минуты и секунды
ДатаВремя = ‘20200415162703’ ; // 15 апреля 2020 г. 16 ч. 27 мин. 03 сек.
// Получение года (месяца, дня, часа, минуты, секунды) у даты
Год_Даты = Год ( ДатаВремя ); // 2020
Месяц_Даты = Месяц ( ДатаВремя ); // 4
День_Даты = День ( ДатаВремя ); // 15
Час_Даты = Час ( ДатаВремя ); // 16
Минута_Даты = Минута ( ДатаВремя ); // 27
Секунда_Даты = Секунда ( ДатаВремя ); // 03
// Прибавление к дате 3 секунды
Сообщить ( ДатаВремя + 3 ); // 15.04.2020 16:27:06
// Прибавление к дате два месяца
Сообщить ( ДобавитьМесяц ( ДатаВремя , 2 )); // 15.06.2020 16:27:03
// Вычитание от даты одного месяца
Сообщить ( ДобавитьМесяц ( ДатаВремя , — 1 )); // 15.03.2020 16:27:03
// Получение текущей (рабочей) даты
Сообщить ( ТекущаяДата ());
// вариант 1:
&НаКлиенте
Процедура ОперацииДеньДата ( Команда )
Сообщить ( МатематикаДень ( ‘20200415’ , 1 )); //16.04.2020 0:00:00
Сообщить ( МатематикаДень ( ‘20200415’ , — 1 )); //14.04.2020 0:00:00
&НаКлиенте
Функция МатематикаДень ( Дата , ЧислоДней )
Возврат Дата + 86400 * ЧислоДней ; // 86400 сек.
// или вариант 2 (менее универсальный):
&НаКлиенте
Функция ПолучитьСледующийДень ( Дата )
// с помощью функции КонецДня прибавляем секунду к 15.04.2020 23:59:59
&НаКлиенте
Процедура ДополнительныеФункцииДаты ( Команда )
// Указываем дату явно:
ДатаВремя = ‘20200415162703’ ; // 15 апреля 2020 г. 16:27:03
//или
ДатаВремя = ‘2020.04.15:16:27:03’ ; // 15 апреля 2020 г. 16:27:03
Сообщить ( ДеньГода ( ДатаВремя )); // 15
Сообщить ( ДеньНедели ( ДатаВремя )); // 3 — Среда (нумерация с понедельника «1»)
Сообщить ( НеделяГода ( ДатаВремя )); // 3 Неделя
Сообщить ( НачалоГода ( ДатаВремя )); // 01.01.2020 0:00:00
Сообщить ( КонецГода ( ДатаВремя )); // 31.12.2020 23:59:59
Сообщить ( НачалоКвартала ( ДатаВремя )); // 01.04.2020 0:00:00
Сообщить ( КонецКвартала ( ДатаВремя )); // 30.06.2020 23:59:59
Сообщить ( НачалоМесяца ( ДатаВремя )); // 01.04.2020 0:00:00
Сообщить ( КонецМесяца ( ДатаВремя )); // 30.04.2020 23:59:59
Сообщить ( НачалоНедели ( ДатаВремя )); // 13.04.2020 0:00:00
Сообщить ( КонецНедели ( ДатаВремя )); // 19.04.2020 23:59:59
Сообщить ( НачалоДня ( ДатаВремя )); // 15.04.2020 0:00:00
Сообщить ( КонецДня ( ДатаВремя )); // 15.04.2020 23:59:59
Сообщить ( НачалоЧаса ( ДатаВремя )); // 15.04.2020 16:00:00
Сообщить ( КонецЧаса ( ДатаВремя )); // 15.04.2020 16:59:59
Сообщить ( НачалоМинуты ( ДатаВремя )); // 15.04.2020 16:27:00
Сообщить ( КонецМинуты ( ДатаВремя )); // 15.04.2020 16:27:59
Дата в 1С запросе
Дата в запросе 1с используется очень часто. В запросах 1с используются функции для работы с типом данных Дата.
Функции для работы с типом Дата в запросе 1с
Часть функций для работы с типом данных повторяют функции встроенного языка.
В разделе прочие имеются функции, которые можно использовать при работе с типом Дата.
Функции раздела “Прочие”
Функция ДатаВремя() в запросе 1с
Эта функция позволяет “собрать” дату по отдельным ее компонентам. В качестве параметров функции выступают:
- Год
- Месяц
- День
- Час
- Минута
- Секунда
Последние три параметра необязательные.
Функция НАЧАЛОПЕРИОДА()
Данная функция имеет два параметра:
- Первый параметр дата
- Тип периода например(Год, День,Месяц)
Функция КОНЕЦПЕРИОДА()
Данная функция имеет два параметра:
- Первый параметр дата
- Тип периода например(Год, День,Месяц)
Функция ДОБАВИТЬКДАТЕ()
Эта функция имеет три параметра:
1.Первый параметр Дата к которой будем прибавлять;
2.Второй параметр Тип увеличения(Год, День и т.д.);
3.Третий параметр величина увеличения (целое число).
Функция РАЗНОСТЬДАТ()
Эта функция имеет три параметра:
1.Первый и второй параметры Даты разность которых вычисляется ;
2.Третий параметр Тип разности(Год, День и т.д.).
Текущая Дата в запросе 1с
В языке запросов нет аналога метода «ТекущаяДата()», поэтому чтобы получить это значение, его можно передать в запрос с помощью параметра:
Запрос = Новый Запрос;
Запрос.Текст = “Выбрать…..
Как получить дату без времени
Получение даты без времени
Как получить пустую дату в 1с запросе
Как добавить к дате в запросе
Использование стандартных периодов
Система компоновки данных позволяет использовать стандартный период в запросе.
Во-первых выбираем стандартный период.
Выбираем стандартный период
Во-вторых заполняем столбец “Выражение” для параметров НачДата и КонДата. Затем следует запретить их редактирование пользователем.
Заполняем “Выражение” для параметров.
Тема: Формат Даты в запросе
Формат Даты в запросе
- Просмотр профиля
- Сообщения форума
- Личное сообщение
Re: Формат Даты в запросе
Сообщение от Mexxe
- Просмотр профиля
- Сообщения форума
- Личное сообщение
Re: Формат Даты в запросе
Сообщение от avm3110
- Просмотр профиля
- Сообщения форума
- Личное сообщение
Re: Формат Даты в запросе
- Просмотр профиля
- Сообщения форума
- Личное сообщение
Re: Формат Даты в запросе
Сообщение от avm3110
- Просмотр профиля
- Сообщения форума
- Личное сообщение
Re: Формат Даты в запросе
Ну во-первых, у вас левое соединение, а значит "данные клиента" можете не найти и это нужно обрабатывать (в этом случае данные по паспорту будут NULL)
Во-вторых, у вас может не быть клиента (поле СсылкаНаОбъект.КлиентЗака� �чик может быть пустым), тогда выборка будет пустой (это нужно обрабатывать.
Ну а так.. нужно сделать типа такого
Пока Выборка.Следующий() Цикл
Область.Параметры.ДатВыдач иПаспорта = Формат(Выборка.ДатВыдачиПа спорта,"ДФ=dd.MM.yyyy");
Область.Параметры.ПаспортС ерия = Выборка.Серия;
Область.Параметры.Номер= Выборка.Номер;
Область.Параметры.Выдан= Выборка.Выдан;
- Просмотр профиля
- Сообщения форума
- Личное сообщение
Re: Формат Даты в запросе
Сообщение от avm3110
Ну во-первых, у вас левое соединение, а значит "данные клиента" можете не найти и это нужно обрабатывать (в этом случае данные по паспорту будут NULL)
Во-вторых, у вас может не быть клиента (поле СсылкаНаОбъект.КлиентЗака� �чик может быть пустым), тогда выборка будет пустой (это нужно обрабатывать.