У документа есть реквизиты ДатаНачала и ДатаОкончания. Как сделать так, чтобы брались только документы, которые попадают в этот период? и чтобы можно было устанавливать ДатаНачала и ДатаОкончания. Сделать так, как с датой документа:

```1c
    Акция.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ) И КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ)
```

```1c
    ВЫБРАТЬ
    АкционныеНачисления.Акция.ДатаНачала,
    АкционныеНачисления.Акция.ДатаОкончания,
    АкционныеНачисления.Акция.Дата,
    АкционныеНачисления.Период
    ИЗ
    РегистрСведений.АкционныеНачисления КАК АкционныеНачисления
```
---
```1c
    НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ) >= НАЧАЛОПЕРИОДА(АкционныеНачисления.Акция.ДатаНачала, ДЕНЬ)
    И НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ) <= КОНЕЦПЕРИОДА(АкционныеНачисления.Акция.ДатаОкончания, ДЕНЬ)
```
---
условие поставь ГДЕ РегистрСведений.Период между &ДатаНачала и &ДатаОкончания
---
так уже пробовал. так получается. если сделать так и например у документа1 дата начала 05.11.2019 и дата окончания 10.11.2019, то этот документ1 не показывает. Точнее говоря, если по документу1 не было расхода, то не будет показывать этот документ
---
Нужно сначала отобрать все записи входящие по условию периода переданного как параметр и поместить во временную таблицу, а потом уже работать с этими записями

```1c
    ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ДействиеСкидокНаценокСрезПоследних.Магазин КАК Магазин,
    ДействиеСкидокНаценокСрезПоследних.Период КАК ДатаНачалаСкидки,
    ДействиеСкидокНаценокСрезПоследних.ДатаОкончания КАК ДатаОкончанияСкидки,
    ДействиеСкидокНаценокСрезПоследних.СкидкаНаценка,
    СкидкиНаценки.СегментБазыРасчетаСкидки,
    СкидкиНаценки.ТипПреимуществаПоСкидке,
    СкидкиНаценки.ЗначениеСкидкиНаценки
    ПОМЕСТИТЬ ВтСкидкиНаценки
    ИЗ
    РегистрСведений.ДействиеСкидокНаценок.СрезПоследних(
    ,
    НЕ СкидкаНаценка.НеАктивна
    И (&Период МЕЖДУ НАЧАЛОПЕРИОДА(Период, ДЕНЬ) И КОНЕЦПЕРИОДА(ДатаОкончания, ДЕНЬ))) КАК ДействиеСкидокНаценокСрезПоследних
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СкидкиНаценки КАК СкидкиНаценки
    ПО ДействиеСкидокНаценокСрезПоследних.СкидкаНаценка = СкидкиНаценки.Ссылка
```
---
почему периода -это параметр?
и что нужно ставить туда?
туда например поставил 05.11.2019 и ничего не выводит отчет
---
В моем примере весь отчет генерирует цены для ценников, соответственно если мне нужно узнать какие акции маркетологи запланировали на 07.11.2019 то я 06.11.2019 ставлю значение в реквизите формы 07.11.2019 и передаю его в параметр "Период". Соответственно: вещь 06.11.2019 стоит 10, а 07.11.2019 стоит 7. И я могу 06.11.2019 распечатать ценники с ценами актуальными на 07.11.2019 и расклеить их в допустимое время. Почему не отрабатывает у Вас не могу сказать, сбросьте обработку или отчет - посмотрю
---
У меня такого регистра нет, но я думаю Вы сможете указать верные данные
---
почему вы взяли АкционныеНачисления.Акция.Дата, ведь акция дата документа может вообще не совпадать, например АкционныеНачисления.Акция.Дата=01.11.2019, а ДатаНачала=05.11.2019. И тогда в отчет попадут документы акций,которые еще не действуют
И что дает параметр &ТекущийПериод?
---
например в ТекущийПериод 05.11.2019 и мне показывает документ, у которого дата 31.10.2019, ДатаНачала 11.11.2019, а ДатаОкончания 15.11.2019
---
Еще раз - у меня нет Вашего регистра поэтому я не знаю, что является датой начала и датой окончания. Вставьте, пожалуйста те значения между которыми должна находится дата которую Вы передадите в качестве параметра Текущий период. Заполнение текущего периода сейчас осуществляется на вкладке параметры.
---
нужно сделать так,чтобы дата отчета была больше или равно даты начала акции и меньше или равно даты окончания акции. И сделал так

