Имя: Пароль:
1C
1С v8
СКД. Как работает отбор?
,
0 napagokc
 
19.11.12
13:20
У меня вот такой вопрос возник: когда пользователь устанавливает отбор в СКД, то как формируется результат? Выгружаются все данные, а потом из них выбираются те, что удовлетворяют отбору, или отбор в СКД формирует вирт таблицу и сразу выгружаются только те данные, которые нужны?
1 lxndr
 
19.11.12
13:21
оптимальным образом строится запрос
2 famnam
 
19.11.12
13:38
запрос модифицируется
3 PR
 
19.11.12
13:39
Только нужные.
4 shuhard
 
19.11.12
13:39
(0) мудрый Гилёв целый ролик снял по этому поводу
5 Mouzem
 
19.11.12
13:41
(0) отбор вставляется в запрос, если конечно данные получаешь запросом.
6 napagokc
 
19.11.12
13:41
Спасибо за ответы. Я тоже подозревал, что СКД должна строить оптимальным образом. Но уж больно подозрительно долго думает. Решил уточнить.
Хотя... В файловой базе разница, наверное, не будет чувствоваться есть отбор или нет, угу?
7 Пеппи
 
19.11.12
13:42
(6) база большая? Сложный запрос?
8 napagokc
 
19.11.12
13:44
(7) База чуть больше полтора гигов. Запрос простой, но ОстаткиИОбороты()
А оборотов много...
Это же запрос смотрит по каждой проводке и суммирует и Дт, и Кт?
9 lxndr
 
19.11.12
13:49
(8) показывай запрос то
10 napagokc
 
19.11.12
13:53
ВЫБРАТЬ
   ПроводкиОстаткиИОбороты.Счет КАК СЧЕТ,
   ПроводкиОстаткиИОбороты.Субконто1 КАК Материал,
   ПроводкиОстаткиИОбороты.Субконто1.Код КАК МатериалКод,
   ПроводкиОстаткиИОбороты.Субконто1.Наименование КАК МатериалИмя,
   ПроводкиОстаткиИОбороты.Субконто4.СрокГодности КАК СрокГодности,
   ПроводкиОстаткиИОбороты.Субконто4.Код КАК КодПартии,
   ПроводкиОстаткиИОбороты.Субконто2 КАК Склад,
   ПроводкиОстаткиИОбороты.Субконто3 КАК ЦФУ,
   ПроводкиОстаткиИОбороты.КоличествоНачальныйОстаток КАК НачОстаток,
   ПроводкиОстаткиИОбороты.КоличествоКонечныйОстаток КАК КонОстаток,
   ПроводкиОстаткиИОбороты.КоличествоОборот КАК Оборот,
   ПроводкиОстаткиИОбороты.Период,
   ПроводкиОстаткиИОбороты.Регистратор,
   ПроводкиОстаткиИОбороты.НомерСтроки КАК НомерСтроки,
   ПроводкиОстаткиИОбороты.Фирма
ИЗ
   РегистрБухгалтерии.Проводки.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Запись, ДвиженияИГраницыПериода, Счет В ИЕРАРХИИ (&СписокСчетов), , ) КАК ПроводкиОстаткиИОбороты
ГДЕ
   ЕСТЬNULL(ПроводкиОстаткиИОбороты.КоличествоОборот, 0) <> 0

УПОРЯДОЧИТЬ ПО
   ПроводкиОстаткиИОбороты.Период,
   НомерСтроки
11 lxndr
 
19.11.12
13:56
(10) ммм, 4 субконто...
Пробуй:
1. ОТбор по видам субконто в параметрах ВТ
2. Приведение типа перед разыменованием полей субконто
12 napagokc
 
19.11.12
14:01
(11) Ну, вот я и спрашиваю про встроенный отбор в СКД. Я так понял из ответов тут, что та же ВТ и выходит, не?
А разыменование полей - это хорошая идея, надо попробовать. Спасибо за идею
Ошибка? Это не ошибка, это системная функция.