|
Отчет Унифицированная форма Т-13 в УПП формируется очень долго | ☑ | ||
---|---|---|---|---|
0
malets
23.08.13
✎
16:16
|
Здравствуйте, коллеги!
Кто-нибудь сталкивался с такой проблемой в Унифицированной форме Т-13, что при выборе в отборе организации отчет формируется гораздо медленне, чем без отбора? строка на которой висит отчет по 2 часа: ПроцессорВывода.Вывести(ПроцессорКомпоновки). |
|||
1
piter3
23.08.13
✎
16:32
|
замер производительности что показывает (топ по времени)?
|
|||
2
malets
23.08.13
✎
16:34
|
около 3000 (1)
|
|||
3
piter3
23.08.13
✎
16:38
|
под полными правами что? обслуживание базы?
|
|||
4
malets
23.08.13
✎
16:39
|
это под полными правами столько формируется. Второй вопрос не поняла.
|
|||
5
piter3
23.08.13
✎
16:40
|
файловая или sql?
|
|||
6
malets
23.08.13
✎
16:41
|
база на sql.
|
|||
7
piter3
23.08.13
✎
16:46
|
(4)переиндексация, обновление статистики. недавно начались тормоза или всегда
|
|||
8
malets
23.08.13
✎
16:53
|
(7)те три месяца, что я работаю с этой базой, пользователи все время жаловались, что этот отчет медленно формируется. Я долго анализировала код и сам запрос. В итоге оказалось, что торможение такое возникает именно когда делается отбор по организации, если не ставить отбор, то скорость формирования устраивает. Переиндексация и обновление статистики не производились.
|
|||
9
piter3
23.08.13
✎
16:56
|
делайте и резервирование не забудьте добавить
|
|||
10
malets
23.08.13
✎
17:02
|
(9) ввела вас в заблуждение, на самом деле и переиндексация и обновление статистики делаются каждую ночь вместе с созданием резервной копии базы.
|
|||
11
piter3
23.08.13
✎
17:11
|
висит 2 часа это сколько сотрудников кстати?
|
|||
12
malets
23.08.13
✎
17:13
|
это при отборе по одному подразделению, в котором 22 человека.
|
|||
13
malets
23.08.13
✎
17:14
|
Если без отбора по организации, то замер показывает на этой строке 0,76.
|
|||
14
malets
23.08.13
✎
17:22
|
Не знаю, куда дальше можно копать. Если б дело было в запросе , то можно было бы его как-то оптимизировать, а тут... не знаю... посоветуйте что-нибудь.
|
|||
15
piter3
23.08.13
✎
17:24
|
релиз упп и платформы
|
|||
16
malets
23.08.13
✎
17:26
|
1С:Предприятие 8.2 (8.2.18.109)
Управление птицефабрикой, редакция 1.3 (1.3.41.1) отраслевое решение на базе УПП. |
|||
17
piter3
23.08.13
✎
17:28
|
а 18 это зачем требование?
|
|||
18
piter3
23.08.13
✎
17:31
|
другио отчеты на скд тоже тупят али как?
|
|||
19
malets
23.08.13
✎
17:31
|
не вставало очередное обновление, поэтому пришлось поставить 18.
|
|||
20
piter3
23.08.13
✎
17:34
|
я бы в демке еще попробовал
|
|||
21
piter3
23.08.13
✎
17:35
|
еще вариант в копии тестирование чере конфигуратор сделать
|
|||
22
DarKySiK
23.08.13
✎
17:46
|
Отчет в принципе туго работает, когда отбор по подразделению или по организации делаешь. Можно попробовать оптимизировать типовой запрос. Этот вопрос на форуме всплывал кстати.
|
|||
23
piter3
23.08.13
✎
17:49
|
(22) автор утверждает 2 часа на 22 сотрах.
|
|||
24
piter3
23.08.13
✎
17:50
|
ответь на (18)
|
|||
25
DarKySiK
23.08.13
✎
17:52
|
(24) Да пятница у нее уже)
|
|||
26
malets
26.08.13
✎
09:16
|
(18) Извините, действительно, у меня уже была пятница, рабочий день закончился :). На другие отчеты пользователи не жаловались. Запустила другой отчет Унифицированную форму Т-2 с теми же отборами по подразделению (с организацией и без нее) - похожих тормозов не наблюдается. Сейчас на копии попробую тестирование провести...
(23) Ну почти 2 часа (3000 секунд). |
|||
27
SeraFim
26.08.13
✎
09:20
|
||||
28
malets
26.08.13
✎
09:30
|
(27) Да, уже видела эту тему. Попробую изменить запрос, может, будет быстрее работать. С функцией ПроверитьВыводТабличногоДокумента я уже разобралась, т.к. она тоже очень долго работает, заменила ее на простой подсчет строк на странице.
|
|||
29
malets
10.09.13
✎
15:39
|
(21) Тестирование и исправление не помогло. Остался еще вариант в демо-базе попробовать, но позже.
|
|||
30
piter3
10.09.13
✎
15:41
|
(29)мы не торопимся :)
|
|||
31
Бледно Золотистый
10.09.13
✎
15:43
|
(29) Если тормозит ПроверитьВыводТабличногоДокумента, то может с драйверами принтера проблемы?
|
|||
32
RomaH
naïve
10.09.13
✎
15:48
|
(31) тормозит - в твоем понимании это сколько времени на выполнение метода?
|
|||
33
malets
10.09.13
✎
15:49
|
(31) С драйверами нет проблем. К тому же с методом ПроверитьВыводТабличногоДокумента я уже разобралась...
|
|||
34
RomaH
naïve
10.09.13
✎
15:52
|
(23) там отчет так написан, что информация по подразделению с одним человеком обрабатывается по ВСЕМ сотрудникам когда либо работавшим в предприятии (это сначала - когда таблица с датами получается)
а только потом на неё накладывается фильтр по организации/подразделению и она уменьшается до списка ВСЕ когда либо работавших в подразделении/организации - и дальше уже эта таблица обрабатывается алгоритмом модуля отчета |
|||
35
malets
10.09.13
✎
15:59
|
(34) У меня несколько другая проблема. Как таковой запрос формируется достаточно быстро, оооочень медленно работает именно строка с кодом ПроцессорВывода.Вывести(ПроцессорКомпоновки) и только если стоит отбор по Организации. Если отбор не стоит, то все хорошо.
|
|||
36
RomaH
naïve
10.09.13
✎
16:01
|
(35) ну так там как бы два запроса
первый в СКД - он как раз и выполняется ПроцессорВывода другой в модуле - он обрабатывает то что получается в СКД см (27) |
|||
37
RomaH
naïve
10.09.13
✎
16:02
|
кинь запрос из СКД сюда - сильно отличается от ЗУП?
|
|||
38
malets
10.09.13
✎
16:40
|
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ПоследниеДаты.ПериодРегистрации КАК ПериодРегистрации, РаботникиОрганизаций.Сотрудник КАК Сотрудник, ВЫБОР КОГДА РаботникиОрганизаций.ПериодЗавершения <= ПоследниеДаты.ДатаКалендаря И РаботникиОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) ТОГДА РаботникиОрганизаций.ОбособленноеПодразделениеЗавершения ИНАЧЕ РаботникиОрганизаций.ОбособленноеПодразделение КОНЕЦ КАК Организация, РаботникиОрганизаций.Сотрудник.Физлицо КАК Физлицо, ВЫБОР КОГДА РаботникиОрганизаций.ПериодЗавершения <= ПоследниеДаты.ДатаКалендаря И РаботникиОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) ТОГДА РаботникиОрганизаций.ПодразделениеОрганизацииЗавершения ИНАЧЕ РаботникиОрганизаций.ПодразделениеОрганизации КОНЕЦ КАК ПодразделениеОрганизации, ВЫБОР КОГДА РаботникиОрганизаций.ПериодЗавершения <= ПоследниеДаты.ДатаКалендаря И РаботникиОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) ТОГДА РаботникиОрганизаций.ДолжностьЗавершения ИНАЧЕ РаботникиОрганизаций.Должность КОНЕЦ КАК Должность, ВЫБОР КОГДА РаботникиОрганизаций.ПериодЗавершения <= ПоследниеДаты.ДатаКалендаря И РаботникиОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) ТОГДА РаботникиОрганизаций.ГрафикРаботыЗавершения ИНАЧЕ РаботникиОрганизаций.ГрафикРаботы КОНЕЦ КАК ГрафикРаботы, РаботникиОрганизаций.Организация КАК ГоловнаяОрганизация, ПоследниеДаты.ДатаКалендаря ПОМЕСТИТЬ Сотрудники ИЗ (ВЫБРАТЬ ДатыПоследнихДвижений.ПериодРегистрации КАК ПериодРегистрации, ДатыПоследнихДвижений.Период КАК Период, РаботникиОрганизаций.Сотрудник КАК Физлицо, РаботникиОрганизаций.Организация КАК Организация, КОЛИЧЕСТВО(РаботникиОрганизаций.Период) КАК КолВоДвижений, ДатыПоследнихДвижений.ДатаКалендаря КАК ДатаКалендаря ИЗ (ВЫБРАТЬ Периоды.Период КАК ПериодРегистрации, МАКСИМУМ(РаботникиОрганизаций.Период) КАК Период, РаботникиОрганизаций.Сотрудник КАК Физлицо, РаботникиОрганизаций.Организация КАК Организация, Периоды.ДатаКалендаря КАК ДатаКалендаря ИЗ (ВЫБРАТЬ РАЗЛИЧНЫЕ НАЧАЛОПЕРИОДА(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, МЕСЯЦ) КАК Период, РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК ДатаКалендаря ИЗ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь ГДЕ РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачалоПериода И &КонецПериода) КАК Периоды ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций ПО (РаботникиОрганизаций.Период <= Периоды.ДатаКалендаря) {ГДЕ РаботникиОрганизаций.Сотрудник.Физлицо.* КАК Физлицо} СГРУППИРОВАТЬ ПО Периоды.Период, РаботникиОрганизаций.Организация, РаботникиОрганизаций.Сотрудник, Периоды.ДатаКалендаря) КАК ДатыПоследнихДвижений ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций ПО ДатыПоследнихДвижений.Организация = РаботникиОрганизаций.Организация И ДатыПоследнихДвижений.Период = РаботникиОрганизаций.Период И ДатыПоследнихДвижений.Физлицо = РаботникиОрганизаций.Сотрудник {ГДЕ РаботникиОрганизаций.Сотрудник.Физлицо.* КАК Физлицо} СГРУППИРОВАТЬ ПО ДатыПоследнихДвижений.ПериодРегистрации, РаботникиОрганизаций.Организация, ДатыПоследнихДвижений.Период, РаботникиОрганизаций.Сотрудник, ДатыПоследнихДвижений.ДатаКалендаря) КАК ПоследниеДаты ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций ПО ПоследниеДаты.Организация = РаботникиОрганизаций.Организация И ПоследниеДаты.Период = РаботникиОрганизаций.Период И ПоследниеДаты.Физлицо = РаботникиОрганизаций.Сотрудник ГДЕ (ПоследниеДаты.КолВоДвижений = 2 И РаботникиОрганизаций.ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение) ИЛИ ПоследниеДаты.КолВоДвижений = 1) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗРЕШЕННЫЕ Сотрудники.ПериодРегистрации КАК ПериодРегистрации, Сотрудники.Сотрудник КАК Сотрудник, Сотрудники.Организация КАК Организация, Сотрудники.Физлицо КАК Физлицо, Сотрудники.ПодразделениеОрганизации КАК ПодразделениеОрганизации, Сотрудники.Должность КАК Должность, Сотрудники.ГоловнаяОрганизация КАК ГоловнаяОрганизация, Сотрудники.ДатаКалендаря КАК ДатаКалендаря, Сотрудники.ГрафикРаботы {ВЫБРАТЬ ПериодРегистрации, Сотрудник.*, Организация.*, Физлицо.*, ПодразделениеОрганизации.*, Должность.*, ГоловнаяОрганизация.*, ДатаКалендаря} ИЗ Сотрудники КАК Сотрудники |
|||
39
malets
10.09.13
✎
16:43
|
(36) Дело в том, что запрос один и тот же в случае с отбором и без него. Так почему же такая разница во времени формирования отчета?
|
|||
40
piter3
10.09.13
✎
17:36
|
специально проверил: в (38) срабатывают быстрые отборы по сотру и подр-ю. и занимает все это секунды.
|
|||
41
piter3
10.09.13
✎
17:51
|
+ к (40) наверняка в виде условия "ГДЕ"
|
|||
42
piter3
11.09.13
✎
08:58
|
а сколько записей в РаботникиОрганизаций?
|
|||
43
RomaH
naïve
11.09.13
✎
08:59
|
(40) ты это проверял на какой базе?
7 лет и штат 2000 с текучкой в 30% в год? |
|||
44
RomaH
naïve
11.09.13
✎
09:01
|
(38) см (27) ... ну и не забудь условие которое не поместилось в (38) добавить в первую выборку {ГДЕ ...
|
|||
45
piter3
11.09.13
✎
09:13
|
(43) 5 лет штат около 4к, о текучке помолчу. лучше в попугаях пусть скажет.
(44) если все равно сначала выбираются все записи, а потом на этот набор еще и где... меня интересует почему ГДЕ тормозит:выборка мегабольшая или что? |
|||
46
RomaH
naïve
11.09.13
✎
09:16
|
(ВЫБРАТЬ РАЗЛИЧНЫЕ
НАЧАЛОПЕРИОДА(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, МЕСЯЦ) КАК Период, РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК ДатаКалендаря ИЗ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь ГДЕ РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачалоПериода И &КонецПериода) КАК Периоды ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций ПО (РаботникиОрганизаций.Период <= Периоды.ДатаКалендаря) маленькая выборка получится? |
|||
47
RomaH
naïve
11.09.13
✎
09:19
|
(45) да - путем сокращения выборки добиваемся ускорения в ... 30 раз
|
|||
48
piter3
11.09.13
✎
09:25
|
(46) никто и не спорит
все таки хочу ответ на (42) |
|||
49
RomaH
naïve
11.09.13
✎
09:41
|
(48) у меня 60 000 сейчас
|
|||
50
RomaH
naïve
11.09.13
✎
09:45
|
(48) а первая таблица в СКД за август получается в 750 000
|
|||
51
RomaH
naïve
11.09.13
✎
09:49
|
проверил в консоли запросов - в общем-то просто запрос - ничего криминального - ну секунд 5-8 отрабатывает все это
наложение условий на конечную таблицу не увеличивает время работы возможно время уходит в характеристики у меня кучка характеристик к должностям привязывается и к подразделению парочка |
|||
52
RomaH
naïve
11.09.13
✎
10:09
|
(51) - не - нифига - убрал характеристики из СКД - все-равно подвисает на формировании
|
|||
53
piter3
11.09.13
✎
10:19
|
(49)(50) 22к и 250к
(51) время такое же примерно. теперь вопрос на миллион чего у автора тогда такие тормоза |
|||
54
RomaH
naïve
11.09.13
✎
11:52
|
(53) у меня тоже тормаза - тормаза проявляются именно в СКД
запрос отрабатывает приемлемо а вот СКД - 260 сек у меня |
|||
55
malets
12.09.13
✎
14:10
|
(40) Количество записей в РаботникиОрганизаций 16 248
|
|||
56
malets
12.09.13
✎
14:26
|
(55) к (42)
|
|||
57
RomaH
naïve
12.09.13
✎
15:19
|
(56) ну так что? помогло?
|
|||
58
RomaH
naïve
12.09.13
✎
15:20
|
(55) и сколько у тебя формируется один отчет по небольшому подразделению? сколько времени СКД отрабатывает?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |