Проблема в построении запроса...прошу помощи
Господа, у меня есть проблема в v8:
строю запрос по базе в УТ где выбираю действующую цену товаров и штрихкоды
"ТекстЗапроса = "ВЫБРАТЬ
| ЦеныНоменклатуры.Номенклатура КАК номенклатура,
| ЦеныНоменклатуры.ТипЦен КАК ТипЦен,
| ЦеныНоменклатуры.Цена КАК Цена,
| Штрихкоды.Штрихкод КАК Штрихкод
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен = &розничные
| ) КАК ЦеныНоменклатуры
| ПО ЦеныНоменклатуры.Номенклатура = ЦеныНоменклатуры.Номенклатура
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды
| ПО ЦеныНоменклатуры.Номенклатура = Штрихкоды.Владелец
|ГДЕ
| ЦеныНоменклатуры.ТипЦен= &розничные
|
|СГРУППИРОВАТЬ ПО
| ЦеныНоменклатуры.Номенклатура,
| ЦеныНоменклатуры.ТипЦен,
| ЦеныНоменклатуры.Цена,
| Штрихкоды.Штрихкод " ;
Зап = Новый запрос(ТекстЗапроса);
Зап.УстановитьПараметр("Розничные", справочники.ТипыЦенНоменклатуры.НайтиПоКоду("00002").Ссылка);
Зап.УстановитьПараметр("Дата", ТекущаяДата());
Работает это около 30 минут на базе из 8000 наименований и машине PIV 3,4.
Помогите изменить запрос для ускорения работы при сохранении результата.
Заранее благодарен.
строю запрос по базе в УТ где выбираю действующую цену товаров и штрихкоды
"ТекстЗапроса = "ВЫБРАТЬ
| ЦеныНоменклатуры.Номенклатура КАК номенклатура,
| ЦеныНоменклатуры.ТипЦен КАК ТипЦен,
| ЦеныНоменклатуры.Цена КАК Цена,
| Штрихкоды.Штрихкод КАК Штрихкод
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен = &розничные
| ) КАК ЦеныНоменклатуры
| ПО ЦеныНоменклатуры.Номенклатура = ЦеныНоменклатуры.Номенклатура
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды
| ПО ЦеныНоменклатуры.Номенклатура = Штрихкоды.Владелец
|ГДЕ
| ЦеныНоменклатуры.ТипЦен= &розничные
|
|СГРУППИРОВАТЬ ПО
| ЦеныНоменклатуры.Номенклатура,
| ЦеныНоменклатуры.ТипЦен,
| ЦеныНоменклатуры.Цена,
| Штрихкоды.Штрихкод " ;
Зап = Новый запрос(ТекстЗапроса);
Зап.УстановитьПараметр("Розничные", справочники.ТипыЦенНоменклатуры.НайтиПоКоду("00002").Ссылка);
Зап.УстановитьПараметр("Дата", ТекущаяДата());
Работает это около 30 минут на базе из 8000 наименований и машине PIV 3,4.
Помогите изменить запрос для ускорения работы при сохранении результата.
Заранее благодарен.
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
При получении оперативных данных можно не указывать дату среза, тогда не буде пересчитываться таблица.
Это лишнее: |ГДЕ
| ЦеныНоменклатуры.ТипЦен= &розничные
А как понимать "изменить запрос для ускорения работы при сохранении результата"?
Это лишнее: |ГДЕ
| ЦеныНоменклатуры.ТипЦен= &розничные
А как понимать "изменить запрос для ускорения работы при сохранении результата"?
чтобы не было дублей можно поюзать "ВЫБРАТЬ РАЗЛИЧНЫЕ",
зачем тебе в запросе справочник "Номенклатура"?, условие первого внутреннего соединения я ваще не понял...
Upd.
короче, я бы сделал так:
ВЫБРАТЬ РАЗЛИЧНЫЕ
ЦеныНоменклатуры.Номенклатура КАК номенклатура,
ЦеныНоменклатуры.ТипЦен КАК ТипЦен,
ЦеныНоменклатуры.Цена КАК Цена,
Штрихкоды.Штрихкод КАК Штрихкод
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &розничные) КАК ЦеныНоменклатуры
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды
ПО ЦеныНоменклатуры.Номенклатура = Штрихкоды.Владелец
, потести.
зачем тебе в запросе справочник "Номенклатура"?, условие первого внутреннего соединения я ваще не понял...
Upd.
короче, я бы сделал так:
ВЫБРАТЬ РАЗЛИЧНЫЕ
ЦеныНоменклатуры.Номенклатура КАК номенклатура,
ЦеныНоменклатуры.ТипЦен КАК ТипЦен,
ЦеныНоменклатуры.Цена КАК Цена,
Штрихкоды.Штрихкод КАК Штрихкод
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &розничные) КАК ЦеныНоменклатуры
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды
ПО ЦеныНоменклатуры.Номенклатура = Штрихкоды.Владелец
, потести.
Ситуация такая: в УТ мне надо выгрузить текстовый файл текущих остатков НТТ из строк с параметрами - кот товара, наименование, цена НТТ (для этого и выбираются в первом соединении только нужные цены), остаток в НТТ, остаток по организации в целом, штрих-код товара.
Данный запрос самый долгий по выполнению - почему не понимаю, но на 8000 наименований он работает около 25 минут.
Данный запрос самый долгий по выполнению - почему не понимаю, но на 8000 наименований он работает около 25 минут.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот