Имя: Пароль:
1C
1С v8
помогите оптимизировать отчет ЗадолженностьПокупателейПоСрокамДолга
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
есть еще регистр Взаиморасчеты по документов расчетов, может по нему? Там не через Регистратор можно сделать, а по измерению Документ, значит гораздо быстрее.