Имя: Пароль:
1C
1С v8
отчет по проводкам формируется невыносимо долго
0 Ку
 
21.05.13
18:32
БП 1.6.8.3. Недавно перешли с 8.1 на 8.2 (8.2.18.96), и с тех пор понеслась.Например, строим анализ 26 счета и затем расшифровываем какую-нибудь корреспонденцию, к примеру c дт 10. Прощайте навсегда - можно ждать и 2 часа. До перехода такого не было. Собственно, сам запрос из отчета по проводкам выполняется очень долго. На это и уходит все время ожидания - пробовалось в запрос из отчета по проводкам в консоли передавать те же параметры - те же часы ожидания. С чем может быть связано такое замедление  после перехода? Понимаю, что 1.6 давно ушла в прошлое, но там все настолько заточено на каждом углу под специфику, что попытка перехода на 2.0 обернулась бы массовыми самоубийствами. Подсобите..
1 Fragster
 
гуру
21.05.13
18:35
много субконто?
2 Fragster
 
гуру
21.05.13
18:35
сделайте ТиИ с реструктуризацией
3 Ку
 
21.05.13
18:37
(2) Делали. Не помогло. Субконто в самом деле местами 4. Но это обстоятельство имелось и на 8.1.
4 unregistered
 
21.05.13
18:41
Что-то с трудом вериться...

У нас при переходе с 8.1 на 8.2 скорость формирования отчетов не падала (во всяком случае настолько, чтобы это кто-то заметил). Тоже была БП 1.6.
5 Ку
 
21.05.13
18:43
(4) Однако, факт..
6 shuhard
 
21.05.13
18:48
(0) топик ни о чем
форум должен угадать операционку, вендора сиквела, настройки и всё это прокачать
7 Fragster
 
гуру
21.05.13
19:33
(3) по крайней мере в режиме совместимости виртуальная таблица Остатки и обороты по субконто формируется без использования кластерного индекса (соединение субконто происходит по Регистратор + НомерСтроки вместо Период + Регистратор + НомерСтроки). В своих отчетах я переписывал на "ручное формирование" соответствующей виртуальной таблицы как раз для более 3-х субконто. Возможно поможет снятие режима совместимости 8.1, не проверял.
8 Fragster
 
гуру
21.05.13
19:33
но реструктуризация мне помогала на какое-то время
9 Fragster
 
гуру
21.05.13
19:34
по крайней мере в режиме совместимости 8.1
10 Fragster
 
гуру
21.05.13
19:35
вот вундервафля для 5 субконто:
ВЫБРАТЬ
   |    Корпоративный.Период,
   |    Корпоративный.Регистратор,
   |    Корпоративный.НомерСтроки,
   |    Корпоративный.СчетДт,
   |    Корпоративный.СчетКт,
   |    Корпоративный.ВалютаДт,
   |    Корпоративный.ВалютаКт,
   |    Корпоративный.НомерЖурнала,
   |    Корпоративный.Сумма,
   |    ЕСТЬNULL(Корпоративный.КоличествоДт, 0) КАК КоличествоДт,
   |    ЕСТЬNULL(Корпоративный.КоличествоКт, 0) КАК КоличествоКт,
   |    ВЫБОР
   |        КОГДА Корпоративный.Сумма = 0
   |            ТОГДА 0
   |        ИНАЧЕ ЕСТЬNULL(Корпоративный.КоличествоДт, 0)
   |    КОНЕЦ КАК КоличествоДтСС,
   |    ВЫБОР
   |        КОГДА Корпоративный.Сумма = 0
   |            ТОГДА 0
   |        ИНАЧЕ ЕСТЬNULL(Корпоративный.КоличествоКт, 0)
   |    КОНЕЦ КАК КоличествоКтСС
   |ПОМЕСТИТЬ ДвиженияКорпоративный
   |ИЗ
   |    РегистрБухгалтерии.Корпоративный КАК Корпоративный
   |ГДЕ
   |    Корпоративный.Период МЕЖДУ &НачалоПериода И &КонецПериода
   |    И НЕ Корпоративный.Регистратор ССЫЛКА Документ.СписаниеСебестоимости
   |    И Корпоративный.Активность
   |    И (Корпоративный.СчетДт В
   |                (ВЫБРАТЬ
   |                    Счета.Ссылка
   |                ИЗ
   |                    Счета)
   |            ИЛИ Корпоративный.СчетКт В
   |                (ВЫБРАТЬ
   |                    Счета.Ссылка
   |                ИЗ
   |                    Счета))
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ РАЗЛИЧНЫЕ
   |    ДвиженияКорпоративный.Период КАК Период,
   |    ДвиженияКорпоративный.Регистратор КАК Регистратор
   |ПОМЕСТИТЬ Регистраторы
   |ИЗ
   |    ДвиженияКорпоративный КАК ДвиженияКорпоративный
   |
   |ИНДЕКСИРОВАТЬ ПО
   |    Период,
   |    Регистратор
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |    КорпоративныйСубконто.Период,
   |    КорпоративныйСубконто.Регистратор,
   |    КорпоративныйСубконто.НомерСтроки,
   |    КорпоративныйСубконто.ВидДвижения,
   |    КорпоративныйСубконто.Вид,
   |    КорпоративныйСубконто.Значение
   |ПОМЕСТИТЬ ДвиженияСубконто
   |ИЗ
   |    РегистрБухгалтерии.Корпоративный.Субконто КАК КорпоративныйСубконто
   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Регистраторы КАК Регистраторы
   |        ПО КорпоративныйСубконто.Регистратор = Регистраторы.Регистратор
   |            И КорпоративныйСубконто.Период = Регистраторы.Период
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |    ДвиженияКорпоративный.Период,
   |    ДвиженияКорпоративный.Регистратор,
   |    ДвиженияКорпоративный.НомерСтроки,
   |    ДвиженияКорпоративный.СчетДт,
   |    ДвиженияКорпоративный.СчетКт,
   |    ДвиженияКорпоративный.ВалютаДт,
   |    ДвиженияКорпоративный.ВалютаКт,
   |    ДвиженияКорпоративный.НомерЖурнала,
   |    ДвиженияКорпоративный.Сумма,
   |    ДвиженияКорпоративный.КоличествоДт,
   |    ДвиженияКорпоративный.КоличествоКт,
   |    ДвиженияКорпоративный.КоличествоДтСС,
   |    ДвиженияКорпоративный.КоличествоКтСС,
   |    ВЫБОР
   |        КОГДА КорпоративныйВидыСубконтоДт.НомерСтроки = 1
   |            ТОГДА ДвиженияСубконто.Значение
   |        ИНАЧЕ NULL
   |    КОНЕЦ КАК СубконтоДт1,
   |    ВЫБОР
   |        КОГДА КорпоративныйВидыСубконтоДт.НомерСтроки = 2
   |            ТОГДА ДвиженияСубконто.Значение
   |        ИНАЧЕ NULL
   |    КОНЕЦ КАК СубконтоДт2,
   |    ВЫБОР
   |        КОГДА КорпоративныйВидыСубконтоДт.НомерСтроки = 3
   |            ТОГДА ДвиженияСубконто.Значение
   |        ИНАЧЕ NULL
   |    КОНЕЦ КАК СубконтоДт3,
   |    ВЫБОР
   |        КОГДА КорпоративныйВидыСубконтоДт.НомерСтроки = 4
   |            ТОГДА ДвиженияСубконто.Значение
   |        ИНАЧЕ NULL
   |    КОНЕЦ КАК СубконтоДт4,
   |    ВЫБОР
   |        КОГДА КорпоративныйВидыСубконтоДт.НомерСтроки = 5
   |            ТОГДА ДвиженияСубконто.Значение
   |        ИНАЧЕ NULL
   |    КОНЕЦ КАК СубконтоДт5,
   |    ВЫБОР
   |        КОГДА КорпоративныйВидыСубконтоДт.НомерСтроки = 1
   |            ТОГДА ДвиженияСубконто.Вид
   |        ИНАЧЕ NULL
   |    КОНЕЦ КАК ВидСубконтоДт1,
   |    ВЫБОР
   |        КОГДА КорпоративныйВидыСубконтоДт.НомерСтроки = 2
   |            ТОГДА ДвиженияСубконто.Вид
   |        ИНАЧЕ NULL
   |    КОНЕЦ КАК ВидСубконтоДт2,
   |    ВЫБОР
   |        КОГДА КорпоративныйВидыСубконтоДт.НомерСтроки = 3
   |            ТОГДА ДвиженияСубконто.Вид
   |        ИНАЧЕ NULL
   |    КОНЕЦ КАК ВидСубконтоДт3,
   |    ВЫБОР
   |        КОГДА КорпоративныйВидыСубконтоДт.НомерСтроки = 4
   |            ТОГДА ДвиженияСубконто.Вид
   |        ИНАЧЕ NULL
   |    КОНЕЦ КАК ВидСубконтоДт4,
   |    ВЫБОР
   |        КОГДА КорпоративныйВидыСубконтоДт.НомерСтроки = 5
   |            ТОГДА ДвиженияСубконто.Вид
   |        ИНАЧЕ NULL
   |    КОНЕЦ КАК ВидСубконтоДт5,
   |    ВЫБОР
   |        КОГДА КорпоративныйВидыСубконтоКт.НомерСтроки = 1
   |            ТОГДА ДвиженияСубконто.Значение
   |        ИНАЧЕ NULL
   |    КОНЕЦ КАК СубконтоКт1,
   |    ВЫБОР
   |        КОГДА КорпоративныйВидыСубконтоКт.НомерСтроки = 2
   |            ТОГДА ДвиженияСубконто.Значение
   |        ИНАЧЕ NULL
   |    КОНЕЦ КАК СубконтоКт2,
   |    ВЫБОР
   |        КОГДА КорпоративныйВидыСубконтоКт.НомерСтроки = 3
   |            ТОГДА ДвиженияСубконто.Значение
   |        ИНАЧЕ NULL
   |    КОНЕЦ КАК СубконтоКт3,
   |    ВЫБОР
   |        КОГДА КорпоративныйВидыСубконтоКт.НомерСтроки = 4
   |            ТОГДА ДвиженияСубконто.Значение
   |        ИНАЧЕ NULL
   |    КОНЕЦ КАК СубконтоКт4,
   |    ВЫБОР
   |        КОГДА КорпоративныйВидыСубконтоКт.НомерСтроки = 5
   |            ТОГДА ДвиженияСубконто.Значение
   |        ИНАЧЕ NULL
   |    КОНЕЦ КАК СубконтоКт5,
   |    ВЫБОР
   |        КОГДА КорпоративныйВидыСубконтоКт.НомерСтроки = 1
   |            ТОГДА ДвиженияСубконто.Вид
   |        ИНАЧЕ NULL
   |    КОНЕЦ КАК ВидСубконтоКт1,
   |    ВЫБОР
   |        КОГДА КорпоративныйВидыСубконтоКт.НомерСтроки = 2
   |            ТОГДА ДвиженияСубконто.Вид
   |        ИНАЧЕ NULL
   |    КОНЕЦ КАК ВидСубконтоКт2,
   |    ВЫБОР
   |        КОГДА КорпоративныйВидыСубконтоКт.НомерСтроки = 3
   |            ТОГДА ДвиженияСубконто.Вид
   |        ИНАЧЕ NULL
   |    КОНЕЦ КАК ВидСубконтоКт3,
   |    ВЫБОР
   |        КОГДА КорпоративныйВидыСубконтоКт.НомерСтроки = 4
   |            ТОГДА ДвиженияСубконто.Вид
   |        ИНАЧЕ NULL
   |    КОНЕЦ КАК ВидСубконтоКт4,
   |    ВЫБОР
   |        КОГДА КорпоративныйВидыСубконтоКт.НомерСтроки = 5
   |            ТОГДА ДвиженияСубконто.Вид
   |        ИНАЧЕ NULL
   |    КОНЕЦ КАК ВидСубконтоКт5
   |ПОМЕСТИТЬ ПроводкиПодготовка
   |ИЗ
   |    ДвиженияКорпоративный КАК ДвиженияКорпоративный
   |        ЛЕВОЕ СОЕДИНЕНИЕ ДвиженияСубконто КАК ДвиженияСубконто
   |        ПО ДвиженияКорпоративный.Период = ДвиженияСубконто.Период
   |            И ДвиженияКорпоративный.Регистратор = ДвиженияСубконто.Регистратор
   |            И ДвиженияКорпоративный.НомерСтроки = ДвиженияСубконто.НомерСтроки
   |        ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Корпоративный.ВидыСубконто КАК КорпоративныйВидыСубконтоКт
   |        ПО (ДвиженияСубконто.Вид = КорпоративныйВидыСубконтоКт.ВидСубконто)
   |            И (ДвиженияСубконто.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияБухгалтерии.Кредит))
   |            И ДвиженияКорпоративный.СчетКт = КорпоративныйВидыСубконтоКт.Ссылка
   |        ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Корпоративный.ВидыСубконто КАК КорпоративныйВидыСубконтоДт
   |        ПО (ДвиженияСубконто.Вид = КорпоративныйВидыСубконтоДт.ВидСубконто)
   |            И (ДвиженияСубконто.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияБухгалтерии.Дебет))
   |            И ДвиженияКорпоративный.СчетДт = КорпоративныйВидыСубконтоДт.Ссылка
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |    ПроводкиПодготовка.Период,
   |    ПроводкиПодготовка.Регистратор,
   |    ПроводкиПодготовка.НомерСтроки,
   |    ПроводкиПодготовка.СчетДт,
   |    ПроводкиПодготовка.СчетКт,
   |    ПроводкиПодготовка.ВалютаДт,
   |    ПроводкиПодготовка.ВалютаКт,
   |    ПроводкиПодготовка.НомерЖурнала,
   |    ПроводкиПодготовка.Сумма,
   |    ПроводкиПодготовка.КоличествоДт,
   |    ПроводкиПодготовка.КоличествоКт,
   |    ПроводкиПодготовка.КоличествоДтСС,
   |    ПроводкиПодготовка.КоличествоКтСС,
   |    МАКСИМУМ(ПроводкиПодготовка.СубконтоДт1) КАК СубконтоДт1,
   |    МАКСИМУМ(ПроводкиПодготовка.СубконтоДт2) КАК СубконтоДт2,
   |    МАКСИМУМ(ПроводкиПодготовка.СубконтоДт3) КАК СубконтоДт3,
   |    МАКСИМУМ(ПроводкиПодготовка.СубконтоДт4) КАК СубконтоДт4,
   |    МАКСИМУМ(ПроводкиПодготовка.СубконтоДт5) КАК СубконтоДт5,
   |    МАКСИМУМ(ПроводкиПодготовка.ВидСубконтоДт1) КАК ВидСубконтоДт1,
   |    МАКСИМУМ(ПроводкиПодготовка.ВидСубконтоДт2) КАК ВидСубконтоДт2,
   |    МАКСИМУМ(ПроводкиПодготовка.ВидСубконтоДт3) КАК ВидСубконтоДт3,
   |    МАКСИМУМ(ПроводкиПодготовка.ВидСубконтоДт4) КАК ВидСубконтоДт4,
   |    МАКСИМУМ(ПроводкиПодготовка.ВидСубконтоДт5) КАК ВидСубконтоДт5,
   |    МАКСИМУМ(ПроводкиПодготовка.СубконтоКт1) КАК СубконтоКт1,
   |    МАКСИМУМ(ПроводкиПодготовка.СубконтоКт2) КАК СубконтоКт2,
   |    МАКСИМУМ(ПроводкиПодготовка.СубконтоКт3) КАК СубконтоКт3,
   |    МАКСИМУМ(ПроводкиПодготовка.СубконтоКт4) КАК СубконтоКт4,
   |    МАКСИМУМ(ПроводкиПодготовка.СубконтоКт5) КАК СубконтоКт5,
   |    МАКСИМУМ(ПроводкиПодготовка.ВидСубконтоКт1) КАК ВидСубконтоКт1,
   |    МАКСИМУМ(ПроводкиПодготовка.ВидСубконтоКт2) КАК ВидСубконтоКт2,
   |    МАКСИМУМ(ПроводкиПодготовка.ВидСубконтоКт3) КАК ВидСубконтоКт3,
   |    МАКСИМУМ(ПроводкиПодготовка.ВидСубконтоКт4) КАК ВидСубконтоКт4,
   |    МАКСИМУМ(ПроводкиПодготовка.ВидСубконтоКт5) КАК ВидСубконтоКт5
   |ПОМЕСТИТЬ Проводки
   |ИЗ
   |    ПроводкиПодготовка КАК ПроводкиПодготовка
   |
   |СГРУППИРОВАТЬ ПО
   |    ПроводкиПодготовка.Период,
   |    ПроводкиПодготовка.Регистратор,
   |    ПроводкиПодготовка.НомерСтроки,
   |    ПроводкиПодготовка.СчетДт,
   |    ПроводкиПодготовка.СчетКт,
   |    ПроводкиПодготовка.ВалютаДт,
   |    ПроводкиПодготовка.ВалютаКт,
   |    ПроводкиПодготовка.НомерЖурнала,
   |    ПроводкиПодготовка.Сумма,
   |    ПроводкиПодготовка.КоличествоДт,
   |    ПроводкиПодготовка.КоличествоКт,
   |    ПроводкиПодготовка.КоличествоДтСС,
   |    ПроводкиПодготовка.КоличествоКтСС
   |
