1с скд выразить как дата

Обновлено: 07.07.2024

Синтаксис:
Формат(Значение, ФорматнаяСтрока)

Пример:
Формат(РасходныеНакладные.СуммаДок, "ЧДЦ=2")

Синтаксис:
НачалоПериода(Дата, ТипПериода)

  • Дата (Дата). Заданная дата;
  • ТипПериода (Строка). Содержит одно из значений: Минута; Час; День; Неделя; Месяц; Квартал; Год; Декада; Полугодие.

Пример:
НачалоПериода(ДатаВремя(2002, 10, 12, 10, 15, 34), "Месяц")
Результат: 01.10.2002 0:00:00

Синтаксис:
КонецПериода(Дата, ТипПериода)

  • Дата (Дата). Заданная дата;
  • ТипПериода (Строка). Содержит одно из значений: Минута; Час; День; Неделя; Месяц; Квартал; Год; Декада; Полугодие.

Пример:
КонецПериода(ДатаВремя(2002, 10, 12, 10, 15, 34), "Неделя")
Результат: 13.10.2002 23:59:59

Синтаксис:
ДобавитьКДате(Выражение, ТипУвеличения, Величина)

  • Выражение (Дата). Исходная дата;
  • ТипУвеличения (Строка). Содержит одно из значений: Минута; Час; День; Неделя; Месяц; Квартал; Год; Декада; Полугодие.
  • Величина (Число). На сколько необходимо увеличить дату, дробная часть игнорируется.

Пример:
ДобавитьКДате(ДатаВремя(2002, 10, 12, 10, 15, 34), "Месяц", 1)
Результат: 12.11.2002 10:15:34

Синтаксис:
РазностьДат(Выражение1 , Выражение2 , ТипРазности)

  • Выражение1 (Дата). Вычитаемая дата;
  • Выражение2 (Дата). Исходная дата;
  • ТипРазности (Строка). Содержит одно из значений: Секунда; Минута; Час; День; Месяц; Квартал; Год.

Пример:
РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2002, 10, 12, 10, 15, 34),
ДАТАВРЕМЯ(2002, 10, 14, 9, 18, 06), "ДЕНЬ")
Результат: 2

Синтаксис:
Подстрока(Строка, Позиция, Длина)

  • Строка (Строка). Строка, из которой выделяют подстроку;
  • Позиция (Число). Позиция символа, с которого начинается выделяемая из строки подстрока;
  • Длина (Число). Длина выделяемой подстроки.

Пример:
ПОДСТРОКА(Контрагенты.Адрес, 1, 4)

  • Строка (Строка). Строка, длину которой определяют.
  • Дата (Дата). Дата, по которой определяют год.
  • Дата (Дата). Дата, по которой определяют квартал
  • Дата (Дата). Дата, по которой определяют месяц.
  • Дата (Дата). Дата, по которой определяют день года.
  • Дата (Дата). Дата, по которой определяют дня месяца.
  • Дата (Дата). Дата, по которой определяют номера недели.
  • Дата (Дата). Дата, по которой определяют день недели .
  • Дата (Дата). Дата, по которой определяют час суток.
  • Дата (Дата). Дата, по которой определяют минута часа.

Текущая дата(и время) в запросе 1С получается только в качестве параметра.

Получение дат

Как передать текущую дату в запрос?

Далее приводятся только тексты запросов.

Как получить начало текущего месяца?

Конец текущего года?

Как получить полдень текущей даты?

Добавим использование функции ДОБАВИТЬКДАТЕ(ДАТА,,ЧИСЛО)

Как получить дату без времени (0:00)

Как задать дату-константу в запросе 1С?

Возможно задать дату с точностью до секунды?

А до милисекунды?

Вычисления над датами

Разность в секундах,минутах,часах, днях, неделях получается при использовании функции РАЗНОСТЬДАТ(Дата1,Дата2,)

Как получить номер текущего месяца?

ВЫБРАТЬ
МЕСЯЦ(&ТекущаяДата) как ТекущийМесяц,
РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&ТекущаяДата,ГОД),КОНЕЦПЕРИОДА(&ТекущаяДата,МЕСЯЦ),МЕСЯЦ) как ПолныхПрошедшихМесяцев

Как получить день недели?

ВЫБРАТЬ
ДЕНЬНЕДЕЛИ(&ТекущаяДата) КАК НомерДня,
ВЫБОР
КОГДА ДЕНЬНЕДЕЛИ(&ТекущаяДата) = 1
ТОГДА "понедельник"
КОГДА ДЕНЬНЕДЕЛИ(&ТекущаяДата) = 2
ТОГДА "вторник"
КОГДА ДЕНЬНЕДЕЛИ(&ТекущаяДата) = 3
ТОГДА "среда"
КОГДА ДЕНЬНЕДЕЛИ(&ТекущаяДата) = 4
ТОГДА "четверг"
КОГДА ДЕНЬНЕДЕЛИ(&ТекущаяДата) = 5
ТОГДА "пятница"
КОГДА ДЕНЬНЕДЕЛИ(&ТекущаяДата) = 6
ТОГДА "суббота"
ИНАЧЕ "Воскресенье"
КОНЕЦ КАК НаименованиеДняНедели

Сколько осталось до Нового года?

ВЫБРАТЬ
&ТекущаяДата > ДАТАВРЕМЯ(2017, 1, 1) КАК НовыйГодНаступил,
ВЫБОР
КОГДА &ТекущаяДата > ДАТАВРЕМЯ(2017, 1, 1)
ТОГДА "Да, наступил"
ИНАЧЕ "Нет, не наступил"
КОНЕЦ КАК Ответ,
РАЗНОСТЬДАТ(&ТекущаяДата,ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(2017, 1, 1),СЕКУНДА,-1),ДЕНЬ) как ОсталосьДней,
РАЗНОСТЬДАТ(&ТекущаяДата,КОНЕЦПЕРИОДА(&ТекущаяДата,ДЕНЬ),ЧАС) как ОсталосьЧасов,
РАЗНОСТЬДАТ(&ТекущаяДата,КОНЕЦПЕРИОДА(&ТекущаяДата,ЧАС),Минута) как ОсталосьМинут,
РАЗНОСТЬДАТ(&ТекущаяДата,КОНЕЦПЕРИОДА(&ТекущаяДата,Минута),Секунда) как ОсталосьСекунд

primer-rascheta-vremeni-do-novogo-goda
Что еще следует знать про дату в запросах?

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

  • для среза последних значений в регистре сведений в качестве момента на которое берется значение. Если периодичность регистра не совпадает с переданным параметром, система обрежет лишние (секунда, дни в зависимости от), округления не происходит
  • для остатков регистра накопления в качестве дата остатка
  • для оборотов регистров бухгалтерии или регистра накопления (НачалоПериода,КонецПериода)
  • других виртуальных таблиц

Допустимо задание дат-констант и использование параметров, также обработка их выше приведенными функциями.

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

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

Момент времени документа не является датой, он сортирует более глубже, чем дата документа, т.е. при наличии документов в одну секунду времени, сортировка по дате производится в недопустимом порядке: например в виде представления. Используйте для этого момент времени.

Внешнее представление даты определяется представлением операционной системы, управлять из запроса, а также приводить в строковое представление в классическом запросе невозможно в отличии от СКД, где возможна пост-обработка и условное оформление.

Допускается применение функции МАКСИМУМ(),МИНИМУМ() к дата в запросе, как в группировке так и в итогах запроса.

Преобразовать строку в дату в запросе

Специальных функций нет. но возможно преобразование через функцию ПОДСТРОКА и конструкцию ВЫБОР КОГДА

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Расчеты.Параметр,
Расчеты.ВерныйПараметр,
ВЫБОР
КОГДА Расчеты.символ1 = "2"
ТОГДА 2
КОГДА Расчеты.символ1 = "1"
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ * 1000 + ВЫБОР
КОГДА Расчеты.символ2 = "0"
ТОГДА 0
КОГДА Расчеты.символ2 = "1"
ТОГДА 1
КОГДА Расчеты.символ2 = "2"
ТОГДА 2
КОГДА Расчеты.символ2 = "3"
ТОГДА 3
КОГДА Расчеты.символ2 = "4"
ТОГДА 4
КОГДА Расчеты.символ2 = "5"
ТОГДА 5
КОГДА Расчеты.символ2 = "6"
ТОГДА 6
КОГДА Расчеты.символ2 = "7"
ТОГДА 7
КОГДА Расчеты.символ2 = "8"
ТОГДА 8
ИНАЧЕ 9
КОНЕЦ * 100 + ВЫБОР
КОГДА Расчеты.символ3 = "0"
ТОГДА 0
КОГДА Расчеты.символ3 = "1"
ТОГДА 1
КОГДА Расчеты.символ3 = "2"
ТОГДА 2
КОГДА Расчеты.символ3 = "3"
ТОГДА 3
КОГДА Расчеты.символ3 = "4"
ТОГДА 4
КОГДА Расчеты.символ3 = "5"
ТОГДА 5
КОГДА Расчеты.символ3 = "6"
ТОГДА 6
КОГДА Расчеты.символ3 = "7"
ТОГДА 7
КОГДА Расчеты.символ3 = "8"
ТОГДА 8
ИНАЧЕ 9
КОНЕЦ * 10 + ВЫБОР
КОГДА Расчеты.символ4 = "0"
ТОГДА 0
КОГДА Расчеты.символ4 = "1"
ТОГДА 1
КОГДА Расчеты.символ4 = "2"
ТОГДА 2
КОГДА Расчеты.символ4 = "3"
ТОГДА 3
КОГДА Расчеты.символ4 = "4"
ТОГДА 4
КОГДА Расчеты.символ4 = "5"
ТОГДА 5
КОГДА Расчеты.символ4 = "6"
ТОГДА 6
КОГДА Расчеты.символ4 = "7"
ТОГДА 7
КОГДА Расчеты.символ4 = "8"
ТОГДА 8
ИНАЧЕ 9
КОНЕЦ КАК НомерГода
ПОМЕСТИТЬ Цифры
ИЗ
Расчеты КАК Расчеты
;

Реклама – самая интересная и самая трудная форма литературы.

— Олдос Хаксли.

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

Выражения используются в следующих подсистемах:

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

Литералы

В выражении могут присутствовать литералы. Возможны литералы следующих типов:

Строка

Строковый литерал записывается в символах «”», например:

При необходимости использования внутри строкового литерала символа «”», следует использовать два таких символов.

Число

Число записывается без пробелов, в десятичном формате. Дробная часть отделяется при помощи символа «.». Например:

Литерал типа дата записывается при помощи ключевого литерала ДАТАВРЕМЯ (DATETIME). После данного ключевого слова, в скобках, через запятую перечисляются год, месяц, день, часы, минуты, секунды. Указание времени не обязательно.

Булево

Булевы значения могут быть записаны при помощи литералов Истина (True), Ложь (False).

Значение

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

Операции над числами

Унарный –

Данная операция предназначена для изменения знака числа на обратный. Например:

Унарный +

Данная операция не выполняет над числом никаких действий. Например:

Бинарный -

Данная операция предназначена для вычисления разности двух чисел. Например:

Бинарный +

Данная операция предназначена для вычисления суммы двух чисел. Например:

Произведение

Данная операция предназначена для вычисления произведения двух чисел. Например:

Деление

Данная операция предназначена для получения результата деления одного операнда на другой. Например:

Остаток от деления

Данная операция предназначена для получения остатка от деления одного операнда на другой. Например:

Операции над строками

Конкатенация (Бинарный +)

Данная операция предназначена для конкатенации двух строк. Например:

Подобно

Данная операция проверяет соответствие строки переданному шаблону.

Значением оператора ПОДОБНО является ИСТИНА, если значение <Выражения> удовлетворяет шаблону, и ЛОЖЬ в противном случае.

Следующие символы в <Строке_шаблона> имеют смысл, отличный от просто очередного символа строки:

  • % - процент: последовательность, содержащая ноль и более произвольных символов;
  • _ - подчеркивание: один произвольный символ;
  • […] - один или несколько символов в квадратных скобках: один символ, любой из перечисленных внутри квадратных скобок. В перечислении могут встречаться диапазоны, например a-z, означающие произвольный символ, входящий в диапазон, включая концы диапазона;
  • [^…] - в квадратных скобках значок отрицания, за которым следует один или несколько символов: любой символ, кроме тех, которые перечислены следом за значком отрицания;

Любой другой символ означает сам себя и не несет никакой дополнительной нагрузки. Если в качестве самого себя необходимо записать один из перечисленных символов, то ему должен предшествовать <Спецсимвол>, указанный после ключевого слова СПЕЦСИМВОЛ (ESCAPE).

означает подстроку, состоящую из последовательности символов: буквы А; буквы Б; буквы В; одной цифры; одной из букв а, б, в или г; символа подчеркивания; буквы а; буквы б; буквы в. Причем эта последовательность может располагаться, начиная с произвольной позиции в строке.

Операции сравнения

Равно

Данная операция предназначена для сравнения двух операндов на равенство. Например:

Не равно

Данная операция предназначена для сравнения двух операндов на неравенство. Например:

Меньше

Данная операция предназначена для проверки того, что первый операнд меньше второго. Например:

Больше

Данная операция предназначена для проверки того, что первый операнд больше второго. Например:

Меньше или равно

Данная операция предназначена для проверки того, что первый операнд меньше либо равен второму. Например:

Больше или равно

Данная операция предназначена для проверки того, что первый операнд больше либо равен второму. Например:

Операция В

Данная операция осуществляет проверку наличия значения в переданном списке значений. Результатом операции будет Истина, в случае, если значение найдено, или Ложь - в противном случае. Например:

Операция проверки наличия значения в наборе данных

Операция осуществляет проверку наличия значения в указанном наборе данных. Набор данных для проверки должен содержать одно поле. Например:

Операция проверки значения на NULL

Данная операция возвращает значение Истина в случае, если значение является значением NULL. Например:

Операция проверки значения на неравенство NULL

Данная операция возвращает значение Истина в случае, если значение не является значением NULL. Например:

Логические операции

Логические операции принимают в качестве операндов выражения, имеющие тип Булево.

Операция НЕ

Операция НЕ возвращает значение Истина в случае, если ее операнд имеет значение Ложь, и значение Ложь в случае, если ее операнд имеет значение Истина. Например:

Операция И

Операция И возвращает значение Истина в случае, если оба операнда имеют значение Истина, и значение Ложь в случае, если один из операндов имеет значение Ложь. Например:

Операция ИЛИ

Операция ИЛИ возвращает значение Истина в случае, если один из операндов имеет значение Истина, и Ложь в случае, если оба операнда имеют значение Ложь. Например:

Агрегатные функции

Агрегатные функции осуществляют некоторое действие над набором данных.

Сумма

Агрегатная функция Сумма рассчитывает сумму значений выражений, переданных ей в качестве аргумента для всех детальных записей. Например:

Количество

Функция Количество рассчитывает количество значений отличных от значения NULL. Например:

Количество различных

Эта функция рассчитывает количество различных значений. Например:

Максимум

Функция получает максимальное значение. Например:

Минимум

Функция получает минимальное значение. Например:

Среднее

Функция получает среднее значение для значений, отличных от NULL. Например:

Другие операции

Операция ВЫБОР

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

Правила сравнения двух значений

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

  • NULL (самый низший);
  • Булево;
  • Число;
  • Дата;
  • Строка;
  • Ссылочные типы

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

Если типы данных совпадают, то производится сравнение значений по следующим правилам:

  • у типа Булево значение ИСТИНА больше значения ЛОЖЬ;
  • у типа Число обычные правила сравнения для чисел;
  • у типа Дата более ранние даты меньше более поздних;
  • у типа Строка - сравнения строк в соответствии с установленными национальными особенностями базы данных;
  • ссылочные типы сравниваются на основе своих значений (номера записи и т. п.).

Работа со значением NULL

Любая операция, в которой значение одного из операндов NULL, будет давать результат NULL.

  • операция И будут возвращать NULL только в случае, если ни один из операндов не имеет значение Ложь;
  • операция ИЛИ будет возвращать NULL только в случае, если ни один из операндов не имеет значение Истина.

Приоритеты операций

Операции имеют следующие приоритеты (первая строка имеет низший приоритет):

Функции языка выражений системы компоновки данных

Вычислить

Функция Вычислить предназначена для вычисления выражения в контексте некоторой группировки. Функция имеет следующие параметры:

  • Выражение. Тип Строка. Содержит вычисляемое выражение;
  • Группировка. Тип Строка. Содержит имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем. Например:

В данном примере в результате получится отношение суммы по полю "Продажи.СуммаОборот" записи группировки к сумме того же поля во всей компоновке.

Уровень

Функция предназначена для получения текущего уровня записи.

НомерПоПорядку

Получить следующий порядковый номер.

НомерПоПорядкуВГруппировке

Возвращает следующий порядковый номер в текущей группировке.

Формат

Получить отформатированную строку переданного значения.

Форматная строка задается в соответствии с форматной строкой 1С:Предприятие.

НачалоПериода

