У нас нужно считать дебиторку по всем клиентам кроме 'своих'.
Своих я отбросил через оператор ГДЕ
ВЫБРАТЬ
| СУММА(ХозрасчетныйОбороты.СуммаОборот) ИЗ
| РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПериода, &КонПериода, Период, Счет = &Счет, , , , ) КАК ХозрасчетныйОбороты
| ГДЕ
| ХозрасчетныйОбороты.Субконто1.Ссылка НЕ В ИЕРАРХИИ (&Субконто1)
Работать стало намного медленней.
К сожалению, я не эксперт в SQL. Несмотря на это подскажите, плз, как можно оптимизировать запрос
ВЫБРАТЬ
Контрагенты.Ссылка КАК Ссылка
ПОМЕСТИТЬ СвоиКонтрагенты
ИЗ
Справочник.Контрагенты КАК Контрагенты
ГДЕ
Контрагенты.Ссылка В ИЕРАРХИИ(&Ссылка)
ИНДЕКСИРОВАТЬ ПО
Ссылка
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ХозрасчетныйОбороты.СуммаОборот
ИЗ
РегистрБухгалтерии.Хозрасчетный.Обороты(
&НачДата,
&КонДата,
Период,
Счет = &Счет,
,
Субконто1 В
(ВЫБРАТЬ
СвоиКонтрагенты.Ссылка
ИЗ
СвоиКонтрагенты КАК СвоиКонтрагенты),
,
) КАК ХозрасчетныйОбороты
ГДЕ
| ХозрасчетныйОбороты.Субконто1 НЕ В ИЕРАРХИИ (&Субконто1)
за .Ссылка руки нужно по самые плечи отрубать.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший