|
v7: Отбор Справочника-в-Справочнике. | ☑ | ||
---|---|---|---|---|
0
Damash
03.05.12
✎
13:14
|
1С: 7.7 SQL (компонента БУ)
Есть СпрАвтор и есть СпрКнига У СпрКнига есть Реквизит=СпрАвтор. Как можно максимально быстро определить количество Книг определенного Автора на складах. Вариант такой медленный - не устраивает!!! Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = " |Обрабатывать НеПомеченныеНаУдаление; |Книга = Справочник.Книга.ТекущийЭлемент; |Группировка Книга без Групп; |Условие(Книга.Автор=Автор); |"; Если Запрос.Выполнить(ТекстЗапроса) = 1 Тогда Остаток=0; Пока Запрос.Группировка("Книга")=1 Цикл Остаток=Остаток+БухИтоги.СКД("40.1","К",,Запрос.Книга,Склад); КонецЦикла; КонецЕсли; |
|||
1
Ёпрст
03.05.12
✎
13:19
|
|Обрабатывать НеПомеченныеНаУдаление;
|Автор = Книга.Автор; |Книга = Справочник.Книга.ТекущийЭлемент; |Группировка Книга без Групп; |Условие(Автор = ВыбАвтор); |
|||
2
Ёпрст
03.05.12
✎
13:20
|
+1
|Автор = Справочник.Книга.Автор; |
|||
3
ДенисЧ
03.05.12
✎
13:20
|
ТекстЗапроса = "
|Обрабатывать НеПомеченныеНаУдаление; |Книга = Справочник.Книга.ТекущийЭлемент; |_Автор = Справочник.Книга.Автор; |Группировка Книга без Групп; |Условие(_Автор=Автор); |"; Так быстрее будет. А запрос вообще можно один раз сделать... |
|||
4
Ёпрст
03.05.12
✎
13:20
|
Хотя, для этой цели запрос чорный не нужен, всё и так есть в БИ
|
|||
5
Damash
03.05.12
✎
13:22
|
от цикла - я так понимаю никак не уйти, да?
|
|||
6
Ёпрст
03.05.12
✎
13:22
|
(5) еще как уйти.
|
|||
7
Damash
03.05.12
✎
13:27
|
(6) и как? через БухИтоги.Запрос?
|
|||
8
Ёпрст
03.05.12
✎
13:29
|
(7) вестимо + пихать список значений в субконто
|
|||
9
Ёпрст
03.05.12
✎
13:29
|
для фильтра
|
|||
10
Damash
03.05.12
✎
13:32
|
(9) хм
сейчас попробую |
|||
11
Damash
03.05.12
✎
13:37
|
а не увеличит ли это время работы?
Запрос + Выгрузка ТЗ + Выгрузка СЗ + БухИт.Запрос |
|||
12
viktor_vv
03.05.12
✎
13:40
|
(11) А ты думаешь БухИтоги.СКД() в цикле это быстрее будет ? Сомневаюсь.
|
|||
13
viktor_vv
03.05.12
✎
13:45
|
Можешь еще попробовать поставить отбор на реквизите Автор и через ВыбратьЭлементыПоРеквизиту заполнять СЗ. Может быстрее будет.
|
|||
14
Damash
03.05.12
✎
19:08
|
Спасибо, Viktor_vv
твой способ оказался в моем случае самый быстрый. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |