|
помогите оптимизировать отчет ЗадолженностьПокупателейПоСрокамДолга | ☑ | ||
---|---|---|---|---|
0
Ma3eIIa
06.06.15
✎
04:13
|
Отчет строиться в зависимости сколько интервалов.
Захотели что бы проверять не по периоду записи в Регистре. а на доп реквизит в документе. доработали. но теперь отчет формируется дольше как победить. вот кусок динамического запроса. что нужно подправить ? ВЫБРАТЬ ВзаиморасчетыОбороты.Организация, ВзаиморасчетыОбороты.Субконто1 КАК Контрагент, ВзаиморасчетыОбороты.Субконто2 КАК Договор, СУММА(ВЫБОР КОГДА ВзаиморасчетыОбороты.СуммаОборот > 0 ТОГДА ВзаиморасчетыОбороты.СуммаОборот ИНАЧЕ 0 КОНЕЦ) КАК УвеличениеДолга1, МИНИМУМ(ВзаиморасчетыОбороты.Период) КАК ПериодЗадолжности1 ИЗ РегистрБухгалтерии.Хозрасчетный.Обороты( , &ДатаОстатков, Регистратор, Счет В (&СчетаКД) И НЕ Счет.Забалансовый И НЕ Счет В (&ИсключенныеСчета), &ВидыСубконтоКД, ВЫРАЗИТЬ(Субконто2 КАК Справочник.ДоговорыКонтрагентов).ВидДоговора В (ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СПокупателем), ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СКомиссионером)) И Организация = &Организация, , ) КАК ВзаиморасчетыОбороты ГДЕ ВЫБОР КОГДА ВзаиморасчетыОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг ТОГДА ВЫБОР КОГДА ВЫРАЗИТЬ(ВзаиморасчетыОбороты.Регистратор КАК Документ.РеализацияТоваровУслуг).qdДатаФактическойОтправкиДокументов > ДАТАВРЕМЯ(1, 1, 1) ТОГДА ВЫРАЗИТЬ(ВзаиморасчетыОбороты.Регистратор КАК Документ.РеализацияТоваровУслуг).qdДатаФактическойОтправкиДокументов МЕЖДУ &НачалоИнтервала1 И &КонецИнтервала1 ИНАЧЕ ВзаиморасчетыОбороты.Регистратор.Дата МЕЖДУ &НачалоИнтервала1 И &КонецИнтервала1 КОНЕЦ ИНАЧЕ ВзаиморасчетыОбороты.Регистратор.Дата МЕЖДУ &НачалоИнтервала1 И &КонецИнтервала1 КОНЕЦ СГРУППИРОВАТЬ ПО ВзаиморасчетыОбороты.Организация, ВзаиморасчетыОбороты.Субконто1, ВзаиморасчетыОбороты.Субконто2 |
|||
1
Ma3eIIa
06.06.15
✎
04:30
|
Если изменить ВзаиморасчетыОбороты.Регистратор.Дата на ВзаиморасчетыОбороты.Период. есть небольшой прирост. скд создает меньше левых соединений. но все формирование все равно не быстрое.
|
|||
2
Cyberhawk
06.06.15
✎
06:55
|
Абсолютный прирост чему равен?
|
|||
3
Ma3eIIa
06.06.15
✎
07:13
|
(2) работе отчету как раньше без регистратора. на авто. формирование 1-2 секунды. сейчас 5-15
|
|||
4
Cyberhawk
06.06.15
✎
08:18
|
Все регистраторы в отчете нужны? Разверни выбор когда тогда только на нужные типы документов
|
|||
5
Ma3eIIa
06.06.15
✎
08:21
|
так их нет. мне нужен только реквизит в реализации. я его явно указал. для остальных нет.
условие в запросе такое. так быстрее ВЫБОР КОГДА ВзаиморасчетыОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг ТОГДА ВЫБОР КОГДА ВЫРАЗИТЬ(ВзаиморасчетыОбороты.Регистратор КАК Документ.РеализацияТоваровУслуг).qdДатаФактическойОтправкиДокументов > ДАТАВРЕМЯ(1, 1, 1) ТОГДА ВЫРАЗИТЬ(ВзаиморасчетыОбороты.Регистратор КАК Документ.РеализацияТоваровУслуг).qdДатаФактическойОтправкиДокументов МЕЖДУ &НачалоИнтервала1 И &КонецИнтервала1 ИНАЧЕ ВзаиморасчетыОбороты.Период МЕЖДУ &НачалоИнтервала1 И &КонецИнтервала1 КОНЕЦ ИНАЧЕ ВзаиморасчетыОбороты.Период МЕЖДУ &НачалоИнтервала1 И &КонецИнтервала1 КОНЕЦ |
|||
6
Ma3eIIa
06.06.15
✎
08:22
|
но проблему тут. нужно подсветить долги. по периодам.
а там все кодом :( Помогите.программное формирование СКД. добавление полей,условное оформление.как? |
|||
7
Ma3eIIa
06.06.15
✎
08:25
|
(5) тут только левое соединение когда ссылка реализация. в остальных не получаем ссылку. работает быстрее. а вот с периодом временной таблицы оборотов. если заданию первый период выборки не верно отображает данные. возможно нужно брать последний. тогда будет быстрее. но это потом. надо сделать (6)
|
|||
8
hhhh
06.06.15
✎
08:50
|
есть еще регистр Взаиморасчеты по документов расчетов, может по нему? Там не через Регистратор можно сделать, а по измерению Документ, значит гораздо быстрее.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |