|
v7: Запрос с условием по реквизиту с типом дата | ☑ | ||
---|---|---|---|---|
0
Kardash
25.03.14
✎
14:00
|
Добрый день.
Что то сегодня туплю. Есть следующий запрос: ТекстЗапроса = ""; Если ПоДатеСтворення = 0 Тогда ТекстЗапроса=" |ПЕРИОД С Дата1 По Дата2;"; КонецЕсли; ТекстЗапроса=ТекстЗапроса+" |Док=Документ.GSC_Замовлення.ТекущийДокумент; |ДатаСтв = Документ.GSC_Замовлення.ДатаСтворення; |Послуга=Документ.GSC_Замовлення.ТМЦ; |Контр=Документ.GSC_Замовлення.НазваКонтрагента; |НомЛ=Документ.GSC_Замовлення.НомерЛічильника; |КтьПос=Документ.GSC_Замовлення.КількістьПослуг; |СумаДок=Документ.GSC_Замовлення.ВартістьРобітЗПДВ;"; Если ПоДатеСтворення = 1 Тогда ТекстЗапроса=ТекстЗапроса+" |Условие ((ДатаСтв >= Дата1) И (ДатаСтв <= Дата2));"; КонецЕсли; ТекстЗапроса=ТекстЗапроса+" |Группировка Док упорядочить по Док.НомерДок; |Группировка Послуга; |Группировка НомЛ; Но почему то условие не учитывается и результат запроса пустой. Что не так? И как в 1с 7.7 в запросе правильно ввести условие по реквизиту с типом дата которая должна входить в интервал дат (типа Дата Между Дата1 И Дата2 как в 1с 8)? |
|||
1
PuhUfa
25.03.14
✎
14:06
|
(0) Если ПоДатеСтворення = 0 Тогда
|
|||
2
Kardash
25.03.14
✎
14:07
|
(1) ПоДатеСтворення - это реквизит запроса, а не документа
|
|||
3
PuhUfa
25.03.14
✎
14:09
|
(2) какой текст запроса ты получишь когда ПоДатеСтворення=1 ?
|
|||
4
Kardash
25.03.14
✎
14:10
|
(3)
|Док=Документ.GSC_Замовлення.ТекущийДокумент; |ДатаСтв = Документ.GSC_Замовлення.ДатаСтворення; |Послуга=Документ.GSC_Замовлення.ТМЦ; |Контр=Документ.GSC_Замовлення.НазваКонтрагента; |НомЛ=Документ.GSC_Замовлення.НомерЛічильника; |КтьПос=Документ.GSC_Замовлення.КількістьПослуг; |СумаДок=Документ.GSC_Замовлення.ВартістьРобітЗПДВ; |Условие ((ДатаСтв >= Дата1) И (ДатаСтв <= Дата2)); |Группировка Док упорядочить по Док.НомерДок; |Группировка Послуга; |Группировка НомЛ; |
|||
5
Duke1C
25.03.14
✎
14:15
|
(4) А условия разве не после группировок должны описываться?
|
|||
6
Kardash
25.03.14
✎
14:16
|
(5) да писал уже и так и этак результат, тот же, не сейчас перепроверю в 100-й раз
|
|||
7
Kardash
25.03.14
✎
14:17
|
(5) не катет(((
|
|||
8
Kardash
25.03.14
✎
14:28
|
ап
|
|||
9
Ivan0v-I-V
25.03.14
✎
14:34
|
при
Если ПоДатеСтворення = 1 Тогда у тебя в запросе нет периода |
|||
10
Kardash
25.03.14
✎
14:38
|
(9) а он должен быть обязательно?
|
|||
11
Kardash
25.03.14
✎
14:40
|
(9) если так сделать, то заработает?:
Если ПоДатеСтворення = 0 Тогда ТекстЗапроса=" |ПЕРИОД С Дата1 По Дата2;"; Иначе НачДата = Дата(1,1,1); КонДата = ТекущаяДата(); ТекстЗапроса=" |ПЕРИОД С НачДата По КонДата;"; КонецЕсли; но тогда выборка документов будет очень большая, думаю что будет сильно тормозить... |
|||
12
пипец
25.03.14
✎
14:41
|
документы запрашиваются либо ФСЕ, либо по датадок , точка
|
|||
13
Kardash
25.03.14
✎
14:42
|
(9) так работает, но кажется что не слишком оптимизировано..., ну ладно проверю на рабочей базе, там этих документов уже десятки тысяч... спасибо.
(12)ФСЕ??? |
|||
14
пипец
25.03.14
✎
16:04
|
(13) если период не указан вообще - то обрабатывается вся таблица
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |