|
Оптимизация запросов в 1с | ☑ | ||
---|---|---|---|---|
0
Живаго
13.03.12
✎
12:12
|
Суть проблемы: есть запрос который легко и быстро работает без применения РЛС и очень сильно тормозит с РЛС.
ВЫБРАТЬ РАЗРЕШЕННЫЕ СУММА(Количество_ПоОтгрузке_ХолдинговПоРТУ.КоличествоРегистраторФакт) КАК КоличествоРегистраторФакт, АктивныеКонтрагенты.Менеджер КАК Менеджер, АктивныеКонтрагенты.КонтрагентГоловнойКонтрагент КАК КонтрагентГоловнойКонтрагент, АктивныеКонтрагенты.ДоговорКонтрагентаОрганизация КАК ДоговорКонтрагентаОрганизация ИЗ (ВЫБРАТЬ РАЗЛИЧНЫЕ МенеджерыДоговоровСрезПоследних.Менеджер КАК Менеджер, АктивностьКонтрагентовСрезПоследних.Контрагент.ГоловнойКонтрагент КАК КонтрагентГоловнойКонтрагент, МенеджерыДоговоровСрезПоследних.ДоговорКонтрагента.Организация КАК ДоговорКонтрагентаОрганизация ИЗ РегистрСведений.МенеджерыДоговоров.СрезПоследних(&ДатаНач, ) КАК МенеджерыДоговоровСрезПоследних ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АктивностьКонтрагентов.СрезПоследних(&ДатаНач, ) КАК АктивностьКонтрагентовСрезПоследних ПО МенеджерыДоговоровСрезПоследних.ДоговорКонтрагента.Владелец = АктивностьКонтрагентовСрезПоследних.Контрагент ГДЕ АктивностьКонтрагентовСрезПоследних.ВидАктивности = ЗНАЧЕНИЕ(Перечисление.ВидАктивностиКонтрагента.Активный) И МенеджерыДоговоровСрезПоследних.Менеджер <> ЗНАЧЕНИЕ(Справочник.Сотрудники.ПустаяСсылка) И МенеджерыДоговоровСрезПоследних.Менеджер.ПометкаУдаления = ЛОЖЬ И МенеджерыДоговоровСрезПоследних.ДоговорКонтрагента.ПометкаУдаления = ЛОЖЬ И МенеджерыДоговоровСрезПоследних.ДоговорКонтрагента.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СПокупателем) И МенеджерыДоговоровСрезПоследних.ДоговорКонтрагента = МенеджерыДоговоровСрезПоследних.ДоговорКонтрагента.Владелец.ОсновнойДоговорКонтрагента) КАК АктивныеКонтрагенты ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ КоличествоХолдинговПоРТУ.КоличествоХолдингПоРТУ КАК КоличествоХолдингПоРТУ, КоличествоХолдинговПоРТУ.Организация КАК Организация, КоличествоХолдинговПоРТУ.Менеджер КАК Менеджер, КоличествоХолдинговПоРТУ.КоличествоРегистраторФакт КАК КоличествоРегистраторФакт ИЗ (ВЫБРАТЬ РАЗЛИЧНЫЕ РТУиХолдинг.Организация КАК Организация, РТУиХолдинг.Менеджер КАК Менеджер, РТУиХолдинг.КоличествоХолдинг КАК КоличествоХолдингПоРТУ, РТУиХолдинг.КоличествоРегистраторФакт КАК КоличествоРегистраторФакт ИЗ (ВЫБРАТЬ ПланыПродажНаПериодОбороты.Организация КАК Организация, ПланыПродажНаПериодОбороты.Менеджер КАК Менеджер, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ФактПродажи.РегистраторФакт) КАК КоличествоРегистраторФакт, ФактПродажи.КоличествоХолдинг КАК КоличествоХолдинг ИЗ РегистрНакопления.ПланыПродажНаПериод.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК ПланыПродажНаПериодОбороты ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ МенеджерыНаДатуДокумента.Номенклатура КАК Номенклатура, МенеджерыНаДатуДокумента.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, МенеджерыНаДатуДокумента.Организация КАК Организация, СУММА(МенеджерыНаДатуДокумента.КоличествоОборот) КАК КоличествоОборот, МенеджерыНаДатуДокумента.Регистратор КАК РегистраторФакт, МенеджерыДоговоров.Менеджер КАК Менеджер, СУММА(МенеджерыНаДатуДокумента.СуммаФакт) КАК СуммаФакт, МенеджерыДоговоров.ДоговорКонтрагента.Владелец.ГоловнойКонтрагент КАК КоличествоХолдинг ИЗ (ВЫБРАТЬ МенеджерыДоговоров.Период КАК МенеджерПериод, ПродажиОбороты.ДоговорКонтрагента КАК ДоговорКонтрагента, ПродажиОбороты.Номенклатура КАК Номенклатура, ПродажиОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ПродажиОбороты.Организация КАК Организация, СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоОборот, СУММА(ПродажиОбороты.СтоимостьОборот) КАК СуммаФакт, ПродажиОбороты.ДокументПродажи КАК Регистратор ИЗ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, , ) КАК ПродажиОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МенеджерыДоговоров КАК МенеджерыДоговоров ПО ПродажиОбороты.ДоговорКонтрагента = МенеджерыДоговоров.ДоговорКонтрагента ГДЕ ПродажиОбороты.ДокументПродажи.Дата <= &ДатаКон1 И ПродажиОбороты.КоличествоОборот > 0 СГРУППИРОВАТЬ ПО ПродажиОбороты.ДоговорКонтрагента, ПродажиОбороты.Номенклатура, ПродажиОбороты.ХарактеристикаНоменклатуры, ПродажиОбороты.Организация, ПродажиОбороты.ДокументПродажи, МенеджерыДоговоров.Период) КАК МенеджерыНаДатуДокумента ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МенеджерыДоговоров КАК МенеджерыДоговоров ПО МенеджерыНаДатуДокумента.ДоговорКонтрагента = МенеджерыДоговоров.ДоговорКонтрагента И МенеджерыНаДатуДокумента.МенеджерПериод = МенеджерыДоговоров.Период СГРУППИРОВАТЬ ПО МенеджерыНаДатуДокумента.Регистратор, МенеджерыНаДатуДокумента.ХарактеристикаНоменклатуры, МенеджерыНаДатуДокумента.Организация, МенеджерыНаДатуДокумента.Номенклатура, МенеджерыДоговоров.Менеджер, МенеджерыДоговоров.ДоговорКонтрагента.Владелец.ГоловнойКонтрагент) КАК ФактПродажи ПО (ФактПродажи.Менеджер = ПланыПродажНаПериодОбороты.Менеджер) И (ФактПродажи.Номенклатура = ПланыПродажНаПериодОбороты.Номенклатура) И ПланыПродажНаПериодОбороты.АналитическаяГруппа = ФактПродажи.ХарактеристикаНоменклатуры.АналитическаяГруппа И ПланыПродажНаПериодОбороты.Организация = ФактПродажи.Организация СГРУППИРОВАТЬ ПО ПланыПродажНаПериодОбороты.Менеджер, ПланыПродажНаПериодОбороты.Организация, ФактПродажи.КоличествоХолдинг) КАК РТУиХолдинг ГДЕ РТУиХолдинг.КоличествоРегистраторФакт >= 1) КАК КоличествоХолдинговПоРТУ) КАК Количество_ПоОтгрузке_ХолдинговПоРТУ ПО АктивныеКонтрагенты.Менеджер = Количество_ПоОтгрузке_ХолдинговПоРТУ.Менеджер И АктивныеКонтрагенты.КонтрагентГоловнойКонтрагент = Количество_ПоОтгрузке_ХолдинговПоРТУ.КоличествоХолдингПоРТУ И АктивныеКонтрагенты.ДоговорКонтрагентаОрганизация = Количество_ПоОтгрузке_ХолдинговПоРТУ.Организация СГРУППИРОВАТЬ ПО АктивныеКонтрагенты.Менеджер, АктивныеКонтрагенты.КонтрагентГоловнойКонтрагент, АктивныеКонтрагенты.ДоговорКонтрагентаОрганизация РЛС (на чтение) применен к регистру накопления продажи выглядит так: ГДЕ Организация.Подразделение В(&ПодразделенияДляОграниченияДоступа) Буду благодарен за любую помощь или подсказку. |
|||
1
asady
13.03.12
✎
12:18
|
(0) запрос подлежит полному переписанию
|
|||
2
ptrtss
13.03.12
✎
12:20
|
А если
ГДЕ Организация.Подразделение В(&ПодразделенияДляОграниченияДоступа) поменять на ГДЕ Организация В(&ОрганизацииДляОграниченияДоступа) ? |
|||
3
ptrtss
13.03.12
✎
12:21
|
(1)
Ну и это конечно |
|||
4
ice777
13.03.12
✎
12:23
|
(0) такой длинной распечаткой можно даже ж.опу подтереть.
|
|||
5
asady
13.03.12
✎
12:24
|
(0) по оптимизации запросов в 8.2 есть целая статья на ИТС - для начала вполне хватает -
просто переделай запрос в соответствии с методическими рекомендациями 1С - и неси сюда. |
|||
6
демотиватор
13.03.12
✎
12:30
|
(0)в параметры продажи вставить условие по &ПодразделенияДляОграниченияДоступа
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |