|   |   | 
| 
 | Долго формируется печатная форма ТОРГ 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) Мне кажется, проще этот запрос перетащить в консоль запросов и точечно его протестировать в профайлере.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |