|
Ограничить запрос по дате | ☑ | ||
---|---|---|---|---|
0
01230123
28.04.16
✎
22:11
|
Доброго времени суток.
Подскажите пожалуйста, как ограничить запрос по дате? При его выполнении база зависает надолго каждый раз, и я подозреваю, что обработка вытаскивает все заказы за 5 лет. Вот запрос: Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ЗаказыОплатаОтгрузка.ЗаказСсылка, | ЗаказыОплатаОтгрузка.Отгружен, | ЗаказыОплатаОтгрузка.Оплачен, | ЗаказыОплатаОтгрузка.ДокументОтгрузки.Дата КАК ДатаДокументаОтгрузки, | ЗаказыОплатаОтгрузка.ДокументОтгрузки.Номер КАК НомерДокументаОтгрузки, | ЗаказыОплатаОтгрузка.ДокументОплаты.Дата КАК ДатаДокументаОплаты, | ЗаказыОплатаОтгрузка.ДокументОплаты.Номер КАК НомерДокументаОплаты, | ЗаказыОплатаОтгрузка.ЗаказСсылка.ПометкаУдаления КАК ПометкаУдаления, | ЗаказыОплатаОтгрузка.ЗаказСсылка.Номер КАК Номер, | ЗаказыОплатаОтгрузка.ЗаказСсылка.Дата КАК Дата, | ЗаказыОплатаОтгрузка.ЗаказСсылка.Проведен КАК Проведен, | ЗаказыОплатаОтгрузка.ЗаказСсылка.ВалютаДокумента КАК ВалютаДокумента, | ЗаказыОплатаОтгрузка.ЗаказСсылка.КурсВзаиморасчетов КАК КурсВзаиморасчетов, | ЗаказыОплатаОтгрузка.ЗаказСсылка.СуммаДокумента КАК СуммаДокумента, | ЗаказыОплатаОтгрузка.ЗаказСсылка.Контрагент КАК Контрагент, | ЗаказыОплатаОтгрузка.ЗаказСсылка.ДатаВходящегоДокументаЭлектронногоОбмена КАК ДатаВходящегоДокументаЭлектронногоОбмена, | ЗаказыОплатаОтгрузка.ЗаказСсылка.ДатаОплаты КАК ДатаОплаты, | ЗаказыОплатаОтгрузка.ЗаказСсылка.Комментарий КАК Комментарий, | ЗаказыОплатаОтгрузка.ЗаказСсылка.СуммаВключаетНДС КАК СуммаВключаетНДС, | ЗаказыОплатаОтгрузка.ЗаказСсылка.Товары.( | Ссылка КАК Ссылка, | НомерСтроки КАК НомерСтроки, | ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест, | Количество КАК Количество, | КоличествоМест КАК КоличествоМест, | Коэффициент КАК Коэффициент, | Номенклатура КАК Номенклатура, | ПлановаяСебестоимость КАК ПлановаяСебестоимость, | ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки, | Размещение КАК Размещение, | СтавкаНДС КАК СтавкаНДС, | Сумма КАК Сумма, | СуммаНДС КАК СуммаНДС, | ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | Цена КАК Цена, | ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок, | УсловиеАвтоматическойСкидки КАК УсловиеАвтоматическойСкидки, | ЗначениеУсловияАвтоматическойСкидки КАК ЗначениеУсловияАвтоматическойСкидки, | КлючСтроки КАК КлючСтроки, | СерияНоменклатуры КАК СерияНоменклатуры | ) КАК Товары, | ЗаказыОплатаОтгрузка.ЗаказСсылка.Услуги.( | Ссылка КАК Ссылка, | НомерСтроки КАК НомерСтроки, | Содержание КАК Содержание, | Количество КАК Количество, | Цена КАК Цена, | Сумма КАК Сумма, | СтавкаНДС КАК СтавкаНДС, | СуммаНДС КАК СуммаНДС, | Номенклатура КАК Номенклатура, | ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки, | ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок, | УсловиеАвтоматическойСкидки КАК УсловиеАвтоматическойСкидки, | ЗначениеУсловияАвтоматическойСкидки КАК ЗначениеУсловияАвтоматическойСкидки | ) КАК Услуги, | ЗаказыОплатаОтгрузка.ЗаказСсылка.НомерВходящегоДокументаЭлектронногоОбмена КАК НомерВходящегоДокументаЭлектронногоОбмена, | ЗаказыОплатаОтгрузка.ЗаказСсылка.УчитыватьНДС КАК УчитыватьНДС |ИЗ | (ВЫБРАТЬ | Заказы.ЗаказСсылка КАК ЗаказСсылка, | Заказы.Отгружен КАК Отгружен, | Заказы.Оплачен КАК Оплачен, | МАКСИМУМ(Заказы.ДокументОтгрузки) КАК ДокументОтгрузки, | МАКСИМУМ(Заказы.ДокументОплаты) КАК ДокументОплаты | ИЗ | (ВЫБРАТЬ РАЗЛИЧНЫЕ | Заказ.Ссылка КАК ЗаказСсылка, | ВЫБОР | КОГДА НЕ Заказ.Проведен | ИЛИ ЗаказыПокупателей.Регистратор ЕСТЬ NULL | ТОГДА ЛОЖЬ | ИНАЧЕ ВЫБОР | КОГДА ЕСТЬNULL(ЗаказыПокупателейОстатки.СуммаВзаиморасчетовОстаток, 0) <= 0 | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ | КОНЕЦ КАК Отгружен, | ВЫБОР | КОГДА НЕ Заказ.Проведен | ИЛИ РасчетыСКонтрагентами.Регистратор ЕСТЬ NULL | ТОГДА ЛОЖЬ | ИНАЧЕ ВЫБОР | КОГДА ЕСТЬNULL(РасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток, 0) <= 0 | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ | КОНЕЦ КАК Оплачен, | ЗаказыПокупателей.Регистратор КАК ДокументОтгрузки, | РасчетыСКонтрагентами.Регистратор КАК ДокументОплаты | ИЗ | Документ.ЗаказПокупателя КАК Заказ | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов | ПО (КатегорииОбъектов.Объект = Заказ.Ссылка) | И (КатегорииОбъектов.Категория = ЗНАЧЕНИЕ(Справочник.КатегорииОбъектов.ЗаказСWEBСайта)) | И (Заказ.Дата >= &НачалоПериода) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПокупателей.Остатки(, &УсловиеОграниченияПоЗаказамОстатки) КАК ЗаказыПокупателейОстатки | ПО Заказ.Ссылка = ЗаказыПокупателейОстатки.ЗаказПокупателя | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(, &УсловиеОграниченияПоРасчетамОстатки) КАК РасчетыСКонтрагентамиОстатки | ПО Заказ.Ссылка = РасчетыСКонтрагентамиОстатки.Сделка | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПокупателей КАК ЗаказыПокупателей | ПО Заказ.Ссылка = ЗаказыПокупателей.ЗаказПокупателя | И (ЗаказыПокупателей.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг) | И (ЗаказыПокупателей.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.расход)) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКонтрагентами КАК РасчетыСКонтрагентами | ПО Заказ.Ссылка = РасчетыСКонтрагентами.Сделка | И (РасчетыСКонтрагентами.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.расход)) | И (РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.АккредитивПолученный | ИЛИ РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.ОплатаОтПокупателяПлатежнойКартой | ИЛИ РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.ПлатежноеПоручениеВходящее | ИЛИ РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.ПриходныйКассовыйОрдер | ИЛИ РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.КорректировкаДолга) | ГДЕ | &УсловиеОграниченияПоДокументам) КАК Заказы | | СГРУППИРОВАТЬ ПО | Заказы.ЗаказСсылка, | Заказы.Отгружен, | Заказы.Оплачен) КАК ЗаказыОплатаОтгрузка"; Хочу ограничить его, чтобы раньше обозначенной мной даты заказы не проверялись. Как это сделать? |
|||
1
Lama12
28.04.16
✎
22:14
|
(0) Где
|
|||
2
GROOVY
28.04.16
✎
22:15
|
Условие в виртуальные таблицы установи. Типизируй получаемые поля составного типа, особенно "Регистратор".
Запрос вообще фееричный. |
|||
4
GROOVY
28.04.16
✎
22:17
|
Когда вижу запросы к реальным таблицам регистров накопления, у меня тахикардия случается, я ухожу из ветки..
|
|||
5
01230123
28.04.16
✎
22:20
|
(4) ))) Это обмен с сайтом-Битрикс. Его битриксоиды писали. Приходится дорабатывать то, что есть. Справедливости ради замечу, что это старая версия обмена. Сейчас они что-то новое придумали, но жутко замороченное.
|
|||
6
roman52
28.04.16
✎
23:29
|
когда вижу такие запросы, хочется взять и переписать
по сабжу: перепиши на пакетные запросы, и сам увидишь куда условие на дату вкорячить |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |