Имя: Пароль:
1C
 
Скорость получения остатков по регистру
0 Владимир1С
 
21.05.08
17:12
Подскажите, пожалуйста, каким образом быстрее получаются остатки по регистру: через "чёрный" запрос или просто функциями. База ЭсКуЭль, сетевая, без могниторов. Остатки предполагается получать в последнем проводимом документе, на границе актуальности.
1 Ёпрст
 
гуру
21.05.08
17:14
прямым запросом
2 Ёпрст
 
гуру
21.05.08
17:14
+1 И обычный запрос в модуле проведения - имхо, моветон.
3 Nite
 
21.05.08
17:15
Похоже человек с партиями или производством борется :)
Не хватает фразы "дятлы долбят" (Копилефт У-лю)
4 Владимир1С
 
21.05.08
17:18
Большое спасибо вам, добрые люди!
5 Nite
 
21.05.08
17:20
(4) Ответ в (1)
6 Mikeware
 
21.05.08
17:22
(0) а что значит "без могниторов"?
7 Владимир1С
 
21.05.08
17:32
Без удалённого подключения к серверу - данные гоняться по сети на рабочий компьютер. %(
8 МихаилМ
 
21.05.08
17:45
выгрузитьостатки()
я тестировал при выгрузке ~35000 строк
выгрузитьостатки() - 1.7 сек

запрос.Выполнить() + Выгрузить() - 105 сек

под профайлером выяснилось, что 1с-на расчитывает остатки , как на начало периода , так и на конец. К томуже запрос фетчит по 50 строк,

но если используя запрос заменить предложение В СЗ, на кучу  (тов = перем1) или ... (тов = перем N )
и начальную границу выставить до начала движений и колво строк в рез. выборке < 51 - то может быть объект "запрос" и обгонит  выгрузитьостатки()  

тк установитьфильтр()  и "В" - ужасно тормознутые, кривонаписанные.
9 Джинн
 
21.05.08
17:52
(8) Не обгонит. Он еще и группировки на локальной машине собирает :)
Давно известный факт - выгрузка итогов быстрее запроса примерно в пять раз.