Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Период отчета вместе с периодом регистратора в запросе.

Период отчета вместе с периодом регистратора в запросе.
Я
   lirt82
 
29.03.19 - 11:37
Есть отчет у него есть СтандартныйПериод, в запросе этого отчета есть таблица непериодического регистра сведений, у этого регистра есть регистратор документ Договор у этого документа есть период действия договора с...по...Как поставить условие в запросе чтоб в отчет попадали записи регистра у которых период действия документа Договор находится в СтандартнойПериоде отчета? Пример, в доке Договор период действия ДатаНач 30.12.2018 и ДатаКон 31.12.2019, период самого отчета выбрали январь 2019, т.е. в этом случае запись по договору должна попасть в отчет
 
 
   Asmody
 
1 - 29.03.19 - 11:42
(0) А ты нарисуй на оси времени свой период отчета и разные возможные варианты периода действия договора. Если не ошибаюсь, их будет 5.
Тогда условия запроса станут очевидными.
   lirt82
 
2 - 29.03.19 - 11:43
(1) понял:)
   Gucci76
 
3 - 29.03.19 - 12:00
НачалоДоговора <= КонецПериода
КонецДоговора >= НачалоПериода
Не?
   lirt82
 
4 - 29.03.19 - 12:10
(1) да 5 вариантов, 1 - до периода отчета, 2- до периода отчета и входит в период отчета, 3- полностью входит в период отчета, 4- в периоде отчета и выходит за период отчета и 5-за периодом отчета
   lirt82
 
5 - 29.03.19 - 12:18
(3) вот так правильно
ГДЕ
    И &ДатаНачалаПериодаОтчета МЕЖДУ &ДатаДоговораНач И &ДатаДоговораКон
    И &ДатаОкончанияПериодаОтчета МЕЖДУ &ДатаДоговораНач И &ДатаДоговораКон
   lirt82
 
6 - 29.03.19 - 12:50
самое смешное..как быть у СтандартногоПериода есть ДатаНачала и ДатаОкончания и у регистра сведений ресурсы ДатаНачала и ДатаОкончания....как условие сделать?:)
   lirt82
 
7 - 29.03.19 - 12:51
ГДЕ
    &ДатаНачала МЕЖДУ &ДатаНачала И &ДатаОкончания
    И &ДатаОкончания МЕЖДУ &ДатаНачала И &ДатаОкончания
   DrWatson
 
8 - 29.03.19 - 13:09
(6) В чем вопрос, как обратиться к реквизиту справочника из запроса?
   lirt82
 
9 - 29.03.19 - 13:12
(8) как условие сделать по ресурсу регистра если у него имя совпадает с именем параметра стандартного периода?
   catena
 
10 - 29.03.19 - 13:14
(7)Гениально) Теперь попробуйте выпасть из этого условия)) Ну, только если один из параметров NULL))
   lirt82
 
11 - 29.03.19 - 13:14
&ДатаНачала(СтандартныйПериод) МЕЖДУ &ДатаНачала(ресурс регистра сведений) И &ДатаОкончания(ресурс регистра сведений)
   kudlach
 
12 - 29.03.19 - 13:14
А зачем ты Даты договора как параметры то передаешь ?

Док.Договор.ДатаНачала МЕЖДУ &ДатаНачала И &ДатаОкончания
И Док.Договор.ДатаОкончания МЕЖДУ &ДатаНачала И &ДатаОкончания
   catena
 
13 - 29.03.19 - 13:15
(9)ГДЕ
    &ДатаНачала МЕЖДУ Регистр.ДатаНачала И Регистр.ДатаОкончания
    И &ДатаОкончания МЕЖДУ Регистр.ДатаНачала И Регистр.ДатаОкончания
   kudlach
 
14 - 29.03.19 - 13:16
нет, сорри.   ИЛИ

Док.Договор.ДатаНачала МЕЖДУ &ДатаНачала И &ДатаОкончания 
ИЛИ Док.Договор.ДатаОкончания МЕЖДУ &ДатаНачала И &ДатаОкончания

Если И - договор полностью в указанных рамках
   lirt82
 
15 - 29.03.19 - 13:17
(13) взрыв мозга))))))
 &ДатаНачала МЕЖДУ ПериодыДействияДоговоровГПХ.ДатаНачала И ПериодыДействияДоговоровГПХ.ДатаОкончания
   catena
 
16 - 29.03.19 - 13:19
(14)Ему надо, чтобы период был полностью внутри договора, а не любое попадание договора в период.
   Sayan_mi
 
17 - 29.03.19 - 13:45
(4) ещё один вариант просмотрели начинается раньше периода отчета и заканчивается после окончания периода отчета. как следствие самый простой вариант ДатаОкончания >= &НачалоПериода И ДатаНачала <= &ОкончаниеПериода
   lirt82
 
18 - 29.03.19 - 13:57
(17) кстати твой вариант компактнее)))
   1Сергей
 
19 - 29.03.19 - 14:03
этот вариант ещё в (3) предложили
   kudlach
 
20 - 29.03.19 - 14:06
(0), (16)

Если думать не хочется:

ГДЕ
(&ДатаНачала МЕЖДУ Док.Договор.ДатаНачала И Док.Договор.ДатаОкончания)
И (&ДатаОкончания  МЕЖДУ Док.Договор.ДатаНачала И Док.Договор.ДатаОкончания)

Период внутри действия договоров

(17) не полностью период внутри договора - Начало периода после окончания договора, _И_ Конец периода ПОСЛЕ Начала договора. Не прилепится.

Нужно пределиться что в чем, И или ИЛИ

ДатаНачДоговора<= &ДатаНачПериода И &ДатаКонПериода <= &ДатаКонДоговора
&ДатаНачПериода <= ДатаНачДоговора И ДатаКонДоговора <= &ДатаКонПериода
ДатаНачДоговора<= &ДатаНачПериода  ИЛИ ДатаКонДоговора <= &ДатаКонПериода
   lirt82
 
21 - 29.03.19 - 14:13
(19) согласен...ох уж эта невнимательность:)


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.