|
Оптимизировать запрос | ☑ | ||
---|---|---|---|---|
0
Gangar
10.06.15
✎
12:00
|
Доброго дня, уважаемые!
Есть задумка, выполнять перед проведением уже проведённого документа контроль за изменением или удалением реквизитов. Есть запрос: ВЫБРАТЬ ПеремещениеЗапасовЗапасы.Номенклатура КАК Номенклатура, ПеремещениеЗапасовЗапасы.Характеристика КАК Характеристика, СУММА(ПеремещениеЗапасовЗапасы.Количество) КАК Количество, ПеремещениеЗапасовЗапасы.Ссылка.ОрганизацияПолучатель КАК Организация, ПеремещениеЗапасовЗапасы.Ссылка.СтруктурнаяЕдиницаПолучатель КАК СтруктурнаяЕдиница ПОМЕСТИТЬ ДокТЧ ИЗ Документ.ПеремещениеЗапасов.Запасы КАК ПеремещениеЗапасовЗапасы ГДЕ ПеремещениеЗапасовЗапасы.Ссылка = &Партия СГРУППИРОВАТЬ ПО ПеремещениеЗапасовЗапасы.Номенклатура, ПеремещениеЗапасовЗапасы.Характеристика, ПеремещениеЗапасовЗапасы.Ссылка.ОрганизацияПолучатель, ПеремещениеЗапасовЗапасы.Ссылка.СтруктурнаяЕдиницаПолучатель ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЗапасыОбороты.Номенклатура КАК Номенклатура, ЗапасыОбороты.Характеристика КАК Характеристика, ЗапасыОбороты.КоличествоРасход КАК Расход, ЗапасыОбороты.Организация КАК Организация, ЗапасыОбороты.Регистратор КАК Регистратор, ЗапасыОбороты.СтруктурнаяЕдиница КАК СтруктурнаяЕдиница, ЕСТЬNULL(ДокТЧ.Количество, 0) КАК Количество ИЗ РегистрНакопления.Запасы.Обороты(, &ТочкаКонтроля, Авто, Партия = &Партия) КАК ЗапасыОбороты ЛЕВОЕ СОЕДИНЕНИЕ ДокТЧ КАК ДокТЧ ПО ЗапасыОбороты.Номенклатура = ДокТЧ.Номенклатура И ЗапасыОбороты.Характеристика = ДокТЧ.Характеристика ГДЕ (ЕСТЬNULL(ДокТЧ.Количество, 0) - ЗапасыОбороты.КоличествоРасход < 0 ИЛИ НЕ ЗапасыОбороты.СтруктурнаяЕдиница = ДокТЧ.СтруктурнаяЕдиница ИЛИ НЕ ЗапасыОбороты.Организация = ДокТЧ.Организация) СГРУППИРОВАТЬ ПО ЗапасыОбороты.Номенклатура, ЗапасыОбороты.Характеристика, ЗапасыОбороты.Регистратор, ЗапасыОбороты.Организация, ЗапасыОбороты.СтруктурнаяЕдиница, ЗапасыОбороты.КоличествоРасход, ДокТЧ.Количество ИТОГИ СУММА(Расход), СУММА(Количество) ПО Номенклатура АВТОУПОРЯДОЧИВАНИЕ Беда в том, что запрос долго выполняется. Как можно ускорить и оптимизировать данный костыль? |
|||
1
ДенисЧ
10.06.15
✎
12:01
|
я ни слова не скажу про параметры виртуальной таблицы...
|
|||
2
SeraFim
10.06.15
✎
12:04
|
(1) и про индексирование никому ничего не говори)
|
|||
3
Ёпрст
10.06.15
✎
12:16
|
И... зачем там ИТОГИ ?..
|
|||
4
vicof
10.06.15
✎
12:17
|
||||
5
Fragster
гуру
10.06.15
✎
12:17
|
обороты за весь период?
|
|||
6
Gangar
10.06.15
✎
12:29
|
(5) с неизвестной даты (оператор изменил дату в документе) по текущую дату.
(3) что бы в выборке сразу проверить не изменили ли количество в документе на меньшее |
|||
7
Ёпрст
10.06.15
✎
12:35
|
(5) ну а чо ?
Не на счетах же считать :) |
|||
8
fisher
10.06.15
✎
12:39
|
Не понял, какое отношение к контролю изменений реквизитов документа имеет регистр накопления.
|
|||
9
Лефмихалыч
10.06.15
✎
12:54
|
1. Маленькая таблица должна быть слева от соединения
2. Ограничь результат виртуальной таблицы путем использования отборов виртуальной таблицы 3. Если хочешь контролировать изменения реквизитов, то соединять надо с табличной частью из объекта проводимого документа, а не с регистром |
|||
10
ILM
гуру
10.06.15
✎
12:55
|
Меня ждет обеспеченная старость, буду вот такой код исправлять и такие запросы оптимизировать.
|
|||
11
fisher
10.06.15
✎
12:58
|
(10) Твои представления об обеспеченной старости похожи на мои об аде для одинэсников.
|
|||
12
ILM
гуру
10.06.15
✎
13:05
|
(11) Это если программировать не любишь)))
|
|||
13
AlexITGround_
серый 10.06.15
✎
13:17
|
(0) Полоска длинная, а такие "шедевры" пишешь. Достоин ответа в (4).
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |