|
v7: Чем можно заменить расчет регистра остатков? | ☑ | ||
---|---|---|---|---|
0
Zhuravlik
26.07.11
✎
11:20
|
Здравствуйте. Есть документ, который очень долго проводиться, попросили оптимизировать. В обработке проведения сразу обратил внимание на строчки:
if( ИтогиАктуальны()=0 )then Рег2.ВременныйРасчет(1); РассчитатьРегистрыНа(ТекущийДокумент()); endif; Решил замерить время: start = _GetPerformanceCounter(); if( ИтогиАктуальны()=0 )then Рег2.ВременныйРасчет(1); РассчитатьРегистрыНа(ТекущийДокумент()); endif; fin = _GetPerformanceCounter(); time = Окр((fin - start)/1000); Сообщить("Время расчета регистров:" + Строка(time) + "Для документа " + Строка(ТекущийДокумент())); start = _GetPerformanceCounter(); //Весь остальной код fin = _GetPerformanceCounter(); time = Окр((fin - start)/1000); Сообщить("Время остальных операций:" + Строка(time) + "Для документа " + Строка(ТекущийДокумент())); И перепровел в тестовой базе все документы этого вида эа два дня, в итоге получилось что на расчет регистров тратиться 19-26 секунд, а на остальные операции 1-2 сек. В дальнейшем он используется так: рег2.СводныеОстатки(,МатериалГаз.ТекущийЭлемент(),); Если рег2.Количество = 0 Тогда Сумма_=0; Иначе Сумма_= рег2.Сумма/рег2.Количество; КонецЕсли; Я не очень опытен, не знаю как от этого расчета избавится, и возможно ли это вообще. |
|||
1
viktor_vv
26.07.11
✎
11:25
|
Поставить фильтры на регистр.
|
|||
2
Zhuravlik
26.07.11
✎
12:04
|
(1) Спасибо) Намного быстрее, но возникла проблема, мне надо установить фильтр на несколько значений измерения, я могу их задать списокм значений?
|
|||
3
Mikeware
26.07.11
✎
12:05
|
(2) СП украли?
|
|||
4
Мимохожий Однако
26.07.11
✎
12:07
|
Выровняй Дату актуальности и границу последовательности.
|
|||
5
Zhuravlik
26.07.11
✎
12:07
|
(3) нет, просто надо быстрее, я и там и здесь... Вот нашел УстановитьЗначенияФильтра, вроде то?
|
|||
6
Mikeware
26.07.11
✎
12:09
|
(5) пардон, я не посмотрел, что ты 1986...
|
|||
7
Zhuravlik
26.07.11
✎
12:14
|
(6) Я говорил, что неопытен.
(1)Взял метод УстановитьЗначенияФильтра, создал список значений для него, все выполняется быстрее гораздо) Спасибо Вам за помощь |
|||
8
Mikeware
26.07.11
✎
12:15
|
(7) 86 - это не "неопытность", и не "молодость". Это - увы - диагноз.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |