Здравствуйте!
Создал новый внешний отчет со следующим запросом:

```1c
    ВЫБРАТЬ
    ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
    ЦеныНоменклатурыСрезПоследних.Валюта КАК Валюта,
    ЦеныНоменклатурыСрезПоследних.Регистратор.Дата КАК РегистраторДата,
    ЦеныНоменклатурыСрезПоследних.Номенклатура.Наименование КАК НоменклатураНаименование,
    ЦеныНоменклатурыСрезПоследних.Номенклатура.Производитель КАК НоменклатураПроизводитель,
    ЦеныНоменклатурыСрезПоследних.Номенклатура.Артикул КАК НоменклатураАртикул,
    ТоварыНаСкладахОстатки.ВНаличииОстаток КАК ВНаличииКонечныйОстаток
    ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних

    ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки

    ПО
    ТоварыНаСкладахОстатки.Номенклатура.Наименование = ЦеныНоменклатурыСрезПоследних.Номенклатура.Наименование
```

В таком виде запрос выполняется быстро, но стоит добавить условие Остатка (не равно 0, больше 1 и т.д.) запрос выполняется очень долго.

Можете подсказать в чем тут дело?

Спасибо!
---
Делаем временную таблицу по срезу на дату, индексируем ее по номенклатуре, делаем запрос к таблице остатков РН, с условием номенклатура В (ВременнаяТаблица) и все
---
Тут сразу две грубых ошибки: Не указана дата остатков, и не указана дата среза для регистра сведений. К тому же имеет смысл сделать временную таблицу из регистра и во втором условии в параметры виртуальной таблице добавить условие Номенклатура В (ВремТаблицаРС). Соединение по наименованию крайне не оптимально - соединять надо по номенклатуре (ссылка). Еще хорошо бы добавить условие по складу, если он есть. В общем наложить макисмальное количество условий, только не в ГДЕ, а в параметрах виртуальных таблиц.
---
Тут сразу две грубых ошибки: Не указана дата остатков, и не указана дата среза для регистра сведений.Мне кажется, указание даты в обоих случаях может лишь замедлить время выполнения. При условии, конечно, что итоги актуальны.
---
Если создать временную таблицу по регистру, получив оттуда номенклатуру и добавить ее в условие виртуальной таблицы - толк будет. Влюбом случае наложение условий на виртуальные таблицы необходимо.
---
Безусловно. Я лишь про указание даты среза и даты остатков говорил.
---
Делаем временную таблицу по срезу на дату, индексируем ее по номенклатуре, делаем запрос к таблице остатков РН, с условием номенклатура В (ВременнаяТаблица) и все
---
Ага, спасибо, попробую разобраться!)
Просто смутило, что без условия работает быстро, а вот при добавлении не очень.
Еще раз спасибо!
---
а вот это что за бред?

ПО
        ТоварыНаСкладахОстатки.Номенклатура.Наименование = ЦеныНоменклатурыСрезПоследних.Номенклатура.Наименование

для особо тугих По ...Наименование = ...Наименование !!!
товарищ, автор, вообще не понимает что такое объекты, элементы, ссылки ???

на этом фоне, вот это
ЦеныНоменклатурыСрезПоследних.Регистратор.Дата КАК РегистраторДата,
вообще цветочками выглядит.
вообще Регистратор.Дата ---> это Период регистра (как правило)
---
По ...Наименование = ...Наименование !!!
Это связь между двумя таблицами при объединении, должны же быть указаны столбцы сопоставления?

вообще Регистратор.Дата ---> это Период регистра (как правило)
Регистратор.Дата мне выдает дату последнего изменения цены, вроде работает как мне нужно)
---
Гов--но код тоже работает как нужно! как это ни странно.
Однако гов--но кодеров ни где не любят.
---
Я не для кого-то сделал этот отчет, лишь для себя.