Имя: Пароль:
1C
1С v8
Книга покупок очень долго формируется
,
0 1CVERYGOOD
 
13.02.14
12:35
Проблема в том, что книга покупок по постановлению 1137 за прошлый год формируется два дня. Такого явно не должно быть. Остальные обработки и отчеты в т .ч. книга продаж формируются быстро. На сервере железо очень хорошее. В общем дело явно в данных. Вот как бы выявить где именно может кто подскажет ?
1 PR
 
13.02.14
12:35
(0) А что говорит замер производительности?
2 1CVERYGOOD
 
13.02.14
12:51
зависает на основном запросе в функции  ПолучитьЗаписиКнигиПокупок(СписокСчетовФактур, СтруктураПараметров)
3 1CVERYGOOD
 
13.02.14
12:51
// Создаем запрос по счетам-фактурам
    Запрос = Новый Запрос;
    Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
    
    УстановитьПараметрыЗапросаКнигиПокупок(Запрос, СтруктураПараметров);
    
    Запрос.Текст =
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    НДСЗаписиКнигиПокупок.Период КАК Период,
    |    НДСЗаписиКнигиПокупок.Организация КАК Организация,
    |    ВЫБОР
    |        КОГДА НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.КорректировкаРеализации
    |            ТОГДА ВЫБОР
    |                    КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |                            И &ВыводитьПокупателейПоАвансам
    |                        ТОГДА НДСЗаписиКнигиПокупок.Поставщик
    |                    ИНАЧЕ НДСЗаписиКнигиПокупок.Организация
    |                КОНЕЦ
    |        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_СобственныеСФ)
    |                И (НЕ НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |                    ИЛИ НЕ &ВыводитьПокупателейПоАвансам)
    |            ТОГДА НДСЗаписиКнигиПокупок.Организация
    |        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |            ТОГДА НДСЗаписиКнигиПокупок.Поставщик
    |        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Возврат)
    |                И НЕ(НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.ВозвратТоваровОтПокупателя
    |                        И ВЫРАЗИТЬ(НДСЗаписиКнигиПокупок.СчетФактура КАК Документ.ВозвратТоваровОтПокупателя).ПокупателемВыставляетсяСчетФактураНаВозврат)
    |            ТОГДА НДСЗаписиКнигиПокупок.Организация
    |        ИНАЧЕ НДСЗаписиКнигиПокупок.Поставщик
    |    КОНЕЦ КАК Контрагент,
    |    НДСЗаписиКнигиПокупок.Поставщик КАК КонтрагентПоСчетуФактуре,
    |    ВЫБОР
    |        КОГДА НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.КорректировкаРеализации
    |            ТОГДА ВЫБОР
    |                    КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |                            И &ВыводитьПокупателейПоАвансам
    |                        ТОГДА НДСЗаписиКнигиПокупок.Поставщик.ИНН
    |                    ИНАЧЕ НДСЗаписиКнигиПокупок.Организация.ИНН
    |                КОНЕЦ
    |        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_СобственныеСФ)
    |                И (НЕ НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |                    ИЛИ НЕ &ВыводитьПокупателейПоАвансам)
    |            ТОГДА НДСЗаписиКнигиПокупок.Организация.ИНН
    |        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |            ТОГДА НДСЗаписиКнигиПокупок.Поставщик.ИНН
    |        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Возврат)
    |                И НЕ(НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.ВозвратТоваровОтПокупателя
    |                        И ВЫРАЗИТЬ(НДСЗаписиКнигиПокупок.СчетФактура КАК Документ.ВозвратТоваровОтПокупателя).ПокупателемВыставляетсяСчетФактураНаВозврат)
    |            ТОГДА НДСЗаписиКнигиПокупок.Организация.ИНН
    |        ИНАЧЕ НДСЗаписиКнигиПокупок.Поставщик.ИНН
    |    КОНЕЦ КАК ПродавецИНН,
    |    ВЫБОР
    |        КОГДА НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.КорректировкаРеализации
    |            ТОГДА ВЫБОР
    |                    КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |                            И &ВыводитьПокупателейПоАвансам
    |                        ТОГДА НДСЗаписиКнигиПокупок.Поставщик.КПП
    |                    ИНАЧЕ НДСЗаписиКнигиПокупок.Организация.КПП
    |                КОНЕЦ
    |        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_СобственныеСФ)
    |                И (НЕ НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |                    ИЛИ НЕ &ВыводитьПокупателейПоАвансам)
    |            ТОГДА НДСЗаписиКнигиПокупок.Организация.КПП
    |        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |            ТОГДА НДСЗаписиКнигиПокупок.Поставщик.КПП
    |        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Возврат)
    |                И НЕ(НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.ВозвратТоваровОтПокупателя
    |                        И ВЫРАЗИТЬ(НДСЗаписиКнигиПокупок.СчетФактура КАК Документ.ВозвратТоваровОтПокупателя).ПокупателемВыставляетсяСчетФактураНаВозврат)
    |            ТОГДА НДСЗаписиКнигиПокупок.Организация.КПП
    |        ИНАЧЕ НДСЗаписиКнигиПокупок.Поставщик.КПП
    |    КОНЕЦ КАК ПродавецКПП,
    |    ВЫБОР
    |        КОГДА НЕ НДСЗаписиКнигиПокупок.ИсправленныйСчетФактура В (&ПустыеДокументыИсправления)
    |            ТОГДА НДСЗаписиКнигиПокупок.ИсправленныйСчетФактура
    |        ИНАЧЕ НДСЗаписиКнигиПокупок.СчетФактура
    |    КОНЕЦ КАК СчетФактура,
    |    ВЫБОР
    |        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |            ТОГДА ВЫБОР
    |                    КОГДА НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.СчетФактураВыданный
    |                        ТОГДА ВЫРАЗИТЬ(НДСЗаписиКнигиПокупок.СчетФактура КАК Документ.СчетФактураВыданный).ДокументОснование.Дата
    |                    ИНАЧЕ НДСЗаписиКнигиПокупок.СчетФактура.Дата
    |                КОНЕЦ
    |        ИНАЧЕ НДСЗаписиКнигиПокупок.ДатаОплаты
    |    КОНЕЦ КАК ДатаОплаты,
    |    НДСЗаписиКнигиПокупок.ДокументОплаты,
    |    СУММА(ЕСТЬNULL(НДСЗаписиКнигиПокупок.СуммаБезНДС, 0) + ЕСТЬNULL(НДСЗаписиКнигиПокупок.НДС, 0)) КАК ВсегоПокупок,
    |    СУММА(ВЫБОР
    |            КОГДА НДСЗаписиКнигиПокупок.СтавкаНДС В (&СтавкиНДС20)
    |                    И НЕ НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |                ТОГДА НДСЗаписиКнигиПокупок.СуммаБезНДС
    |            ИНАЧЕ 0
    |        КОНЕЦ) КАК СуммаБезНДС20,
    |    СУММА(ВЫБОР
    |            КОГДА НДСЗаписиКнигиПокупок.СтавкаНДС В (&СтавкиНДС20)
    |                ТОГДА НДСЗаписиКнигиПокупок.НДС
    |            ИНАЧЕ 0
    |        КОНЕЦ) КАК НДС20,
    |    СУММА(ВЫБОР
    |            КОГДА НДСЗаписиКнигиПокупок.СтавкаНДС В (&СтавкиНДС18)
    |                    И НЕ НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |                ТОГДА НДСЗаписиКнигиПокупок.СуммаБезНДС
    |            ИНАЧЕ 0
    |        КОНЕЦ) КАК СуммаБезНДС18,
    |    СУММА(ВЫБОР
    |            КОГДА НДСЗаписиКнигиПокупок.СтавкаНДС В (&СтавкиНДС18)
    |                ТОГДА НДСЗаписиКнигиПокупок.НДС
    |            ИНАЧЕ 0
    |        КОНЕЦ) КАК НДС18,
    |    СУММА(ВЫБОР
    |            КОГДА НДСЗаписиКнигиПокупок.СтавкаНДС В (&СтавкиНДС10)
    |                    И НЕ НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |                ТОГДА НДСЗаписиКнигиПокупок.СуммаБезНДС
    |            ИНАЧЕ 0
    |        КОНЕЦ) КАК СуммаБезНДС10,
    |    СУММА(ВЫБОР
    |            КОГДА НДСЗаписиКнигиПокупок.СтавкаНДС В (&СтавкиНДС10)
    |                ТОГДА НДСЗаписиКнигиПокупок.НДС
    |            ИНАЧЕ 0
    |        КОНЕЦ) КАК НДС10,
    |    СУММА(ВЫБОР
    |            КОГДА НДСЗаписиКнигиПокупок.СтавкаНДС = &СтавкаНДС0
    |                ТОГДА НДСЗаписиКнигиПокупок.СуммаБезНДС + НДСЗаписиКнигиПокупок.НДС
    |            ИНАЧЕ 0
    |        КОНЕЦ) КАК НДС0,
    |    СУММА(ВЫБОР
    |            КОГДА НДСЗаписиКнигиПокупок.СтавкаНДС = &СтавкаБезНДС
    |                ТОГДА НДСЗаписиКнигиПокупок.СуммаБезНДС + НДСЗаписиКнигиПокупок.НДС
    |            ИНАЧЕ 0
    |        КОНЕЦ) КАК СуммаСовсемБезНДС,
    |    ЕСТЬNULL(НДСЗаписиКнигиПокупок.СчетФактура.Дата, ДАТАВРЕМЯ(1, 1, 1)) КАК СчетФактураДата,
    |    ВЫБОР
    |        КОГДА НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.КорректировкаРеализации
    |            ТОГДА ВЫБОР
    |                    КОГДА НДСЗаписиКнигиПокупок.Организация.ВариантНаименованияДляПечатныхФорм = ЗНАЧЕНИЕ(Перечисление.ВариантыНаименованияДляПечатныхФорм.СокращенноеНаименование)
    |                        ТОГДА ПОДСТРОКА(НДСЗаписиКнигиПокупок.Организация.НаименованиеСокращенное, 1, 250)
    |                    ИНАЧЕ ПОДСТРОКА(НДСЗаписиКнигиПокупок.Организация.НаименованиеПолное, 1, 250)
    |                КОНЕЦ
    |        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_СобственныеСФ)
    |                    И (НЕ НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |                        ИЛИ НЕ &ВыводитьПокупателейПоАвансам)
    |                ИЛИ НДСЗаписиКнигиПокупок.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Возврат)
    |                    И НЕ(НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.ВозвратТоваровОтПокупателя
    |                            И ВЫРАЗИТЬ(НДСЗаписиКнигиПокупок.СчетФактура КАК Документ.ВозвратТоваровОтПокупателя).ПокупателемВыставляетсяСчетФактураНаВозврат)
    |            ТОГДА ВЫБОР
    |                    КОГДА НДСЗаписиКнигиПокупок.Организация.ВариантНаименованияДляПечатныхФорм = ЗНАЧЕНИЕ(Перечисление.ВариантыНаименованияДляПечатныхФорм.СокращенноеНаименование)
    |                        ТОГДА ПОДСТРОКА(НДСЗаписиКнигиПокупок.Организация.НаименованиеСокращенное, 1, 250)
    |                    ИНАЧЕ ПОДСТРОКА(НДСЗаписиКнигиПокупок.Организация.НаименованиеПолное, 1, 250)
    |                КОНЕЦ
    |        ИНАЧЕ ВЫБОР
    |                КОГДА ПОДСТРОКА(НДСЗаписиКнигиПокупок.Поставщик.НаименованиеПолное, 1, 250) = """"
    |                    ТОГДА НДСЗаписиКнигиПокупок.Поставщик.Наименование
    |                ИНАЧЕ ПОДСТРОКА(НДСЗаписиКнигиПокупок.Поставщик.НаименованиеПолное, 1, 250)
    |            КОНЕЦ
    |    КОНЕЦ КАК Продавец,
    |    ВЫБОР
    |        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности = &ВидыЦенностей_АвансыВыданные
    |            ТОГДА """"
    |        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |            ТОГДА НДСЗаписиКнигиПокупок.ДатаОплаты
    |        ИНАЧЕ ВЫБОР
    |                КОГДА НДСЗаписиКнигиПокупок.ИсправленныйСчетФактура В (&ПустыеДокументыИсправления)
    |                    ТОГДА ВЫБОР
    |                            КОГДА НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.СчетФактураВыданный
    |                                ТОГДА ВЫРАЗИТЬ(НДСЗаписиКнигиПокупок.СчетФактура КАК Документ.СчетФактураВыданный).ДокументОснование.Дата
    |                            КОГДА НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.СчетФактураПолученный
    |                                ТОГДА ВЫРАЗИТЬ(НДСЗаписиКнигиПокупок.СчетФактура КАК Документ.СчетФактураПолученный).ДокументОснование.Дата
    |                            ИНАЧЕ НДСЗаписиКнигиПокупок.СчетФактура.Дата
    |                        КОНЕЦ
    |                ИНАЧЕ ВЫБОР
    |                        КОГДА НДСЗаписиКнигиПокупок.ДатаСобытия = ДАТАВРЕМЯ(1, 1, 1)
    |                            ТОГДА НДСЗаписиКнигиПокупок.СчетФактура.Дата
    |                        ИНАЧЕ НДСЗаписиКнигиПокупок.ДатаСобытия
    |                    КОНЕЦ
    |            КОНЕЦ
    |    КОНЕЦ КАК ДатаОприходования,
    |    ВЫБОР
    |        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |                И НДСЗаписиКнигиПокупок.ДатаОплаты <> ДАТАВРЕМЯ(1, 1, 1)
    |            ТОГДА НДСЗаписиКнигиПокупок.ДатаОплаты
    |        ИНАЧЕ ВЫБОР
    |                КОГДА НДСЗаписиКнигиПокупок.ДатаСобытия = ДАТАВРЕМЯ(1, 1, 1)
    |                    ТОГДА НДСЗаписиКнигиПокупок.СчетФактура.Дата
    |                ИНАЧЕ НДСЗаписиКнигиПокупок.ДатаСобытия
    |            КОНЕЦ
    |    КОНЕЦ КАК ДатаПринятияНаУчет,
    |    ВЫБОР
    |        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |            ТОГДА ИСТИНА
    |        ИНАЧЕ ЛОЖЬ
    |    КОНЕЦ КАК НаАванс,
    |    ВЫБОР
    |        КОГДА (НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |                ИЛИ НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_СуммоваяРазница))
    |                И НЕ НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.ОтражениеНачисленияНДС
    |                И НЕ НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.ОтражениеНДСКВычету
    |            ТОГДА НДСЗаписиКнигиПокупок.СтавкаНДС
    |        ИНАЧЕ НЕОПРЕДЕЛЕНО
    |    КОНЕЦ КАК СтавкаНДС_Аванс,
    |    ВЫБОР
    |        КОГДА НДСЗаписиКнигиПокупок.ДоговорКонтрагента = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
    |            ТОГДА НЕОПРЕДЕЛЕНО
    |        ИНАЧЕ ВЫБОР
    |                КОГДА НЕ НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.ОтражениеНачисленияНДС
    |                        И НЕ НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.ОтражениеНДСКВычету
    |                    ТОГДА НДСЗаписиКнигиПокупок.ДоговорКонтрагента
    |                ИНАЧЕ НЕОПРЕДЕЛЕНО
    |            КОНЕЦ
    |    КОНЕЦ КАК ДоговорАванса,
    |    ВЫБОР
    |        КОГДА НЕ НДСЗаписиКнигиПокупок.ИсправленныйСчетФактура В (&ПустыеДокументыИсправления)
    |            ТОГДА НДСЗаписиКнигиПокупок.ИсправленныйСчетФактура
    |        ИНАЧЕ ВЫБОР
    |                КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_НалоговыйАгент)
    |                        И НЕ НДСЗаписиКнигиПокупок.ДоговорКонтрагента = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
    |                    ТОГДА НДСЗаписиКнигиПокупок.ДокументОплаты
    |                ИНАЧЕ НДСЗаписиКнигиПокупок.СчетФактура
    |            КОНЕЦ
    |    КОНЕЦ КАК ДокументОснованиеСчетаФактуры,
    |    ВЫБОР
    |        КОГДА (НДСЗаписиКнигиПокупок.Регистратор ССЫЛКА Документ.КорректировкаПоступления
    |                ИЛИ НДСЗаписиКнигиПокупок.Регистратор ССЫЛКА Документ.КорректировкаРеализации)
    |                И ЕСТЬNULL(НДСЗаписиКнигиПокупок.СуммаБезНДС, 0) + ЕСТЬNULL(НДСЗаписиКнигиПокупок.НДС, 0) < 0
    |            ТОГДА ИСТИНА
    |        КОГДА НДСЗаписиКнигиПокупок.Регистратор ССЫЛКА Документ.СчетФактураПолученный
    |                И ЕСТЬNULL(НДСЗаписиКнигиПокупок.СуммаБезНДС, 0) + ЕСТЬNULL(НДСЗаписиКнигиПокупок.НДС, 0) < 0
    |            ТОГДА ИСТИНА
    |        ИНАЧЕ ЛОЖЬ
    |    КОНЕЦ КАК Исправление,
    |    НДСЗаписиКнигиПокупок.ИсправленныйСчетФактура КАК ИсправленныйСчетФактура,
    |    ВЫБОР
    |        КОГДА НДСЗаписиКнигиПокупок.ДатаСобытия = ДАТАВРЕМЯ(1, 1, 1)
    |            ТОГДА НДСЗаписиКнигиПокупок.СчетФактура.Дата
    |        ИНАЧЕ НДСЗаписиКнигиПокупок.ДатаСобытия
    |    КОНЕЦ КАК ДатаСобытия
    |ПОМЕСТИТЬ ЗаписиКнигиПокупок
    |ИЗ
    |    РегистрНакопления.НДСЗаписиКнигиПокупок КАК НДСЗаписиКнигиПокупок
    |ГДЕ
    |    НДСЗаписиКнигиПокупок.Период МЕЖДУ &НачалоПериода И &КонецПериода
    |    И НДСЗаписиКнигиПокупок.Организация В(&Организация)
    |    И НЕ НДСЗаписиКнигиПокупок.ЗаписьДополнительногоЛиста
    |    И НДСЗаписиКнигиПокупок.Активность
    |
    |СГРУППИРОВАТЬ ПО
    |    НДСЗаписиКнигиПокупок.Период,
    |    НДСЗаписиКнигиПокупок.Организация,
    |    НДСЗаписиКнигиПокупок.ДокументОплаты,
    |    ВЫБОР
    |        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |            ТОГДА ВЫБОР
    |                    КОГДА НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.СчетФактураВыданный
    |                        ТОГДА ВЫРАЗИТЬ(НДСЗаписиКнигиПокупок.СчетФактура КАК Документ.СчетФактураВыданный).ДокументОснование.Дата
    |                    ИНАЧЕ НДСЗаписиКнигиПокупок.СчетФактура.Дата
    |                КОНЕЦ
    |        ИНАЧЕ НДСЗаписиКнигиПокупок.ДатаОплаты
    |    КОНЕЦ,
    |    ЕСТЬNULL(НДСЗаписиКнигиПокупок.СчетФактура.Дата, ДАТАВРЕМЯ(1, 1, 1)),
    |    ВЫБОР
    |        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |            ТОГДА ИСТИНА
    |        ИНАЧЕ ЛОЖЬ
    |    КОНЕЦ,
    |    ВЫБОР
    |        КОГДА (НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |                ИЛИ НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_СуммоваяРазница))
    |                И НЕ НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.ОтражениеНачисленияНДС
    |                И НЕ НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.ОтражениеНДСКВычету
    |            ТОГДА НДСЗаписиКнигиПокупок.СтавкаНДС
    |        ИНАЧЕ НЕОПРЕДЕЛЕНО
    |    КОНЕЦ,
    |    ВЫБОР
    |        КОГДА НДСЗаписиКнигиПокупок.ДоговорКонтрагента = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
    |            ТОГДА НЕОПРЕДЕЛЕНО
    |        ИНАЧЕ ВЫБОР
    |                КОГДА НЕ НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.ОтражениеНачисленияНДС
    |                        И НЕ НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.ОтражениеНДСКВычету
    |                    ТОГДА НДСЗаписиКнигиПокупок.ДоговорКонтрагента
    |                ИНАЧЕ НЕОПРЕДЕЛЕНО
    |            КОНЕЦ
    |    КОНЕЦ,
    |    НДСЗаписиКнигиПокупок.ИсправленныйСчетФактура,
    |    ВЫБОР
    |        КОГДА НЕ НДСЗаписиКнигиПокупок.ИсправленныйСчетФактура В (&ПустыеДокументыИсправления)
    |            ТОГДА НДСЗаписиКнигиПокупок.ИсправленныйСчетФактура
    |        ИНАЧЕ НДСЗаписиКнигиПокупок.СчетФактура
    |    КОНЕЦ,
    |    ВЫБОР
    |        КОГДА НЕ НДСЗаписиКнигиПокупок.ИсправленныйСчетФактура В (&ПустыеДокументыИсправления)
    |            ТОГДА НДСЗаписиКнигиПокупок.ИсправленныйСчетФактура
    |        ИНАЧЕ ВЫБОР
    |                КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_НалоговыйАгент)
    |                        И НЕ НДСЗаписиКнигиПокупок.ДоговорКонтрагента = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
    |                    ТОГДА НДСЗаписиКнигиПокупок.ДокументОплаты
    |                ИНАЧЕ НДСЗаписиКнигиПокупок.СчетФактура
    |            КОНЕЦ
    |    КОНЕЦ,
    |    ВЫБОР
    |        КОГДА (НДСЗаписиКнигиПокупок.Регистратор ССЫЛКА Документ.КорректировкаПоступления
    |                ИЛИ НДСЗаписиКнигиПокупок.Регистратор ССЫЛКА Документ.КорректировкаРеализации)
    |                И ЕСТЬNULL(НДСЗаписиКнигиПокупок.СуммаБезНДС, 0) + ЕСТЬNULL(НДСЗаписиКнигиПокупок.НДС, 0) < 0
    |            ТОГДА ИСТИНА
    |        КОГДА НДСЗаписиКнигиПокупок.Регистратор ССЫЛКА Документ.СчетФактураПолученный
    |                И ЕСТЬNULL(НДСЗаписиКнигиПокупок.СуммаБезНДС, 0) + ЕСТЬNULL(НДСЗаписиКнигиПокупок.НДС, 0) < 0
    |            ТОГДА ИСТИНА
    |        ИНАЧЕ ЛОЖЬ
    |    КОНЕЦ,
    |    ВЫБОР
    |        КОГДА НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.КорректировкаРеализации
    |            ТОГДА ВЫБОР
    |                    КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |                            И &ВыводитьПокупателейПоАвансам
    |                        ТОГДА НДСЗаписиКнигиПокупок.Поставщик
    |                    ИНАЧЕ НДСЗаписиКнигиПокупок.Организация
    |                КОНЕЦ
    |        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_СобственныеСФ)
    |                И (НЕ НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |                    ИЛИ НЕ &ВыводитьПокупателейПоАвансам)
    |            ТОГДА НДСЗаписиКнигиПокупок.Организация
    |        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |            ТОГДА НДСЗаписиКнигиПокупок.Поставщик
    |        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Возврат)
    |                И НЕ(НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.ВозвратТоваровОтПокупателя
    |                        И ВЫРАЗИТЬ(НДСЗаписиКнигиПокупок.СчетФактура КАК Документ.ВозвратТоваровОтПокупателя).ПокупателемВыставляетсяСчетФактураНаВозврат)
    |            ТОГДА НДСЗаписиКнигиПокупок.Организация
    |        ИНАЧЕ НДСЗаписиКнигиПокупок.Поставщик
    |    КОНЕЦ,
    |    ВЫБОР
    |        КОГДА НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.КорректировкаРеализации
    |            ТОГДА ВЫБОР
    |                    КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |                            И &ВыводитьПокупателейПоАвансам
    |                        ТОГДА НДСЗаписиКнигиПокупок.Поставщик.ИНН
    |                    ИНАЧЕ НДСЗаписиКнигиПокупок.Организация.ИНН
    |                КОНЕЦ
    |        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_СобственныеСФ)
    |                И (НЕ НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |                    ИЛИ НЕ &ВыводитьПокупателейПоАвансам)
    |            ТОГДА НДСЗаписиКнигиПокупок.Организация.ИНН
    |        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |            ТОГДА НДСЗаписиКнигиПокупок.Поставщик.ИНН
    |        КОГДА НДСЗаписиКнигиПокупок.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Возврат)
    |                И НЕ(НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.ВозвратТоваровОтПокупателя
    |                        И ВЫРАЗИТЬ(НДСЗаписиКнигиПокупок.СчетФактура КАК Документ.ВозвратТоваровОтПокупателя).ПокупателемВыставляетсяСчетФактураНаВозврат)
    |            ТОГДА НДСЗаписиКнигиПокупок.Организация.ИНН
    |        ИНАЧЕ НДСЗаписиКнигиПокупок.Поставщик.ИНН
    |    КОНЕЦ,
    |    ВЫБОР
    |        КОГДА НДСЗаписиКнигиПокупок.СчетФактура ССЫЛКА Документ.КорректировкаРеализации
    |            ТОГДА ВЫБОР
    |                    КОГДА НДСЗаписиКнигиПокупок.ВидЦенности В (&ВидыЦенностей_АвансыПолученные)
    |                            И &ВыводитьПокупателейПоАвансам
    |                        ТОГДА НДСЗаписиКнигиПокупок.Поставщ
4 piter3
 
13.02.14
12:54
профайлер не предлагать?
5 piter3
 
13.02.14
13:01
на инфостарте давно ковыряли на вашу тему
6 shuhard
 
13.02.14
13:02
(0) с таким уровнем знаний 1С v8: Декл по НДС

шансов на ускорение работы 0
7 1CVERYGOOD
 
13.02.14
13:04
собственно по этому и прошу подсказать
8 piter3
 
13.02.14
13:06
(7)быстрого и готового не жди
9 1CVERYGOOD
 
13.02.14
13:07
(5) можно ссылку ?
10 1CVERYGOOD
 
20.02.14
15:35
Попробовал эту оптимизацию с инфостарта. Не помогло.
Попробовал запускать выгруженную на локальный комп базу. Не помогло.
Тестирование и исправление - не помогло.
Интересный момент. По дням примерно одинаковое количество документов поступления. Но за некоторые дни отчет формируется 10 мин. А за другие быстро.
За один такой медленный день я распровел все документы. Быстродействие отчета не изменилось!
11 H A D G E H O G s
 
20.02.14
15:44
Скорее всего 1С строит кривой запрос в SQL
12 H A D G E H O G s
 
20.02.14
15:47
Как пример
v8: Сложности отладки временных таблиц. :-)

мякотка в (21), (23), (32).

Смотри профайлером, какой запрос строит 1С.
13 piter3
 
20.02.14
15:49
а мне почему помнится выборка из всех доков возможных оснований для сф. и еще без ограничения периода. хз может что-то изменилось
14 Armando
 
20.02.14
15:51
Где-то на Инфострате видел книгу покупок, там автор обещал, что в несколько раз ускорил формирование.
15 1CVERYGOOD
 
20.02.14
15:58
(14) Там один кусочек кода. про ГТД запрос подправлен. Вместо В поставил ВНУТРЕННЕЕ СОЕДИНЕНИЕ. Не решает это проблемы.
16 1CVERYGOOD
 
20.02.14
15:59
(11) Тогда с локальной базой не было бы таких же проблем.
17 piter3
 
20.02.14
16:00
в (10) пробовал это http://infostart.ru/public/203504/
18 H A D G E H O G s
 
20.02.14
16:08
(16) С чего бы это?
19 H A D G E H O G s
 
20.02.14
16:24
(17) Там - херня.
20 shuhard
 
20.02.14
16:29
(19) дерзко, берёшься доказать ?
21 H A D G E H O G s
 
20.02.14
16:34
(20) Нет, лениво.
Не дерзще твоих обычных слов.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.