11 Ку
 
22.05.13
13:55
(10) спасибо, будем пробовать что-то переписать.
12 Ку
 
22.05.13
16:21
И, кстати, проблемы с ключами защиты тоже появились у нас после перехода на 8.2 ) Хотя nethasp.ini был скопирован непосредственно с 8.1 и на ней траблов не было.
13 Alex Cheerful
 
22.05.13
16:26
(0) а запрос нормально написан, может косяк в самом запросе...
14 Ку
 
22.05.13
17:19
(13) Опять же - он написан точно так, как и для 8.1. Но там работал ок, а тут нет. Запрос в частном случае таков:

ВЫБРАТЬ РАЗРЕШЕННЫЕ

   Проводки.Период,
   Проводки.НомерСтроки,
   Проводки.ВидУчетаДт,
   Проводки.ВидУчетаКт,
   Проводки.Регистратор,
   ПРЕДСТАВЛЕНИЕ(Проводки.Регистратор) КАК РегистраторПредставление,
   Проводки.Сумма,
   Проводки.КоличествоДт,
   Проводки.КоличествоКт,
   Проводки.Содержание,
   Проводки.НомерЖурнала,
   Проводки.КорректируемыйДокумент,
   ПРЕДСТАВЛЕНИЕ(Проводки.КорректируемыйДокумент) КАК КорректируемыйДокументПредставление,
   ЕСТЬNULL(СчетаДт.Количественный, Ложь) КАК КоличественныйДт,
   ЕСТЬNULL(СчетаКт.Количественный, Ложь) КАК КоличественныйКт,
   ЕСТЬNULL(СчетаДт.КолвоСубконто, 0) КАК КолвоСубконтоДт,
   ЕСТЬNULL(СчетаКт.КолвоСубконто, 0) КАК КолвоСубконтоКт,
   Проводки.СчетДт,
   Проводки.СчетДт.Представление КАК СчетДтПредставление,
   Проводки.СчетКт,
   Проводки.СчетКт.Представление КАК СчетКтПредставление,
   ПРЕДСТАВЛЕНИЕ(Проводки.СубконтоДт1) КАК СубконтоДт1,
   ПРЕДСТАВЛЕНИЕ(Проводки.СубконтоКт1) КАК СубконтоКт1,
   ПРЕДСТАВЛЕНИЕ(Проводки.СубконтоДт2) КАК СубконтоДт2,
   ПРЕДСТАВЛЕНИЕ(Проводки.СубконтоКт2) КАК СубконтоКт2,
   ПРЕДСТАВЛЕНИЕ(Проводки.СубконтоДт3) КАК СубконтоДт3,
   ПРЕДСТАВЛЕНИЕ(Проводки.СубконтоКт3) КАК СубконтоКт3,
   ПРЕДСТАВЛЕНИЕ(Проводки.СубконтоДт4) КАК СубконтоДт4,
   ПРЕДСТАВЛЕНИЕ(Проводки.СубконтоКт4) КАК СубконтоКт4