```1c
    НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ) >= НАЧАЛОПЕРИОДА(АкционныеНачисления.Акция.ДатаНачала, ДЕНЬ)
    И НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ) <= КОНЕЦПЕРИОДА(АкционныеНачисления.Акция.ДатаОкончания, ДЕНЬ)
```

эти условия вернут то, что нужно ,да?
---
Да, можно НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ) МЕЖДУ НАЧАЛОПЕРИОДА(АкционныеНачисления.Акция.ДатаНачала, ДЕНЬ)
    И КОНЕЦПЕРИОДА(АкционныеНачисления.Акция.ДатаОкончания, ДЕНЬ)
---
ну тогда делай где АкционныеНачисления.Акция.ДатаНачала >= &ДатаНачала и АкционныеНачисления.Акция.ДатаОкончания <= &ДатаОкончания
---
так тоже пробовал, ничего не показывает так
---
а у акции эти даты точно указаны? в принципе должно отбирать.
а вообще не понятно, что нужно отбирать.
есть документ, которым устанавливается акция. в нем указан период действия этой акции.
но у самого документа дата не обязательно будет попадать в заданный период.
вопрос, зачем отбирать документы, открывающие акцию, по периоду акции?
---
да, даты всегда указаны. в РС попадают только те акции, по которым был расход. то есть если акция была активирована, но пока что нет расхода, то эта акция не будет показана, а нужно чтобы попали все акции, которые входят в промежуток ДатаНачала и ДатаОкончания
---
(8)
у документа ,например, может быть дата 01.11.2019. датаначала 05.11.2019 , а датаокончания 10.11.2019. То есть если в отчете поставить период 06.11.2019 - начало и 07.11.20190конец, то этот документ должен показываться в отчете
---
то этот документ должен показываться в отчете
не должен. в период попадет 01.11.2019.
а вот если по измерению датаначала - датаокончания... а это измерения?
или вы по реквизиту ищете в регистре? тогда не плохо бы считать набор записей и в нем искать по реквизитам.
---
ДатаНачала и ДатаОкончания- это реквизиты документа
---
что за конфигурация? розница?
---
ут 10.3
---
так эти даты в регистре измерения, ресурсы или реквизиты?
---
реквизиты документа
---
АкционныеНачисления.Акция.ДатаНачала >= НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ) И АкционныеНачисления.Акция.ДатаОкончания <= КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ)

Это для строгого вхождения если дата начала акции и окончания строго лежат в выбранном периоде и не заходят за него

((АкционныеНачисления.Акция.ДатаНачала МЕЖДУ НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ) И КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ) ) ИЛИ (АкционныеНачисления.Акция.ДатаОкончания МЕЖДУ НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ) И КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ) ) )

Это условие если акция начинается или заканчивается в этом периоде
---
второй вариант не подойдет, если дата начала акции меньше даты начала периода отбора и дата окончания акции больше даты окончания периода отбора
---
да, второй вариант тоже не подходит. Поставил начала периода -05.11.2019 и конец периода-05.11.2019 и запрос ничего не выводит
---
АкционныеНачисления.Акция.ДатаНачала <= КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ) И АкционныеНачисления.Акция.ДатаОкончания >= НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ)
---
ничего не выводит так
---
Есть две даты - это период акции. Есть какой-то выбранный период для отображения - это тоже две даты. В итоге у нас тут несколько вариантов:
1. Дата начала в документе попадает в выбранный период и дата окончания документа попадает в выбранный период. Тогда, ежу понятно, код запроса такой:

```1c
    ГДЕ &ДатаНачалаВыбранногоПериода МЕЖДУ Документ.ДатаНачала И Документ.ДатаОкончания И &ДатаОкончанияВыбранногоПериода МЕЖДУ Документ.ДатаНачала И Документ.ДатаОкончания
```

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