Функция предназначена для выделения определенной даты из заданной даты.

  • Дата. Тип Дата. Заданная дата;
  • Тип периода. Тип Строка. Содержит одно из значений:
    • Минута;
    • Час;
    • День;
    • Неделя;
    • Месяц;
    • Квартал;
    • Год;
    • Декада;
    • Полугодие.

    КонецПериода

    Функция предназначена для выделения определенной даты из заданной даты.

    • Дата. Тип Дата. Заданная дата;
    • Тип периода. Тип Строка. Содержит одно из значений:
      • Минута;
      • Час;
      • День;
      • Неделя;
      • Месяц;
      • Квартал;
      • Год;
      • Декада;
      • Полугодие.

      ДобавитьКДате

      Функция предназначена для прибавления к дате некоторой величины.

      • Выражение. Тип Дата. Исходная дата;
      • Тип увеличения. Тип Строка. Содержит одно из значений:
        • Минута;
        • Час;
        • День;
        • Неделя;
        • Месяц;
        • Квартал;
        • Год;
        • Декада;
        • Полугодие.

        РазностьДат

        Функция предназначена для получения разницы между двумя датами.

        • Выражение. Тип Дата. Исходная дата;
        • Выражение. Тип Дата. Вычитаемая дата;
        • Тип разности. Тип Строка. Содержит одно из значений:
          • Секунда;
          • Минута;
          • Час;
          • День;
          • Месяц;
          • Квартал;
          • Год.

          Подстрока

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

          • Строка. Тип Строка. Строка, из которой выделяют подстроку;
          • Позиция. Тип Число. Позиция символа, с которого начинается выделяемая из строки подстрока;
          • Длина. Тип Число. Длина выделяемой подстроки.

          ДлинаСтроки

          Функция предназначена для определения длины строки.

          • Строка. Тип Строка. Строка, длину которой определяют.

          Данная функция предназначена для выделения года из значения типа Дата.

          • Дата. Тип Дата. Дата, по которой определяют год.

          Квартал

          Данная функция предназначена для выделения номера квартала из значения типа Дата. Номер квартала в норме находится в диапазоне от 1 до 4.

          • Дата. Тип Дата. Дата, по которой определяют квартал

          Месяц

          Данная функция предназначена для выделения номера месяца из значения типа Дата. Номер месяца в норме находится в диапа-зоне от 1 до 12.

          • Дата. Тип Дата. Дата, по которой определяют месяц.

          ДеньГода

          Данная функция предназначена для получения дня года из значения типа Дата. День года в норме находится в диапазоне от 1 до 365(366).

          • Дата. Тип Дата. Дата, по которой определяют день года.

          Данная функция предназначена для получения дня месяца из значения типа Дата. День месяца в норме находится в диапазоне от 1 до 31.

          • Дата. Тип Дата. Дата, по которой определяют дня месяца.

          Неделя

          Данная функция предназначена для получения номера недели года из значения типа Дата. Недели года нумеруются, начиная с 1.

          • Дата. Тип Дата. Дата, по которой определяют номера недели.

          ДеньНедели

          Данная функция предназначена для получения дня недели из значения типа Дата. День недели в норме находится в диапазоне от 1 (понедельник) до 7(воскресенье).

          • Дата. Тип Дата. Дата, по которой определяют день недели .

          Данная функция предназначена для получения часа суток из значения типа Дата. Час суток находится в диапазоне от 0 до 23.

          • Дата. Тип Дата. Дата, по которой определяют час суток.

          Минута

          Данная функция предназначена для получения минуты часа из значения типа Дата. Минута часа находится в диапазоне от 0 до 59.

          • Дата. Тип Дата. Дата, по которой определяют минута часа.

          Секунда

          Данная функция предназначена для получения секунды минуты из значения типа Дата. Секунда минуты находится в диапазоне от 0 до 59.

          • Дата. Тип Дата. Дата, по которой определяют секунды минуты.

          Выразить

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

          • Преобразуемое выражение;
          • Указание типа. Тип Строка. Содержит строку типа. Например, "Число", "Строка" и т.п. Кроме примитивных типов данная строка может содержать имя таблицы. В этом случае будет осуществлена попытка выразить к ссылке на указанную таблицу.

          ЕстьNull

          Данная функция возвращает значение второго параметра в случае, если значение первого параметра NULL.

          В противном случае будет возвращено значение первого параметра.

          Функции общих модулей

          Выражение механизма компоновки данных может содержать вызовы функций глобальных общих модулей конфигурации. Никакого дополнительно синтаксиса для вызова таких функций не требуется.

          В данном примере будет осуществлен вызов функции "СокращенноеНаименование" из общего модуля конфигурации.

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

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

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

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



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


          Для того чтобы введенные значения интерпретировалось в отчете как начало и конец дня следует в запросе использовать функции НачалоПериода() и КонецПериода() .

          ВЫБРАТЬ
          ПродажиОбороты.Контрагент,
          ПродажиОбороты.Номенклатура,
          ПродажиОбороты.КоличествоОборот,
          ПродажиОбороты.СуммаОборот
          ИЗ
          РегистрНакопления.Продажи.Обороты(
          <(НАЧАЛОПЕРИОДА(&ПериодНачало, ДЕНЬ))>,
          <(КОНЕЦПЕРИОДА(&ПериодКонец, ДЕНЬ))>, , ) КАК ПродажиОбороты

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

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

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

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


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

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


          Для показанного примера в качестве значения параметра ПериодНачала будет использоваться дата 01.01.2019 , а в качестве значения параметра ПериодКонец будет использоваться дата 31.01.2019 .

          Реальные значения дат для стандартного периода определяются при исполнении отчета. Таким образом, если выполнять отчет с установленным периодом Этот месяц в январе 2020-го года, то отчет будет исполняться с 01.01.2020 по 31.01.2020 , а если выполнять в феврале 2020-го года, то с 01.02.2020 по 29.02.2020

          Заметим, что даты начала и конца стандартного периода также содержат и время. Причем, начальная дата имеет время 00:00:00 , а конечная дата 23:59:59 , таким образом, в запросе не обязательно использовать функции НАЧАЛОПЕРИОДА и КОНЕЦПЕРИОДА .

          Читайте также: