1. user1202776 06.11.19 09:04 Сейчас в теме

Установить реквизиты документа ДатаНачала и ДатаОкончания в качестве периода

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



ВЫБРАТЬ
	АкционныеНачисления.Акция.ДатаНачала,
	АкционныеНачисления.Акция.ДатаОкончания,
	АкционныеНачисления.Акция.Дата,
	АкционныеНачисления.Период
ИЗ
	РегистрСведений.АкционныеНачисления КАК АкционныеНачисления
Найденные решения
31. user1202776 06.11.19 12:26 Сейчас в теме
НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ) >= НАЧАЛОПЕРИОДА(АкционныеНачисления.Акция.ДатаНачала, ДЕНЬ)
    И НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ) <= КОНЕЦПЕРИОДА(АкционныеНачисления.Акция.ДатаОкончания, ДЕНЬ)
Остальные ответы
Избранное Подписка Сортировка: Древо
2. PhoenixAOD 57 06.11.19 09:08 Сейчас в теме
(1)условие поставь ГДЕ РегистрСведений.Период между &ДатаНачала и &ДатаОкончания
3. user1202776 06.11.19 09:21 Сейчас в теме
(2)так уже пробовал. так получается. если сделать так и например у документа1 дата начала 05.11.2019 и дата окончания 10.11.2019, то этот документ1 не показывает. Точнее говоря, если по документу1 не было расхода, то не будет показывать этот документ
12. user995537 19 06.11.19 10:34 Сейчас в теме
(1)Нужно сначала отобрать все записи входящие по условию периода переданного как параметр и поместить во временную таблицу, а потом уже работать с этими записями
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ДействиеСкидокНаценокСрезПоследних.Магазин КАК Магазин,
	ДействиеСкидокНаценокСрезПоследних.Период КАК ДатаНачалаСкидки,
	ДействиеСкидокНаценокСрезПоследних.ДатаОкончания КАК ДатаОкончанияСкидки,
	ДействиеСкидокНаценокСрезПоследних.СкидкаНаценка,
	СкидкиНаценки.СегментБазыРасчетаСкидки,
	СкидкиНаценки.ТипПреимуществаПоСкидке,
	СкидкиНаценки.ЗначениеСкидкиНаценки
ПОМЕСТИТЬ ВтСкидкиНаценки
ИЗ
	РегистрСведений.ДействиеСкидокНаценок.СрезПоследних(
			,
			НЕ СкидкаНаценка.НеАктивна
				И (&Период МЕЖДУ НАЧАЛОПЕРИОДА(Период, ДЕНЬ) И КОНЕЦПЕРИОДА(ДатаОкончания, ДЕНЬ))) КАК ДействиеСкидокНаценокСрезПоследних
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СкидкиНаценки КАК СкидкиНаценки
		ПО ДействиеСкидокНаценокСрезПоследних.СкидкаНаценка = СкидкиНаценки.Ссылка
Показать
user1202776; +1 Ответить
17. user1202776 06.11.19 10:47 Сейчас в теме
(12) почему периода -это параметр?
и что нужно ставить туда?
туда например поставил 05.11.2019 и ничего не выводит отчет
21. user995537 19 06.11.19 10:54 Сейчас в теме
(17)В моем примере весь отчет генерирует цены для ценников, соответственно если мне нужно узнать какие акции маркетологи запланировали на 07.11.2019 то я 06.11.2019 ставлю значение в реквизите формы 07.11.2019 и передаю его в параметр "Период". Соответственно: вещь 06.11.2019 стоит 10, а 07.11.2019 стоит 7. И я могу 06.11.2019 распечатать ценники с ценами актуальными на 07.11.2019 и расклеить их в допустимое время. Почему не отрабатывает у Вас не могу сказать, сбросьте обработку или отчет - посмотрю
22. user1202776 06.11.19 10:58 Сейчас в теме
24. user995537 19 06.11.19 11:05 Сейчас в теме
(22)У меня такого регистра нет, но я думаю Вы сможете указать верные данные
Прикрепленные файлы:
Контроль акционных ограничений11.erf
25. user1202776 06.11.19 11:15 Сейчас в теме
(24)почему вы взяли АкционныеНачисления.Акция.Дата, ведь акция дата документа может вообще не совпадать, например АкционныеНачисления.Акция.Дата=01.11.2019, а ДатаНачала=05.11.2019. И тогда в отчет попадут документы акций,которые еще не действуют
И что дает параметр &ТекущийПериод?
27. user1202776 06.11.19 11:22 Сейчас в теме
(24)например в ТекущийПериод 05.11.2019 и мне показывает документ, у которого дата 31.10.2019, ДатаНачала 11.11.2019, а ДатаОкончания 15.11.2019
28. user995537 19 06.11.19 11:58 Сейчас в теме
(27)Еще раз - у меня нет Вашего регистра поэтому я не знаю, что является датой начала и датой окончания. Вставьте, пожалуйста те значения между которыми должна находится дата которую Вы передадите в качестве параметра Текущий период. Заполнение текущего периода сейчас осуществляется на вкладке параметры.
29. user1202776 06.11.19 12:06 Сейчас в теме
(28)нужно сделать так,чтобы дата отчета была больше или равно даты начала акции и меньше или равно даты окончания акции. И сделал так
 НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ) >= НАЧАЛОПЕРИОДА(АкционныеНачисления.Акция.ДатаНачала, ДЕНЬ)
	И НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ) <= КОНЕЦПЕРИОДА(АкционныеНачисления.Акция.ДатаОкончания, ДЕНЬ)

эти условия вернут то, что нужно ,да?
30. user995537 19 06.11.19 12:18 Сейчас в теме
(29)Да, можно НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ) МЕЖДУ НАЧАЛОПЕРИОДА(АкционныеНачисления.Акция.ДатаНачала, ДЕНЬ)
И КОНЕЦПЕРИОДА(АкционныеНачисления.Акция.ДатаОкончания, ДЕНЬ)
4. PhoenixAOD 57 06.11.19 09:26 Сейчас в теме
ну тогда делай где АкционныеНачисления.Акция.ДатаНачала >= &ДатаНачала и АкционныеНачисления.Акция.ДатаОкончания <= &ДатаОкончания
5. user1202776 06.11.19 09:31 Сейчас в теме
(4)так тоже пробовал, ничего не показывает так
7. alivan 06.11.19 10:16 Сейчас в теме
(5) а у акции эти даты точно указаны? в принципе должно отбирать.
а вообще не понятно, что нужно отбирать.
есть документ, которым устанавливается акция. в нем указан период действия этой акции.
но у самого документа дата не обязательно будет попадать в заданный период.
вопрос, зачем отбирать документы, открывающие акцию, по периоду акции?
alex-l19041; +1 Ответить
9. user1202776 06.11.19 10:24 Сейчас в теме
(7)да, даты всегда указаны. в РС попадают только те акции, по которым был расход. то есть если акция была активирована, но пока что нет расхода, то эта акция не будет показана, а нужно чтобы попали все акции, которые входят в промежуток ДатаНачала и ДатаОкончания
10. user1202776 06.11.19 10:27 Сейчас в теме
(7)
(8)
у документа ,например, может быть дата 01.11.2019. датаначала 05.11.2019 , а датаокончания 10.11.2019. То есть если в отчете поставить период 06.11.2019 - начало и 07.11.20190конец, то этот документ должен показываться в отчете
13. alivan 06.11.19 10:39 Сейчас в теме
(10)
то этот документ должен показываться в отчете

не должен. в период попадет 01.11.2019.
а вот если по измерению датаначала - датаокончания... а это измерения?
или вы по реквизиту ищете в регистре? тогда не плохо бы считать набор записей и в нем искать по реквизитам.
15. user1202776 06.11.19 10:43 Сейчас в теме
(13)ДатаНачала и ДатаОкончания- это реквизиты документа
18. alivan 06.11.19 10:48 Сейчас в теме
(15) что за конфигурация? розница?
19. user1202776 06.11.19 10:50 Сейчас в теме
20. alivan 06.11.19 10:53 Сейчас в теме
(19) так эти даты в регистре измерения, ресурсы или реквизиты?
23. user1202776 06.11.19 11:00 Сейчас в теме
(20)реквизиты документа
Прикрепленные файлы:
6. marshalbratsk 06.11.19 10:15 Сейчас в теме
АкционныеНачисления.Акция.ДатаНачала >= НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ) И АкционныеНачисления.Акция.ДатаОкончания <= КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ)

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

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

Это условие если акция начинается или заканчивается в этом периоде
user1202776; +1 Ответить
8. marshalbratsk 06.11.19 10:22 Сейчас в теме
(6) второй вариант не подойдет, если дата начала акции меньше даты начала периода отбора и дата окончания акции больше даты окончания периода отбора
11. user1202776 06.11.19 10:32 Сейчас в теме
(8) да, второй вариант тоже не подходит. Поставил начала периода -05.11.2019 и конец периода-05.11.2019 и запрос ничего не выводит
14. marshalbratsk 06.11.19 10:40 Сейчас в теме
АкционныеНачисления.Акция.ДатаНачала <= КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ) И АкционныеНачисления.Акция.ДатаОкончания >= НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ)
user1202776; +1 Ответить
16. user1202776 06.11.19 10:46 Сейчас в теме
26. starik-2005 1973 06.11.19 11:16 Сейчас в теме
Есть две даты - это период акции. Есть какой-то выбранный период для отображения - это тоже две даты. В итоге у нас тут несколько вариантов:
1. Дата начала в документе попадает в выбранный период и дата окончания документа попадает в выбранный период. Тогда, ежу понятно, код запроса такой:
ГДЕ &ДатаНачалаВыбранногоПериода МЕЖДУ Документ.ДатаНачала И Документ.ДатаОкончания И &ДатаОкончанияВыбранногоПериода МЕЖДУ Документ.ДатаНачала И Документ.ДатаОкончания

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

Вакансии

Программист 1С
Екатеринбург
зарплата до 120 000 руб.
Полный день

Консультант-аналитик 1С
Рязань
зарплата до 80 000 руб.
Полный день

Программист 1С
Рязань
зарплата от 90 000 руб.
Полный день

Бизнес-архитектор 1С, ведущий консультант
Санкт-Петербург
Полный день

Руководитель проектов 1С
Санкт-Петербург
Полный день