|
период в запросе | ☑ | ||
---|---|---|---|---|
0
LivingStar
17.06.19
✎
08:48
|
У документа есть поля.
ПланДатаНачала ПланДатаОкончания Есть обработка на форме которой есть Планируемый период (тип стандартный период.) При смене периода и нажатии кнопки пересчитать, выполняется запрос в котором установлено условие на ПланДатаНачала и ПланДатаОкончания документа. Нужно что бы отбирались документы, у которых выбранный период в ПланДатаНачала и ПланДатаОкончания, попадал в выбранный период на обработке планируемый период. |
|||
1
LivingStar
17.06.19
✎
08:51
|
(0+)
| И ((СЦентр_ЗагрузкаМастеров.Документ.ПланДатаНачала >= &НачДата | И СЦентр_ЗагрузкаМастеров.Документ.ПланДатаОкончания >= &КонДата)) | ИЛИ ((СЦентр_ЗагрузкаМастеров.Документ.ПланДатаНачала <= &НачДата | И СЦентр_ЗагрузкаМастеров.Документ.ПланДатаОкончания <= &КонДата)) Как правильно построить условие, подскажите пожалуйста. |
|||
2
LivingStar
17.06.19
✎
08:52
|
Чтобы Выезды, в которых ПланДатаНачала 14.06 и ПланДатаОкончания 14.09, попали в планируемый период 17.06-19.06
|
|||
3
LivingStar
17.06.19
✎
08:56
|
Что даст такое условие?
| И ( (СЦентр_ЗагрузкаМастеров.Документ.ПланДатаНачала >= &НачДата | И СЦентр_ЗагрузкаМастеров.Документ.ПланДатаНачала<= &КонДата) | или (СЦентр_ЗагрузкаМастеров.Документ.ПланДатаОкончания >= &НачДата | И СЦентр_ЗагрузкаМастеров.Документ.ПланДатаОкончания <= &КонДата) ) | И ( (СЦентр_ЗагрузкаМастеров.Документ.ПланДатаНачала МЕЖДУ &НачДата И &КонДата | Или СЦентр_ЗагрузкаМастеров.Документ.ПланДатаОкончания МЕЖДУ &НачДата И &КонДата ) |
|||
4
ЗлаяЗая
17.06.19
✎
08:56
|
ПланДатаНачала МЕЖДУ &НачДата И &КонДата
ИЛИ ПланДатаОкончания МЕЖДУ &НачДата И &КонДата |
|||
5
LivingStar
17.06.19
✎
09:01
|
(4) Может быть что ПланДатаНачала находится до &НачДата
а ПланДатаОкончания после КонДата как в этом случае быть? |
|||
6
Dotoshin
17.06.19
✎
09:01
|
(2) >>Чтобы Выезды, в которых ПланДатаНачала 14.06 и ПланДатаОкончания 14.09, попали в планируемый период 17.06-19.06
А зачем тебе ПланДатаОкончания, если в отчет должны попасть документы у которых ПланДатаНачала находится в периоде с 17 по 19 июня, или я что-то не понимаю? |
|||
7
ЗлаяЗая
17.06.19
✎
09:03
|
(5) а вам как надо?
-обе даты должны попадать в период -или только первая -или только вторая -или одна из 2х? |
|||
8
Dotoshin
17.06.19
✎
09:03
|
+(6) думаю надо просто: ПланДатаНачала МЕЖДУ &НачДата И &КонДата
|
|||
9
Dotoshin
17.06.19
✎
09:04
|
(7) Он по ходу дела сам не понимает как ему надо, отсюда все проблемы...
|
|||
10
LivingStar
17.06.19
✎
09:07
|
(7)(9) Сейчас разберемся!
|
|||
11
тарам пам пам
17.06.19
✎
09:07
|
тут судя по (2) нужно такое условие
|
|||
12
LivingStar
17.06.19
✎
09:13
|
(11) Да вот это интересное решение.
То есть попадут документы, у которых ПланДатаНачала и до выбранного периода в планировщике и заключенная в нем. Так же и дата окончания, как в нем так и после? а если ПланДатаНачала до выбранного периода? А ПланДатаОкончания после выбранного периода? |
|||
13
LivingStar
17.06.19
✎
09:16
|
ПланДатаНачала 14.06.19, в Загрузке мастера ставлю период выполения работ 17.06 с 9 до 10 утра
Я выбираю период в Планировщике 14.06-19.06 - Выезд отображается Я выбираю период в Планировщике 17.06-19.06 - Выезд не отображается |
|||
14
LivingStar
17.06.19
✎
09:19
|
Как быть с (13) ?
|
|||
15
breezee
17.06.19
✎
09:34
|
Поиграйтесь в консоле запросов. Скачать можно с ИТС, на сколько я помнб юесплатно
|
|||
16
LivingStar
17.06.19
✎
09:38
|
(15) Важна идея как сделать (13)
или это сработает по условию (11) ? Так как ПланДатаОкончания = НачДата |
|||
17
Dotoshin
17.06.19
✎
09:40
|
(14) Написать простыми русскими словами, что нужно сделать, иначе можно долго гадать, какую задачу нужно решить. Попробуй просто без запросов, условий и прочего кодинга сформулировать, что тебе нужно сделать.
|
|||
18
Serg_1960
17.06.19
✎
09:46
|
Имхо: автору определиться надо - работает он с днями и/или с часами тоже. Писать ли "Дата МЕЖДУ НачалоПериода(&НачПериода, День) И КонецПериода(&КонПериода, День)" или ".УстановитьПараметр("НачПериода",КонецДня(НачПериода))" - ему решать.
|
|||
19
LivingStar
17.06.19
✎
09:46
|
(17)
У документа есть поля. ПланДатаНачала ПланДатаОкончания Есть обработка на форме которой есть Планируемый период (тип стандартный период.) Нужно что бы при выборе планируемого периода, осуществлялась выборка документов, которые попадают в это период. 1. У которых ПланДатаНачала до выбранного периода, ПланДатаОкончания после выбранного периода. То есть ПланДатаНачала и ПланДатаНачала действуют в выбранном периоде. 2. Когда ПланДатаНачала до выбранного периода, а ПланДатаОкончания в выбранном периоде. 3. Когда ПланДатаНачала в выбранном периоде, а ПланДатаОкончания после выбранного периода. 4. ну и когда ПланДатаНачала и ПланДатаОкончания в выбранном периоде. |
|||
20
Serg_1960
17.06.19
✎
09:49
|
PS: пиши "<=" или ">=" и не мучай нас и себя :))
|
|||
21
LivingStar
17.06.19
✎
09:50
|
(20) А как именно писать?
|
|||
22
Dotoshin
17.06.19
✎
09:53
|
(19) То есть тебе нужно выбрать документы у которых ПланДатаНачала или ПланДатаОкончания попадает в планируемый период, либо планируемый период находится в промежутке между ПланДатаНачала и ПланДатаОкончания. Так?
|
|||
23
LivingStar
17.06.19
✎
09:53
|
(22) Да!
|
|||
24
1Садовник
17.06.19
✎
09:56
|
(19) ПланДатаНачала <= ПланируемыйПериод.ДатаОкончания И ПланДатаОкончания >= ПланируемыйПериод.ДатаНачала
|
|||
25
Dotoshin
17.06.19
✎
09:57
|
(23) Ну так и пиши тогда. (ПланДатаНачала МЕЖДУ &НачДата И &КонДата) или (ПланДатаОкончания МЕЖДУ &НачДата И &КонДата) или (&НачДата >= ПланДатаНачала и &КонДата <= ПланДатаОкончания)
|
|||
26
LivingStar
17.06.19
✎
09:57
|
(24) (25) Буду пробовать.
|
|||
27
Dotoshin
17.06.19
✎
09:58
|
+ (25) наоборот вмемто (&НачДата >= ПланДатаНачала и &КонДата <= ПланДатаОкончания) читай
(&НачДата =< ПланДатаНачала и &КонДата => ПланДатаОкончания) |
|||
28
Dotoshin
17.06.19
✎
10:00
|
(27) нет все таки первый раз было правмилтьно :)
|
|||
29
LivingStar
17.06.19
✎
10:10
|
(28) То есть как я понимаю, вот это итоговое условие, при котором должно выполнится (19) ?
| И (СЦентр_ЗагрузкаМастеров.Документ.ПланДатаНачала МЕЖДУ &НачДата И &КонДата) | или (СЦентр_ЗагрузкаМастеров.Документ.ПланДатаОкончания МЕЖДУ &НачДата И &КонДата) | или (&НачДата >= СЦентр_ЗагрузкаМастеров.Документ.ПланДатаНачала и &КонДата <= СЦентр_ЗагрузкаМастеров.Документ.ПланДатаОкончания) сейчас набьют тестовых документов будем проверять |
|||
30
Dotoshin
17.06.19
✎
10:21
|
(29) Держите нас в курсе :)
|
|||
31
novichok79
17.06.19
✎
13:02
|
для начала надо чтобы в документе ПланДатаНачала и ПланДатаОкончания были в правильном порядке, как и даты для фильтрации.
далее делаете простое условие в запросе &ДатаНачала между Т.ПланДатаНачала и Т.ПланДатаОкончания Или &ДатаОкончания между Т.ПланДатаНачала и Т.ПланДатаОкончания Или Т.ПланДатаНачала между &ДатаНачала и &ДатаОкончания Или Т.ПланДатаОкончания между &ДатаНачала и &ДатаОкончания и за "СЦентр_ЗагрузкаМастеров.Документ.ПланДатаНачала" потом будет больно, если "Документ" составного типа. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |