Имя: Пароль:
1C
1С v8
Оптимизация запроса
,
0 wylde
 
03.10.12
12:12
как можно оптимизировать такой запрос?

ВЫБРАТЬ
ТоварныеЗапасыОстатки.Товар КАК Товар,
ТоварныеЗапасыОстатки.Склад,
ТоварныеЗапасыОстатки.КоличествоОстаток КАК КоличествоОстаток
ИЗ
РегистрНакопления.ТоварныеЗапасы.Остатки(&Период, ) КАК ТоварныеЗапасыОстатки
ГДЕ
ТоварныеЗапасыОстатки.Товар = &Товар
ИТОГИ
СУММА(КоличествоОстаток)
ПО
ОБЩИЕ,
Товар
1 mikecool
 
03.10.12
12:12
Где перенести в параметры ВТ
2 Kashemir
 
03.10.12
12:12
ВЫБРАТЬ
ТоварныеЗапасыОстатки.Товар КАК Товар,
ТоварныеЗапасыОстатки.Склад,
ТоварныеЗапасыОстатки.КоличествоОстаток КАК КоличествоОстаток
ИЗ
РегистрНакопления.ТоварныеЗапасы.Остатки(&Период,Товар = &Товар ) КАК ТоварныеЗапасыОстатки

ИТОГИ
СУММА(КоличествоОстаток)
ПО
ОБЩИЕ,

Товар
3 wylde
 
03.10.12
12:16
Спасибо! А еще такой вопрос. Если данный запрос выводит более тысячи строк в табличный документ, можно ли как то ускорить вывод строк?
4 zladenuw
 
03.10.12
12:17
заполняешь как ?
5 mikecool
 
03.10.12
12:18
(3) скрой его от глаз пользователя, покажи после вывода
6 H A D G E H O G s
 
03.10.12
12:18
(3) Можно
7 H A D G E H O G s
 
03.10.12
12:18
(5) Фигня
8 Sammo
 
03.10.12
12:19
Товар в табличном документе это что? Если строка - используй Представление или Наименование - при выводе идет неявное преобразование ссылочного типа в строку, но объемах в сотни тысяч строк уже чувствительно. Аналогично Склад.

Хотя - кому нужен отчет в тысячи строк?
9 H A D G E H O G s
 
03.10.12
12:20
ВЫБРАТЬ
Представление(ТоварныеЗапасыОстатки.Товар) КАК ТоварПредставление,
ТоварныеЗапасыОстатки.Товар КАК Товар,
ТоварныеЗапасыОстатки.Склад как Склад,
Представление(ТоварныеЗапасыОстатки.Склад) как СкладПредставление,
ТоварныеЗапасыОстатки.КоличествоОстаток КАК КоличествоОстаток
ИЗ
РегистрНакопления.ТоварныеЗапасы.Остатки(&Период,Товар = &Товар ) КАК ТоварныеЗапасыОстатки

ИТОГИ
СУММА(КоличествоОстаток)
ПО
ОБЩИЕ,
10 mikecool
 
03.10.12
12:20
(7) да ладно
11 wylde
 
03.10.12
12:23
Спасибо всем! Попробуем!
12 H A D G E H O G s
 
03.10.12
12:24
(10) Если бы 1С не отключало бы отрисовку автоматом - оно бы залипло навечно.
13 mikecool
 
03.10.12
12:25
(12) пруф есть какой?
14 mikecool
 
03.10.12
12:25
+13 под 7.7 это спасало, с 8.х хз, старался не выводить много записей
15 Deon
 
03.10.12
12:27
(9) А почему вывод представления в таб.док быстрее?
16 1Страх
 
03.10.12
12:28
просто 1с гонит сначала ссылки на клиента, это быстро - а вот потом по каждой из них запрашивает представление )) это долго
17 Sammo
 
03.10.12
12:30
(15) См 8
18 Sammo
 
03.10.12
12:32
Но есть нюанс - в некоторых случаях сслыка нужна для того, чтобы заполнять расшифровку - для открытия элемента. В этом случае, разумеется, надо передавать представление для вывода и ссылку для заполнения расшифровки.
19 Deon
 
03.10.12
12:37
(18) Т.е, правильно в запросе получать и ссылку и представление, после чего представление показывать пользователю в ячейке, а в расшифровку пихать ссылку. В этом случае клиент не будет бегать при выводе каждой ячейки на сервер?
20 zladenuw
 
03.10.12
12:39
(19) если в кеше будут то да. если же нет. то все равно побежит на сервер
21 Sammo
 
03.10.12
12:39
(19) Ага. Так и сделано в 9
22 Deon
 
03.10.12
12:41
(20) Эээммм, непонятно. Зачем что-то брать из кэша, если всё есть в результате запроса?
23 H A D G E H O G s
 
03.10.12
13:07
(20) Брехня