ИЗ
   (ВЫБРАТЬ

   Проводки1.Период,
   Проводки1.НомерСтроки,
   Проводки1.ВидУчетаДт,
   Проводки1.ВидУчетаКт,
   Проводки1.Регистратор,
   Проводки1.Сумма,
   Проводки1.КоличествоДт,
   Проводки1.КоличествоКт,
   Проводки1.Содержание,
   Проводки1.НомерЖурнала,
   Проводки1.КорректируемыйДокумент,
   Проводки1.СчетДт,
   Проводки1.СчетКт,
   Проводки1.СубконтоДт1 КАК СубконтоДт1,
   Проводки1.СубконтоКт1 КАК СубконтоКт1,
   Проводки1.СубконтоДт2 КАК СубконтоДт2,
   Проводки1.СубконтоКт2 КАК СубконтоКт2,
   Проводки1.СубконтоДт3 КАК СубконтоДт3,
   Проводки1.СубконтоКт3 КАК СубконтоКт3,
   Проводки1.СубконтоДт4 КАК СубконтоДт4,
   Проводки1.СубконтоКт4 КАК СубконтоКт4
ИЗ
   РегистрБухгалтерии.Налоговый.ДвиженияССубконто(&ДатаНач, &ДатаКон, Активность = ИСТИНА И Организация = &Организация  И СчетДт В ИЕРАРХИИ(&СчетДт1) И СчетКт В ИЕРАРХИИ(&СчетКт1)) КАК Проводки1 ГДЕ 1=1  И СубконтоДт2 = &Значение1_1) КАК Проводки

   ЛЕВОЕ СОЕДИНЕНИЕ (
   ВЫБРАТЬ
       Счета.Ссылка КАК ССЫЛКА,
       Счета.Количественный КАК Количественный,
       КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Субконто.ВидСубконто) КАК КолвоСубконто
   ИЗ
       ПланСчетов.Налоговый КАК Счета
           ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Налоговый.ВидыСубконто КАК Субконто
           ПО Субконто.Ссылка = Счета.Ссылка

СГРУППИРОВАТЬ ПО
   Счета.Ссылка
) КАК СчетаДт
   ПО Проводки.СчетДт = СчетаДт.Ссылка

   ЛЕВОЕ СОЕДИНЕНИЕ (
   ВЫБРАТЬ
       Счета.Ссылка КАК ССЫЛКА,
       Счета.Количественный КАК Количественный,
       КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Субконто.ВидСубконто) КАК КолвоСубконто
   ИЗ
       ПланСчетов.Налоговый КАК Счета
           ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Налоговый.ВидыСубконто КАК Субконто
           ПО Субконто.Ссылка = Счета.Ссылка

СГРУППИРОВАТЬ ПО
   Счета.Ссылка
) КАК СчетаКт
   ПО Проводки.СчетКт = СчетаКт.Ссылка

Упорядочить По Период, Регистратор
15 smotritel
 
22.05.13
17:31
(12) смотря куда ты его скопировал. в 8.2 его нужно в подкаталог bin\conf класть.
16 smotritel
 
22.05.13
17:31
(0) Период рассчитанных итогов какой?
17 smotritel
 
22.05.13
17:36
(14) соединяться с вложенными запросами некомильфо - сделай пакет с ВТ
18 Ку
 
22.05.13
17:36
(15) Там и положен..
(16) Начало текущего месяца. Пересчет итогов делали, ничего не изменилось.
19 H A D G E H O G s
 
22.05.13
17:37
Хосподяяя.
Херня то какая.

Ну запустите ms sql profailer и посмотрите
show xml plan и все встанет на свои места.

И запрос перепишите.
20 ptiz
 
22.05.13
17:37
(12) Поэтому мы с 8.1 и не переходим. Нафиг нам глюки сырой платформы :)
А вот с базой ЗУПа на 8.2 траблы с ключами бывают периодически :

(14) Попробуй условие В ИЕРАРХИИ(...) заменить на простое В (&массив), предварительно получив массив счетов отдельным запросом.
21 smotritel
 
22.05.13
17:37
+(17) открой ред. 1.6 последних релизов - там этот запрос для этого отчета был переписан (оптимизирован)
22 smotritel
 
22.05.13
17:38
(21) хотя... может это я и путаю
23 Ку
 
22.05.13
17:38
(20) Пробовали. Точнее в консоли ставили спецом не в иерархии а равенство конкретному субсчету, для эксперимента просто. Так же долго думает. Хотя результат - 180 строк всего.
24 Ку
 
22.05.13
17:39
(21) ПОпробую, спасибо.
25 Ку
 
22.05.13
17:40
(19) И что мне делать в sql profiler-е? А с запросом попробую конечно. Завтра доложу. Вы тоже про ВТ речь ведете, или как-то иначе советуете его оптимизировать?
26 H A D G E H O G s
 
22.05.13
17:42
(25) Вы 1С начали раньше меня.
Пора бы уже начинать что-то делать, например, посмотреть какой кусок запроса убивает быстродействие.
27 drongo-god
 
22.05.13
17:47
(0) Пересчет итогов плюс реструктуризация индексов если SQL
28 Ку
 
22.05.13
17:52
(26) У всех разные способности.
29 kiruha
 
22.05.13
18:13
Смотреть в профайлер можно если что то не стыкуется
в принципе план выполнения как правило и так понятен
//
смотрю ваш запрос
(14)
РегистрБухгалтерии.Налоговый.ДвиженияССубконто(&ДатаНач, &ДатаКон, Активность = ИСТИНА И Организация = &Организация  И СчетДт В ИЕРАРХИИ(&СчетДт1) И СчетКт В ИЕРАРХИИ(&СчетКт1)) КАК Проводки1 ГДЕ 1=1  И СубконтоДт2 = &Значение1_1

Внутрь виртуальной таблицы переместить отбор  по значению и  по виду субконто

РегистрБухгалтерии.Налоговый.ДвиженияССубконто(&ДатаНач, &ДатаКон, Активность = ИСТИНА И Организация = &Организация  И СчетДт В ИЕРАРХИИ(&СчетДт1) И СчетКт В ИЕРАРХИИ(&СчетКт1) и СубконтоДт2 = &Значение1_1)



Потом Представление функция - будет левое соединение каждого поля со всеми справочниками и документами
это ежели записей более 160 штук
30 Ку
 
22.05.13
19:04
(29) завтра попробую поправить,спасибо. просто не понятно почему это все лишь на, 8.2 появилось.
31 kiruha
 
23.05.13
10:10
(30)
Могла измениться структура таблиц реализации регистра бухгалтерии(хотя не помню значит изменений за последние несколько лет) и алгоритм (скорее всего) преобразования запроса 1С в запрос SQL
32 Ку
 
23.05.13
10:44
(31) Спасибо за дельный совет! Перенесли условие из где в ".ДвиженияССубконто(&ДатаНач, &ДатаКон, "+СтрокаОграниченийПоРеквизитам+ТекстОтбораСчетов+ТекстОтбораСубконто+")
и в самом деле, теперь формируется за считанные секунды.
33 Ку
 
23.05.13
10:49
Без отборов конечно быстрее не стало. Попробую еще с представлениями и вт подмудрить.
34 kiruha
 
23.05.13
11:10
(33)
>>Без отборов конечно быстрее не стало

Если нет отбора по конкретному субконто - ставьте ограничение на вид субконто в параметрах вирт таблиц

ну известно же что считаете - ботинки или финансы
35 Ку
 
23.05.13
12:31
(34) хорошо, спасибо!
36 Ку
 
23.05.13
15:55
не помогло ( (34)
37 kiruha
 
23.05.13
16:59
(36)
Если задано Сч Дт и Сч Кт есть смысл попробовать таблицу оборотов между счетами (Дт КТ )
Там используется таблица с уже расчитанными оборотами между счетами
38 Ку
 
24.05.13
12:57
В общем, оказалось как. Видов субконто у нас максимально возможное 4, и в это запросе независимо от количества субконто на используемых счетах выбираются все равно все 4. Если оставить только те что реально есть то все работает. Это конечно отлично, но интересно опять же почему.. Ну это ладно )
39 Ку
 
24.05.13
15:15
В итоге, таким образом сделали:

ВЫБРАТЬ
   Проводки1.Период КАК Период,
   Проводки1.НомерСтроки КАК НомерСтроки,
   Проводки1.ВидУчетаДт КАК ВидУчетаДт,
   Проводки1.ВидУчетаКт КАК ВидУчетаКт,
   Проводки1.Регистратор КАК Регистратор,
   Проводки1.Сумма КАК Сумма,
   Проводки1.КоличествоДт КАК КоличествоДт,
   Проводки1.КоличествоКт КАК КоличествоКт,
   Проводки1.Содержание КАК Содержание,
   Проводки1.НомерЖурнала КАК НомерЖурнала,
   Проводки1.КорректируемыйДокумент КАК КорректируемыйДокумент,
   Проводки1.СчетДт КАК СчетДт,
   Проводки1.СчетКт КАК СчетКт,
   НалоговыйОборотыДтКт.СубконтоДт1 КАК СубконтоДт11,
   НалоговыйОборотыДтКт.СубконтоКт1 КАК СубконтоКт11,
   НалоговыйОборотыДтКт.СубконтоДт2 КАК СубконтоДт21,
   НалоговыйОборотыДтКт.СубконтоКт2 КАК СубконтоКт21,
   НалоговыйОборотыДтКт.СубконтоДт3 КАК СубконтоДт3,
   НалоговыйОборотыДтКт.СубконтоКт3 КАК СубконтоКт31,
   НалоговыйОборотыДтКт.СубконтоДт4 КАК СубконтоДт4,
   НалоговыйОборотыДтКт.СубконтоКт4 КАК СубконтоКт4
ИЗ
   РегистрБухгалтерии.Налоговый.ДвиженияССубконто(
           &ДатаНач,
           &ДатаКон,
           Активность = ИСТИНА
               И Организация = &Организация
               И СчетДт В ИЕРАРХИИ (&СчетДт1)
               И СчетКт В ИЕРАРХИИ (&СчетКт1),
           ,
           ) КАК Проводки1
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Налоговый.ОборотыДтКт(&ДатаНач, &ДатаКон, Запись, СчетДт В ИЕРАРХИИ (&СчетДт1), , СчетКт В ИЕРАРХИИ (&СчетКт1), , ) КАК НалоговыйОборотыДтКт
       ПО Проводки1.Регистратор = НалоговыйОборотыДтКт.Регистратор
           И Проводки1.НомерСтроки = НалоговыйОборотыДтКт.НомерСтроки

т.е. не из движений значения субконто брать и из обороты дткт (отказаться от движений совсем нельзя потому что в нем содержание и реквизиты недоступные в других вирт. таблицах). В таком варианте все летает. Но ёмана, почему не нравится ему субконто брать из таблицы движений в субконто, кто бы рассказал.