Дырой день, не могу сообразить нужно в запрос

```1c
    НАЧАЛОПЕРИОДА(Набор.Ссылка.Дата, ДЕНЬ) = ДАТАВРЕМЯ(&НачалоПериода)

    Запрос.УстановитьПараметр("НачалоПериода", ТекущаяДата());
```

передать ткущею дату через параметр, но выдаёт ошибку не верный формат.

Если прописать в ручную так

```1c
    Набор.Ссылка.Дата >= ДАТАВРЕМЯ(2021,7,1)
```

то всё работает. Как привести текущую дату к такому формату ?
---
просто:

```1c
    Набор.Ссылка.Дата >= &НачалоПериода
```
---
не надо использовать ДАТАВРЕМЯ. Передаваемы параметр уже имеет тип ДатаВремя.
Вместо

```1c
    Набор.Ссылка.Дата >= ДАТАВРЕМЯ(&НачалоПериода)
```

Нужно

```1c
    Набор.Ссылка.Дата >= &НачалоПериода
```
---
не важно какая конструкция слева. Вы пытаетесть тип ДатаВремя привести к ДатаВремя. Вот в этом и ошибка.

```1c
    НАЧАЛОПЕРИОДА(Набор.Ссылка.Дата, ДЕНЬ) = &НачалоПериода
```
---
что значит "дата не в таком формате"?
НАЧАЛОПЕРИОДА(Набор.Ссылка.Дата, ДЕНЬ) - это тип Дата.
&НачалоПериода - это тип Дата.
И тут уже не важно в каком она формате будет представляться. Оперировать она будет между собой как тип Дата.
То что "всё ровно не отрабатывает" это не из-за формата.
А "всё ровно не отрабатывает" из-за того, что логика не правильная.
Этот код:

```1c
    НАЧАЛОПЕРИОДА(Набор.Ссылка.Дата, ДЕНЬ) = &НачалоПериода

    Запрос.УстановитьПараметр("НачалоПериода", ТекущаяДата());
```

Будет соответствовать только единственному текущему времени - ровно в полночь. Любое другое время будет не соответствовать сравнение.
Как варианты:
1. Привести значение подставляемое в параметр к началу дня.

```1c
    Запрос.УстановитьПараметр("НачалоПериода", НачалоДня(ТекущаяДата()));
```

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

```1c
    НАЧАЛОПЕРИОДА(Набор.Ссылка.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ)
```
---
но почему с этой конструкцией
ДАТАВРЕМЯ(2021,8,17)
работает, а дату подставишь нет ?
Потому что конструкция ДАТАВРЕМЯ(2021,8,17) это и есть начало дня. То не текущей даты, а 17 августа 2021 года. И значит данные есть на эту дату. А на текущую дату нет, если конечно тоже к началу дня привели.
Если нужно подставить не текущую дату, а конкретную, то можно так:

```1c
    Запрос.УстановитьПараметр("НачалоПериода", Дата(2021,8,17));
```
---
```1c
    Набор.Ссылка.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ) И КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ)
```
---
просто:

```1c
    Набор.Ссылка.Дата >= &НачалоПериода
```
---
Не понял вас
Неверные параметры "ДАТАВРЕМЯ"
НАЧАЛОПЕРИОДА(НаправлениеНаИсследованиеНаборИсследований.Ссылка.Дата, ДЕНЬ) = <<?>>ДАТАВРЕМЯ(&НачалоПериода)
---
не надо использовать ДАТАВРЕМЯ. Передаваемы параметр уже имеет тип ДатаВремя.
Вместо

```1c
    Набор.Ссылка.Дата >= ДАТАВРЕМЯ(&НачалоПериода)
```

Нужно

```1c
    Набор.Ссылка.Дата >= &НачалоПериода
```
---
)Не верно написал вот в такой конструкции НАЧАЛОПЕРИОДА(Набор.Ссылка.Дата, ДЕНЬ) = ДАТАВРЕМЯ(&НачалоПериода)
---
не важно какая конструкция слева. Вы пытаетесть тип ДатаВремя привести к ДатаВремя. Вот в этом и ошибка.

```1c
    НАЧАЛОПЕРИОДА(Набор.Ссылка.Дата, ДЕНЬ) = &НачалоПериода
```
---
) Спасибо заработало параметр не раскоментил.
(6)
---
если использовано установление параметра как:
Запрос.УстановитьПараметр("НачалоПериода", ТекущаяДата());

То ошибки быть не должно.
---
Ошибку не выдаёт, но всё ровно не отрабатывает по той причине, что дата не в таком формате 2021,7,1 может есть способ привести текущую дату к этому формату я найти не могу ?
---
что значит "дата не в таком формате"?
НАЧАЛОПЕРИОДА(Набор.Ссылка.Дата, ДЕНЬ) - это тип Дата.
&НачалоПериода - это тип Дата.
И тут уже не важно в каком она формате будет представляться. Оперировать она будет между собой как тип Дата.
То что "всё ровно не отрабатывает" это не из-за формата.
А "всё ровно не отрабатывает" из-за того, что логика не правильная.
Этот код:

```1c
    НАЧАЛОПЕРИОДА(Набор.Ссылка.Дата, ДЕНЬ) = &НачалоПериода

    Запрос.УстановитьПараметр("НачалоПериода", ТекущаяДата());
```

Будет соответствовать только единственному текущему времени - ровно в полночь. Любое другое время будет не соответствовать сравнение.
Как варианты:
1. Привести значение подставляемое в параметр к началу дня.

```1c
    Запрос.УстановитьПараметр("НачалоПериода", НачалоДня(ТекущаяДата()));
```

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

```1c
    НАЧАЛОПЕРИОДА(Набор.Ссылка.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ)
```
---
Вы правы, но почему с этой конструкцией ДАТАВРЕМЯ(2021,8,17) работает, а дату подставишь нет ?
Я придумал костыль
```1c
    НачалоПериода = Формат(ТекущаяДата(), "ДФ=гггг") + "," + Формат(ТекущаяДата(), "ДФ=М") + "," + Формат(ТекущаяДата(), "ДФ=д");
    Запрос1.УстановитьПараметр("НачалоПериода", Строка(НачалоПериода));
```
 Подставил через параметр посмотрел формат соответствует, но так же не работает видимо ДАТАВРЕМЯ параметры читать не умеет.
---
но почему с этой конструкцией
ДАТАВРЕМЯ(2021,8,17)
работает, а дату подставишь нет ?
Потому что конструкция ДАТАВРЕМЯ(2021,8,17) это и есть начало дня. То не текущей даты, а 17 августа 2021 года. И значит данные есть на эту дату. А на текущую дату нет, если конечно тоже к началу дня привели.
Если нужно подставить не текущую дату, а конкретную, то можно так:

```1c
    Запрос.УстановитьПараметр("НачалоПериода", Дата(2021,8,17));
```
---
Вот с этой НачалоДня(ТекущаяДата())) конструкцией заработало )
---
Добрый день не подскажете в случае этого вопроса как можно задать выбор за вчерашний и сегодняшний день ?
Я делаю так ошибку в консоль запросов не выдаёт, но и результата нет.

```1c
    НАЧАЛОПЕРИОДА(Набор.Ссылка.Дата, ДЕНЬ) = &НачалоПериода
    И
    КОНЕЦПЕРИОДА(Набор.Ссылка.Дата, ДЕНЬ) = &КонецПериода
```
---
```1c
    Набор.Ссылка.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ) И КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ)
```
---
Как привести текущую дату к такому формату ? Ну, если тупо в лоб, не пытаясь исправить кривой запрос, то:

```1c
    Набор.Ссылка.Дата >= ДАТАВРЕМЯ(Год(ТекущаяДата()),Месяц(ТекущаяДата()),День(ТекущаяДата()));
```
---
Не работает
Неверные параметры "ДАТАВРЕМЯ"
НАЧАЛОПЕРИОДА(Набор.Ссылка.Дата, ДЕНЬ) = ДАТАВРЕМЯ(<<?>>Год(&Год),Месяц(&Месяц),День(&День))