![]() |
|
Долго формируется печатная форма ТОРГ 12 | ☑ | ||
---|---|---|---|---|
0
Gossar1C
08.10.15
✎
14:21
|
Здравствуйте уважаемые знатоки!) Возникла проблема в УТ 11.1 с формированием печатной формы ТОРГ 12. А суть в том что формируется очень долго секунд 30-40, с учетом что позиций в документе бывает мало 5-10 позиций. Покопал отладчиком и обнаружил зависание на этой процедуре.
Процедура Поместить Временную Таблицу Коэффициенты Упаковок (МенеджерВременныхТаблиц, ИмяТаблицыТоваров = "ТаблицаТоваров") Экспорт Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц; Запрос.Текст = " |ВЫБРАТЬ | ТаблицаТоваров.Номенклатура, | ТаблицаТоваров.Упаковка КАК Упаковка, | УпаковкиНоменклатуры.Владелец КАК Владелец, | МИНИМУМ(ВЫБОР | КОГДА УпаковкиНоменклатуры.Ссылка ЕСТЬ NULL | ТОГДА 1 | ИНАЧЕ УпаковкиНоменклатуры.Коэффициент | КОНЕЦ) КАК Коэффициент |ПОМЕСТИТЬ Упаковки |ИЗ | " + ИмяТаблицыТоваров + " КАК ТаблицаТоваров | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УпаковкиНоменклатуры КАК УпаковкиНоменклатуры | ПО (УпаковкиНоменклатуры.Родитель = ТаблицаТоваров.Упаковка) | И УпаковкиНоменклатуры.Владелец = | ВЫБОР | КОГДА ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка) | ТОГДА ТаблицаТоваров.Номенклатура | ИНАЧЕ ТаблицаТоваров.Упаковка.Владелец | КОНЕЦ |ГДЕ | НЕ УпаковкиНоменклатуры.ПометкаУдаления | |СГРУППИРОВАТЬ ПО | ТаблицаТоваров.Номенклатура, | ТаблицаТоваров.Упаковка, | УпаковкиНоменклатуры.Владелец |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Упаковки.Номенклатура, | Упаковки.Упаковка КАК Упаковка, | Упаковки.Коэффициент КАК КоэффициентУпаковки, | МИНИМУМ(УпаковкиНоменклатуры.Ссылка) КАК ВложеннаяУпаковка, | МИНИМУМ(УпаковкиНоменклатуры.Коэффициент) КАК КоэффициентВложеннойУпаковки |ПОМЕСТИТЬ ВложенныеУпаковки |ИЗ | Упаковки КАК Упаковки | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УпаковкиНоменклатуры КАК УпаковкиНоменклатуры | ПО Упаковки.Владелец = УпаковкиНоменклатуры.Владелец | И Упаковки.Коэффициент = УпаковкиНоменклатуры.Коэффициент |ГДЕ | УпаковкиНоменклатуры.Родитель = Упаковки.Упаковка | |СГРУППИРОВАТЬ ПО | Упаковки.Номенклатура, | Упаковки.Упаковка, | Упаковки.Коэффициент |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТаблицаТоваров.Номенклатура, | ТаблицаТоваров.КоличествоУпаковок, | ТаблицаТоваров.Количество, | ТаблицаТоваров.Упаковка, | ТаблицаТоваров.НомерСтроки, | ВЫБОР | КОГДА ВложенныеУпаковки.ВложеннаяУпаковка ЕСТЬ NULL | ТОГДА ВЫБОР | КОГДА ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка) | ТОГДА 1 | ИНАЧЕ ТаблицаТоваров.Упаковка.Коэффициент | КОНЕЦ | ИНАЧЕ ВложенныеУпаковки.КоэффициентУпаковки | КОНЕЦ КАК КоэффициентУпаковки, | ВЫБОР | КОГДА ВложенныеУпаковки.ВложеннаяУпаковка ЕСТЬ NULL | ТОГДА ВЫБОР | КОГДА ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка) | ТОГДА 1 | ИНАЧЕ ТаблицаТоваров.Упаковка.Коэффициент | КОНЕЦ | ИНАЧЕ ВложенныеУпаковки.КоэффициентВложеннойУпаковки | КОНЕЦ КАК КоэффициентВложеннойУпаковки, | ВЫБОР | КОГДА ВложенныеУпаковки.ВложеннаяУпаковка ЕСТЬ NULL | ТОГДА ВЫБОР | КОГДА ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка) | ТОГДА ТаблицаТоваров.Номенклатура.ЕдиницаИзмерения | ИНАЧЕ ТаблицаТоваров.Упаковка | КОНЕЦ | ИНАЧЕ ВложенныеУпаковки.ВложеннаяУпаковка | КОНЕЦ КАК ВидУпаковки, | ТаблицаТоваров.Ссылка КАК Ссылка |ПОМЕСТИТЬ КоэффициентыУпаковок |ИЗ | " + ИмяТаблицыТоваров + " КАК ТаблицаТоваров | ЛЕВОЕ СОЕДИНЕНИЕ ВложенныеУпаковки КАК ВложенныеУпаковки | ПО ТаблицаТоваров.Номенклатура = ВложенныеУпаковки.Номенклатура | И ТаблицаТоваров.Упаковка = ВложенныеУпаковки.Упаковка |ИНДЕКСИРОВАТЬ ПО | Ссылка, | НомерСтроки |; | |//////////////////////////////////////////////////////////////////////////////// |УНИЧТОЖИТЬ Упаковки |; |///////////////////////////////////////////////////////////////////////////// |УНИЧТОЖИТЬ ВложенныеУпаковки |"; Запрос.Выполнить(); КонецПроцедуры Запрос и сама процедура типовые. Не могу понять в чем косяк. Заранее спасибо! |
|||
1
ДенисЧ
08.10.15
✎
14:22
|
файловая по сети?
|
|||
2
Gossar1C
08.10.15
✎
14:25
|
клиент-сервер
|
|||
3
ДенисЧ
08.10.15
✎
14:25
|
тогда профайлером лови запрос и смотри в скуле
|
|||
4
DimGan
08.10.15
✎
14:50
|
ТИИ - возможно нужно.
|
|||
5
Gossar1C
08.10.15
✎
14:50
|
(3) что-то я с этим профайлером не разберусь походу
|
|||
6
Gossar1C
08.10.15
✎
14:51
|
(3) точнее трассировку создал, но очень сложно отследить там этот запрос
|
|||
7
vogenut
08.10.15
✎
15:15
|
(6) Установи фильтрацию на Duration > 10000
|
|||
8
piter3
08.10.15
✎
15:16
|
ну тех журнал тебе в помощь
|
|||
9
Tateossian
08.10.15
✎
15:19
|
(7) Мне кажется, проще этот запрос перетащить в консоль запросов и точечно его протестировать в профайлере.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |