Еще немного предложений по оптимизации. Вот этот кусок запроса можно несколько оптимизировать
Код |
---|
|ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| ВремНоменклатура.Номенклатура КАК Номенклатура,
| ВЫБОР
| КОГДА ВремНоменклатура.Идентификатор = """"
| ТОГДА ВремНоменклатура.Номенклатура
| ИНАЧЕ ВремНоменклатура.Идентификатор
| КОНЕЦ КАК НоменклатураИдентификатор,
| ВремНоменклатура.ВерсияДанных КАК НоменклатураВерсияДанных,
| ВремНоменклатура.ПометкаУдаления КАК НоменклатураПометкаУдаления,
| ВремНоменклатура.Наименование,
| ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК Характеристика,
| """" КАК ХарактеристикаИдентификатор,
| """" КАК ХарактеристикаВерсияДанных,
| """" КАК ХарактеристикаПометкаУдаления,
| """" КАК ХарактеристикаНаименование,
| ВремНоменклатура.ВестиУчетПоХарактеристикам,
// | ВремНоменклатура.Номенклатура.Набор
// | ИЛИ ВремНоменклатура.Номенклатура.Комплект КАК КомплектНабор,
| ВремНоменклатура.Набор
| ИЛИ ВремНоменклатура.Комплект КАК КомплектНабор,
| ВремНоменклатура.ПриоритетСортировки
| ВремНоменклатура.ПриоритетСортировки
|ПОМЕСТИТЬ ВремНоменклатураСХарактеристиками
|ИЗ
| ВремНоменклатура КАК ВремНоменклатура
|ГДЕ
// | (ВремНоменклатура.Номенклатура.ВестиУчетПоХарактеристикам
| (ВремНоменклатура.ВестиУчетПоХарактеристикам
| И &ВыгружатьНоменклатуруКакПредложение
// | ИЛИ НЕ ВремНоменклатура.Номенклатура.ВестиУчетПоХарактеристикам)
| ИЛИ НЕ ВремНоменклатура.ВестиУчетПоХарактеристикам)
| И ВЫБОР
| КОГДА &ВыгружатьТолькоСЦеной
| И НЕ ВремНоменклатура.ЭтоКомплектующая
| ТОГДА (ВремНоменклатура.Номенклатура, ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)) В
| (ВЫБРАТЬ
| ВремЦены.Номенклатура,
| ВремЦены.Характеристика
| ИЗ
| ВремЦены КАК ВремЦены)
| ИНАЧЕ ИСТИНА
| КОНЕЦ
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВремНоменклатура.Номенклатура,
| ВЫБОР
| КОГДА ВремНоменклатура.Идентификатор = """"
| ТОГДА ВремНоменклатура.Номенклатура
| ИНАЧЕ ВремНоменклатура.Идентификатор
| КОНЕЦ,
| ВремНоменклатура.ВерсияДанных,
| ВремНоменклатура.ПометкаУдаления,
| ВремНоменклатура.Наименование,
| ХарактеристикиНоменклатуры.Ссылка,
| ВЫБОР
| КОГДА ХарактеристикиНоменклатуры.Б_Идентификатор = """"
| ТОГДА ХарактеристикиНоменклатуры.Ссылка
| ИНАЧЕ ХарактеристикиНоменклатуры.Б_Идентификатор
| КОНЕЦ,
| ХарактеристикиНоменклатуры.ВерсияДанных,
| ХарактеристикиНоменклатуры.ПометкаУдаления,
| ХарактеристикиНоменклатуры.Наименование,
| ИСТИНА,
// | ВремНоменклатура.Номенклатура.Набор
// | ИЛИ ВремНоменклатура.Номенклатура.Комплект,
| ВремНоменклатура.Набор
| ИЛИ ВремНоменклатура.Комплект,
| ВремНоменклатура.ПриоритетСортировки
|ИЗ
| Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВремНоменклатура КАК ВремНоменклатура
// | ПО ХарактеристикиНоменклатуры.Владелец.Ссылка = ВремНоменклатура.Номенклатура
| ПО ХарактеристикиНоменклатуры.Владелец = ВремНоменклатура.Номенклатура
| И (ВремНоменклатура.ВестиУчетПоХарактеристикам)
|ГДЕ
| ВЫБОР
| КОГДА &ВыгружатьТолькоСЦеной
| И НЕ ВремНоменклатура.ЭтоКомплектующая
| ТОГДА ХарактеристикиНоменклатуры.Ссылка В
| (ВЫБРАТЬ
| ВремЦены.Характеристика
| ИЗ
| ВремЦены КАК ВремЦены)
| ИНАЧЕ ИСТИНА
| КОНЕЦ
| И ВЫБОР
| КОГДА НЕ &ВыгружатьПредложенияТолькоСОстатками ИЛИ ВремНоменклатура.ЭтоКомплектующая
| ТОГДА ИСТИНА
| ИНАЧЕ (ВремНоменклатура.Номенклатура, ХарактеристикиНоменклатуры.Ссылка) В
| (ВЫБРАТЬ
| ВремОстатки.Номенклатура,
| ВремОстатки.Характеристика
| ИЗ
| ВремОстатки КАК ВремОстатки)
| КОНЕЦ
|
|ИНДЕКСИРОВАТЬ ПО
| Номенклатура,
| Характеристика |
Также в запрос, где идет запись во временную таблицу "ВремНоменклатура" добавить выбор полей "Набор" и "Комплект"
Код |
---|
| Номенклатура.Комплект КАК Комплект,
| Номенклатура.Набор КАК Набор
|ПОМЕСТИТЬ ВремНоменклатура
|