Имя: Пароль:
1C
1С v8
Как ускорить отчет СКД
0 Anabella
 
13.03.15
17:06
Мне поставили задачу соорудить отчет, который показывает на какую сумму было продано номенклатуры за определенный период, по организациям, и на какую сумму по организациям поступило оплат. Отчёт сделала, но он очень тормозит. Начальство говорит, что отчет ему нужен часто и он не готов ждать по 5 минут. Как можно убыстрить процесс ?
Использую запрос такого вида:
ВЫБРАТЬ
    ЗаказыКлиентовОбороты.Номенклатура,
    ЗаказыКлиентовОбороты.СуммаПриход КАК СуммаПриход,
    NULL КАК Период,
    NULL КАК СуммаОплаты,
    ЗаказыКлиентовОбороты.ЗаказКлиента.Организация
ИЗ
    РегистрНакопления.ЗаказыКлиентов.Обороты(&Дата1, &Дата2, День, ЗаказКлиента.Ссылка ССЫЛКА Документ.ЗаказКлиента) КАК ЗаказыКлиентовОбороты

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    NULL,
    NULL,
    ДвиженияДенежныеСредстваКонтрагентОбороты.Период,
    ДвиженияДенежныеСредстваКонтрагентОбороты.СуммаОплатыРеглОборот,
    ДвиженияДенежныеСредстваКонтрагентОбороты.Организация
ИЗ
    РегистрНакопления.ДвиженияДенежныеСредстваКонтрагент.Обороты(&Дата1, &Дата2, День, ) КАК ДвиженияДенежныеСредстваКонтрагентОбороты
1 ilya Nikolaevich71
 
13.03.15
17:16
не обращайся через две точки:     ЗаказыКлиентовОбороты.ЗаказКлиента.Организация

поставь отборы по организации, вообще все что можно запихнуть в отборы, пихай!

попробуй временные таблицы
2 Fragster
 
гуру
13.03.15
17:16
Выразить(ЗаказыКлиентовОбороты.ЗаказКлиента КАК Документ.ЗаказКлиента).Организация
3 SanGvin
 
13.03.15
17:16
Заказ <> продажа
4 Fragster
 
гуру
13.03.15
17:18
РегистрНакопления.ЗаказыКлиентов.Обороты(&Дата1, &Дата2, День, ЗаказКлиента.Ссылка ССЫЛКА Документ.ЗаказКлиента {(Выразить(ЗаказыКлиентовОбороты.ЗаказКлиента КАК Документ.ЗаказКлиента).Организация)}) КАК ЗаказыКлиентовОбороты
5 Ymryn
 
13.03.15
17:23
(0) а зачем в первом запросе периодичность в День, если вы не используете период?
6 Ymryn
 
13.03.15
17:26
(5) + отдельно, не уверен, но есть ощущение, что соединение по Организации (пусть даже Полное, а есть подозрение, что и Левого хватит, ибо нафиг нам оплаты, если ничего не продали) может ускорить дело.
7 ssh2006
 
13.03.15
17:30
ЗаказКлиента ССЫЛКА Документ.ЗаказКлиент
8 SanGvin
 
13.03.15
18:07
(6) union all быстрее чем join
9 Anabella
 
14.03.15
08:20
Благодаря (2) и (7) дело действительно значительно ускорилось, отчет за месяц формируется всего 30 секунд! Спасибо за науку!
10 Anabella
 
14.03.15
08:21
(3) не совсем поняла что тут имеется ввиду.
(5) период нужен для графика. По дням.
11 echo77
 
14.03.15
21:38
(9) Вы на каком оборудовании это формируете?
Или у вас там обороты как у Газпрома? 30 сек - это очень много для такого простого отчета
12 D_E_S_131
 
15.03.15
09:18
(11) Да ладно, не такая уж и редкая ситуация, когда оформляется по 1000 документов в день с 50-100 позициями номенклатуры. И вот запусти такой отчет за год...