|
v8: Замер производительности по отчету | ☑ | ||
---|---|---|---|---|
0
lamme
27.08.13
✎
17:02
|
выдает , что строка
начало цикла ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаНоменклатура); ТабДок.Вывести(ОбластьДетальныхЗаписей); // вот эта строк конеццикла занимает 95% времени от всего формирования отчета что не так ? |
|||
1
Ненавижу 1С
гуру
27.08.13
✎
17:04
|
гордишься?
|
|||
2
Maxus43
27.08.13
✎
17:05
|
что плохого? или хорошего?
Поидее хорошо даже, выборка данных занимает всего ничего |
|||
3
lamme
27.08.13
✎
17:05
|
обращений к этой строке 2100 раз
чуть где-то ниже идет строка ТабДок.Присоединить(ОбластьДетальныхЗаписейСклад); обращений к ней 10900 раз, но % занимает 1,74% |
|||
4
lamme
27.08.13
✎
17:05
|
не горжусь.
печалюст |
|||
5
lamme
27.08.13
✎
17:06
|
одним словом
была база файловая- отчет формировался 20 сек стала скульная - отчет формируется 2 мин замер производительности показывает .. ну в топике |
|||
6
lamme
27.08.13
✎
17:06
|
отчет самописный
|
|||
7
acanta
27.08.13
✎
17:06
|
В текстовый файл не быстрее будет?
|
|||
8
ДенисЧ
27.08.13
✎
17:07
|
ЗАпрос кажи.
|
|||
9
lamme
27.08.13
✎
17:07
|
в текстовый файл - что ?
не понял |
|||
10
acanta
27.08.13
✎
17:08
|
А там в таблице в формулах нечего сократить?
|
|||
11
lamme
27.08.13
✎
17:08
|
запрос
Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ТаблицаРегистра.Номенклатура КАК Номенклатура, | ТаблицаРегистра.Номенклатура.Код КАК Код, | ТаблицаРегистра.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ТаблицаРегистра.КоличествоОстаток КАК КоличествоОстаток, | ТаблицаРегистра.КоличествоОстаток * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоБазовыхЕдОстаток, | ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ЦеныНоменклатурыБезХарактеристик.Цена * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ЦеныНоменклатурыБезХарактеристик.ЕдиницаИзмерения.Коэффициент * (КурсыВалютСрезПоследнихБезХарактеристик.Курс / КурсыВалютСрезПоследнихБезХарактеристик.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | ИНАЧЕ ЦеныНоменклатуры.Цена * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент * (КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | КОНЕЦ КАК ТипЦенЦена, | ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ТаблицаРегистра.КоличествоОстаток * (ЦеныНоменклатурыБезХарактеристик.Цена / ЦеныНоменклатурыБезХарактеристик.ЕдиницаИзмерения.Коэффициент) * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследнихБезХарактеристик.Курс / КурсыВалютСрезПоследнихБезХарактеристик.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | ИНАЧЕ ТаблицаРегистра.КоличествоОстаток * (ЦеныНоменклатуры.Цена / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент) * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | КОНЕЦ КАК ТипЦенСтоимость, | СпрНоменклатура.Марка_, | СпрНоменклатура.КраткоеНаименование_, | СпрНоменклатура.ПравоЛево_, | СпрНоменклатура.ПередЗад_, | СпрНоменклатура.ВерхНиз_, | СпрНоменклатура.Модель_, | СпрНоменклатура.Кузов_, | СпрНоменклатура.Двигатель_, | СпрНоменклатура.Код |{ВЫБРАТЬ | Номенклатура.*, | ХарактеристикаНоменклатуры.*, | КоличествоОстаток, | КоличествоБазовыхЕдОстаток, | ТипЦенЦена, | ТипЦенСтоимость} |ИЗ | РегистрСведений.КурсыВалют.СрезПоследних(&ДатаКон, Валюта = &ВалютаУпрУчета) КАК УпрВалюты, | РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаКон, {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ТаблицаРегистра | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон, ТипЦен = &БазовыйТипЦен {(Номенклатура).* КАК Номенклатура}) КАК ЦеныНоменклатуры | ПО ТаблицаРегистра.Номенклатура = ЦеныНоменклатуры.Номенклатура | И ТаблицаРегистра.ХарактеристикаНоменклатуры = ЦеныНоменклатуры.ХарактеристикаНоменклатуры | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних( | &ДатаКон, | ТипЦен = &БазовыйТипЦен | И ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) {(Номенклатура).* КАК Номенклатура}) КАК ЦеныНоменклатурыБезХарактеристик | ПО ТаблицаРегистра.Номенклатура = ЦеныНоменклатурыБезХарактеристик.Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаКон, ) КАК КурсыВалютСрезПоследних | ПО (ЦеныНоменклатуры.Валюта = КурсыВалютСрезПоследних.Валюта) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаКон, ) КАК КурсыВалютСрезПоследнихБезХарактеристик | ПО (ЦеныНоменклатурыБезХарактеристик.Валюта = КурсыВалютСрезПоследнихБезХарактеристик.Валюта) | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура | ПО ТаблицаРегистра.Номенклатура = СпрНоменклатура.Ссылка |ГДЕ | ТаблицаРегистра.Номенклатура В ИЕРАРХИИ(&ВыбНоменклатура) | И ТаблицаРегистра.КоличествоОстаток > 0 |{ГДЕ | ТаблицаРегистра.Склад.* КАК Склад, | ТаблицаРегистра.Номенклатура.* КАК Номенклатура, | ТаблицаРегистра.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, | ТаблицаРегистра.КоличествоОстаток КАК КоличествоОстаток, | (ТаблицаРегистра.КоличествоОстаток * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК КоличествоБазовыхЕдОстаток, | (ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ЦеныНоменклатурыБезХарактеристик.Цена * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ЦеныНоменклатурыБезХарактеристик.ЕдиницаИзмерения.Коэффициент * (КурсыВалютСрезПоследнихБезХарактеристик.Курс / КурсыВалютСрезПоследнихБезХарактеристик.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | ИНАЧЕ ЦеныНоменклатуры.Цена * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент * (КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | КОНЕЦ) КАК ТипЦенЦена, | (ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ТаблицаРегистра.КоличествоОстаток * (ЦеныНоменклатурыБезХарактеристик.Цена / ЦеныНоменклатурыБезХарактеристик.ЕдиницаИзмерения.Коэффициент) * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследнихБезХарактеристик.Курс / КурсыВалютСрезПоследнихБезХарактеристик.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | ИНАЧЕ ТаблицаРегистра.КоличествоОстаток * (ЕСТЬNULL(ЦеныНоменклатуры.Цена, ЦеныНоменклатурыБезХарактеристик.Цена) / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент) * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | КОНЕЦ) КАК ТипЦенСтоимость} | |УПОРЯДОЧИТЬ ПО | Номенклатура |{УПОРЯДОЧИТЬ ПО | ТаблицаРегистра.Номенклатура.* КАК Номенклатура, | ТаблицаРегистра.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, | КоличествоОстаток КАК КоличествоОстаток, | (ТаблицаРегистра.КоличествоОстаток * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК КоличествоБазовыхЕдОстаток, | (ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ЦеныНоменклатурыБезХарактеристик.Цена * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ЦеныНоменклатурыБезХарактеристик.ЕдиницаИзмерения.Коэффициент * (КурсыВалютСрезПоследнихБезХарактеристик.Курс / КурсыВалютСрезПоследнихБезХарактеристик.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | ИНАЧЕ ЦеныНоменклатуры.Цена * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент * (КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | КОНЕЦ) КАК ТипЦенЦена, | (ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ТаблицаРегистра.КоличествоОстаток * (ЦеныНоменклатурыБезХарактеристик.Цена / ЦеныНоменклатурыБезХарактеристик.ЕдиницаИзмерения.Коэффициент) * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследнихБезХарактеристик.Курс / КурсыВалютСрезПоследнихБезХарактеристик.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | ИНАЧЕ ТаблицаРегистра.КоличествоОстаток * (ЕСТЬNULL(ЦеныНоменклатуры.Цена, ЦеныНоменклатурыБезХарактеристик.Цена) / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент) * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | КОНЕЦ) КАК ТипЦенСтоимость} |ИТОГИ | СУММА(КоличествоОстаток) |ПО | Номенклатура, | ХарактеристикаНоменклатуры |{ИТОГИ ПО | ТаблицаРегистра.Номенклатура.* КАК Номенклатура, | ТаблицаРегистра.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры} |АВТОУПОРЯДОЧИВАНИЕ"; |
|||
12
lamme
27.08.13
✎
17:10
|
запрос НЕ мой ( в смысле - первый раз вижу)
10 - в отчете 15 колонок тело - код номенклатура характеристика остальные колонки - присоединяемые. в колонках - только одно поле - шаблон. остальные - выражения сокращать как бы нечего |
|||
13
lamme
27.08.13
✎
17:11
|
судя по всему - брался типовой отчет прайса
и он доделывался |
|||
14
ДенисЧ
27.08.13
✎
17:11
|
Выдерни вместо ссылок на номенклатуру и прочие объекты - представление. И настрой макет так, чтобы он брал именно представления, а не ссылки
|
|||
15
lamme
27.08.13
✎
17:12
|
про выдерни вместо ссылок - не понял
щас - покрую - обмозгую что сказал |
|||
16
zavrik
27.08.13
✎
17:12
|
СКД не предлагать?
|
|||
17
lamme
27.08.13
✎
17:13
|
(16)
неа |
|||
18
ДенисЧ
27.08.13
✎
17:15
|
(15) напиши
ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРДСТАВЛЕНИЕ(ТаблицаРегистра.Номенклатура) КАК Номенклатура, |
|||
19
ДенисЧ
27.08.13
✎
17:15
|
ПРЕДСТАВЛЕНИЕ то есть
|
|||
20
lamme
27.08.13
✎
17:17
|
(19)
ага сделал типа такого выбрад в запросе еще поля | ТаблицаРегистра.Номенклатура.Представление, и тд и при выводе в отчет - вывожу именно это предатсвление уже шустрее |
|||
21
lamme
27.08.13
✎
17:19
|
ха. уже намного шустрее.
не знал не знал этого (19) спасибо |
|||
22
ДенисЧ
27.08.13
✎
17:19
|
(21) А если ты подумаешь немного, то поймёшь почему :-)
|
|||
23
lamme
27.08.13
✎
17:20
|
(22)
я это понимаю в таблицу когда выводишь ссылку- подтягивается именно ссылка - со всеми данными и тд и тп а в представление - это просто строка. без последствий |
|||
24
acanta
27.08.13
✎
17:23
|
Думать вредно. Без предыстории, это когда девушка сразу согласна, но ты сомневаешься и хочешь знать почему.. так медленно и печально..
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |