Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
04 мар 2026, 13:51

выбор реквизитов из заказ покупателя выполняется долго.

Автор andron81_81, Сегодня в 10:42

andron81_81 и 3 гостей просматривают эту тему.

andron81_81

Обычное приложение. УПП.
Запрос состоит из двух выборок. первая во врменную таблицу выборка выполняется влёт (результат выборки около 10 тысяч строк), а вторая выборка 4 минуты.
Во второй ведь ничего особенного всего лишь выбираю реквизиты заказа покупателя.

Как можно оптимизировать что ли ?




ВЫБРАТЬ РАЗРЕШЕННЫЕ
ДанныеТемплана.ДатаТемплана как ДатаТемплана,
ДанныеТемплана.Организация как Организация,
ДанныеТемплана.Показатель как Показатель,
сумма(ДанныеТемплана.Количество) как Количество ,
выбор
КОГДА ТИПЗНАЧЕНИЯ(ДанныеТемплана.Документ) = ТИП(Справочник.НоменклатураТиражи) тогда ОЗ.регистратор
иначе ДанныеТемплана.Документ   
конец Документ
поместить ДанныеТемплана
ИЗ
РегистрСведений.ДанныеТемплана КАК ДанныеТемплана
левое соединение
(выбрать различные оз.Тираж, регистратор из РегистрСведений.ОперацииЗаказа оз) как ОЗ по ОЗ.Тираж = ДанныеТемплана.Документ
ГДЕ
ДанныеТемплана.Организация = &Организация
И ДанныеТемплана.ДатаТемплана >= &НачалоПериода
И ДанныеТемплана.ДатаТемплана <= &КонецПериода 
сгруппировать по
ДанныеТемплана.ДатаТемплана,
ДанныеТемплана.Организация,
ДанныеТемплана.Показатель,
выбор
КОГДА ТИПЗНАЧЕНИЯ(ДанныеТемплана.Документ) = ТИП(Справочник.НоменклатураТиражи) тогда ОЗ.регистратор
иначе ДанныеТемплана.Документ   
конец    ;

выбрать
    ДанныеТемплана.ДатаТемплана,
ДанныеТемплана.Организация,
ДанныеТемплана.Показатель,
ДанныеТемплана.Количество ,
Документ.Контрагент как Контрагент,
Документ.Номер КАК Номер,
Документ.ФорматИздания КАК ФорматИздания,
Документ.ТипПереплета КАК ТипПереплета,
Документ.ТипОформленияОбложки КАК ТипОформленияОбложки,
Документ.ВидСкрепления КАК ВидСкрепления,
Документ.ОсновноеПечатноеОборудование КАК ОсновноеПечатноеОборудование,
Документ.ОбъемИздания КАК ОбъемИздания,
Документ.ОбъемВкладки КАК ОбъемВкладки,
Документ.ОбъемПриклейки КАК ОбъемПриклейки,
Документ.Тираж КАК Тираж,
Документ.НоменклатураСтрока КАК НоменклатураСтрока
из ДанныеТемплана




LexaK

andron81_81, так во втором запросе, явно привяжите нужный тип документа
(левое соединение Документ...)
у вас ДанныеТемплана.Документ составного типа, или вообще неопределено может быть
соответственно перебор реквизитов через точку, перебирает все типы объектов базы
если помогло нажмите: Спасибо!

andron81_81

LexaK,

поле Документ из первого запроса имеет всегда тип ЗаказПокупателя. просто в зависимости от типа я его там выбираю из разных так сказать источников. причем ДанныеТемплана.Документ всегда определено !

LexaK

andron81_81, сделайте, как написано выше
и выполните запрос.
там много если...
проще сразу использовать левое соединение к нужному типу документа
если помогло нажмите: Спасибо!

andron81_81

LexaK, то есть грубо говоря вы хотите сказать, что в первом запросе в поле документ "тип неизвестен" ?
а лефт джоином во втором мы типизируем как бы это поле ? и всё будет быстро, так  ?

LexaK

andron81_81,
1 - нет (понятия не имею какой тип там может быть/получиться)
2 - да

так просто проверьте!!!
если помогло нажмите: Спасибо!

andron81_81

LexaK, вы то не имеете понятия, я про запрос, что не имеет понятия при типизации.

LexaK

Цитата: andron81_81 от Сегодня в 13:31я про запрос, что не имеет понятия при типизации.
поэтому и надо его явно задать!
левым соединением! (похоже, уже по третьему кругу пошли  :xfbnsdfb:  )
если помогло нажмите: Спасибо!

Похожие темы (5)

Рейтинг@Mail.ru

Поиск