Приветствую всех!
Помогите пожалуйста оптимизировать запрос, делал не я, а сам в этом пол года буду плюхаться.
Самый затык в строчках , где выбирается номенклатура и единицы измерения, при том что выводятся иногда 1-2 позиции.
Запрос выполняется очень долго, но если закомментировать эти 2 строчки то будут тысячные секунды.
Как еще можно выдернуть номенклатуру и единицы измерения? Либо как эти запросы оптимизировать?
Помогите пожалуйста оптимизировать запрос, делал не я, а сам в этом пол года буду плюхаться.
Самый затык в строчках
Хозрасчетный.СубконтоКт1
Запрос выполняется очень долго, но если закомментировать эти 2 строчки то будут тысячные секунды.
Как еще можно выдернуть номенклатуру и единицы измерения? Либо как эти запросы оптимизировать?
ВЫБРАТЬ
Хозрасчетный.СубконтоКт1 КАК Номенклатура,
Хозрасчетный.СубконтоКт1.ЕдиницаИзмерения КАК ЕдИзм,
ЕСТЬNULL(Хозрасчетный.КоличествоКт,0) КАК Количество,
Хозрасчетный.НомерСтроки КАК НомерСтроки,
ЕСТЬNULL(Хозрасчетный.Сумма, 0) КАК Сумма,
ЕСТЬNULL(ВЫРАЗИТЬ(Хозрасчетный.Сумма / Хозрасчетный.КоличествоКт КАК ЧИСЛО(10, 2)), 0) КАК Цена
ИЗ
РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто КАК Хозрасчетный
ГДЕ
Хозрасчетный.Регистратор В(&МассивСсылка)
УПОРЯДОЧИТЬ ПО
НомерСтроки
АВТОУПОРЯДОЧИВАНИЕ
ПоказатьПо теме из базы знаний
- Как в 1С оптимизировать запрос – пример ускорения в 6 раз
- Оптимизация запросов 1С:Предприятие – от теории к практике
- Управляемая консоль отчетов – новый функциональный инструмент для работы с запросами и СКД в управляемых формах
- Как читать чужой код? Часть 3. Разбор и доработка запросов
- Варианты отладки и оптимизации запросов в 1С
Найденные решения
(8) Возможно, стоит вообще отказаться от запроса к таблице ДвиженияССубконто и сделать запрос к физическим таблицам Хозрасчетный.
Попробуйте так:
Попробуйте так:
ВЫБРАТЬ
ВЫРАЗИТЬ(ХозрасчетныйСубконто.Значение КАК Справочник.Номенклатура) КАК Номенклатура,
ВЫРАЗИТЬ(ХозрасчетныйСубконто.Значение КАК Справочник.Номенклатура).ЕдиницаИзмерения КАК ЕдИзм,
Хозрасчетный.КоличествоКт КАК Количество,
ХозрасчетныйСубконто.НомерСтроки КАК НомерСтроки,
Хозрасчетный.Сумма КАК Сумма,
ВЫРАЗИТЬ(Хозрасчетный.Сумма / Хозрасчетный.КоличествоКт КАК ЧИСЛО(10, 2)) КАК Цена
ИЗ
РегистрБухгалтерии.Хозрасчетный.Субконто КАК ХозрасчетныйСубконто
ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
ПО (ХозрасчетныйСубконто.Регистратор = Хозрасчетный.Регистратор)
И (ХозрасчетныйСубконто.НомерСтроки = Хозрасчетный.НомерСтроки)
ГДЕ
ХозрасчетныйСубконто.Значение ССЫЛКА Справочник.Номенклатура
И ХозрасчетныйСубконто.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияБухгалтерии.Кредит)
И Хозрасчетный.Регистратор В (&МассивСсылка)
УПОРЯДОЧИТЬ ПО
НомерСтроки
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Хозрасчетный.СубконтоКт1
не при делах.
просто когда вы это поле не комментируете, то начинает работать
самое слабое звено
Хозрасчетный.Регистратор В(&МассивСсылка)
соединение с кучей таблиц и полный скан без индекса.
Если в МассивСсылка всегда документы одного вида, то можно
использовать Выразить, да и и от В лучше избавиться внутренним соединением.
(8) Возможно, стоит вообще отказаться от запроса к таблице ДвиженияССубконто и сделать запрос к физическим таблицам Хозрасчетный.
Попробуйте так:
Попробуйте так:
ВЫБРАТЬ
ВЫРАЗИТЬ(ХозрасчетныйСубконто.Значение КАК Справочник.Номенклатура) КАК Номенклатура,
ВЫРАЗИТЬ(ХозрасчетныйСубконто.Значение КАК Справочник.Номенклатура).ЕдиницаИзмерения КАК ЕдИзм,
Хозрасчетный.КоличествоКт КАК Количество,
ХозрасчетныйСубконто.НомерСтроки КАК НомерСтроки,
Хозрасчетный.Сумма КАК Сумма,
ВЫРАЗИТЬ(Хозрасчетный.Сумма / Хозрасчетный.КоличествоКт КАК ЧИСЛО(10, 2)) КАК Цена
ИЗ
РегистрБухгалтерии.Хозрасчетный.Субконто КАК ХозрасчетныйСубконто
ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
ПО (ХозрасчетныйСубконто.Регистратор = Хозрасчетный.Регистратор)
И (ХозрасчетныйСубконто.НомерСтроки = Хозрасчетный.НомерСтроки)
ГДЕ
ХозрасчетныйСубконто.Значение ССЫЛКА Справочник.Номенклатура
И ХозрасчетныйСубконто.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияБухгалтерии.Кредит)
И Хозрасчетный.Регистратор В (&МассивСсылка)
УПОРЯДОЧИТЬ ПО
НомерСтроки
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот