Форум программистов, компьютерный форум, киберфорум
1С: Типовые и стандартные решения
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
11 / 11 / 5
Регистрация: 23.06.2015
Сообщений: 74
1

Оптимизация запроса

13.10.2015, 10:21. Показов 627. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Делаю запрос в скд, в котором на каждую дату документа берутся цены. Данные получаются верные , но очень долго работает. Подскажите как можно оптимизировать?
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
ВЫБРАТЬ
    ОтчетОРозничныхПродажахТовары.Ссылка КАК Документ,
    ОтчетОРозничныхПродажахТовары.Номенклатура КАК Номенклатура,
    МАКСИМУМ(ЦеныАТТ.Период) КАК МаксимальнаяДатаРегистра,
    СУММА(ОтчетОРозничныхПродажахТовары.Количество) КАК Количество,
    СУММА(ОтчетОРозничныхПродажахТовары.Сумма) КАК Сумма,
    ОтчетОРозничныхПродажахТовары.Склад КАК Склад,
    ОтчетОРозничныхПродажахТовары.Качество
ПОМЕСТИТЬ Выборка
ИЗ
    Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныАТТ КАК ЦеныАТТ
        ПО ОтчетОРозничныхПродажахТовары.Номенклатура = ЦеныАТТ.Номенклатура
            И ОтчетОРозничныхПродажахТовары.Склад = ЦеныАТТ.Склад
            И ОтчетОРозничныхПродажахТовары.Качество = ЦеныАТТ.Качество
            И ОтчетОРозничныхПродажахТовары.Ссылка.Дата >= ЦеныАТТ.Период
ГДЕ
    ОтчетОРозничныхПродажахТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
 
СГРУППИРОВАТЬ ПО
    ОтчетОРозничныхПродажахТовары.Ссылка,
    ОтчетОРозничныхПродажахТовары.Номенклатура,
    ОтчетОРозничныхПродажахТовары.Склад,
    ОтчетОРозничныхПродажахТовары.Качество
;
 
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Выборка.Документ,
    Выборка.Номенклатура,
    МАКСИМУМ(ЦеныАТТ.Цена) КАК Цена,
    Выборка.МаксимальнаяДатаРегистра,
    СУММА(Выборка.Количество) КАК Количество,
    СУММА(Выборка.Сумма) КАК Сумма,
    Выборка.Документ.Дата КАК Дата,
    Выборка.Документ.Номер КАК Номер,
    Выборка.Документ.Подразделение КАК Подразделение,
    Выборка.Склад,
    Выборка.Качество
ПОМЕСТИТЬ Цены
ИЗ
    Выборка КАК Выборка
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныАТТ КАК ЦеныАТТ
        ПО Выборка.Номенклатура = ЦеныАТТ.Номенклатура
            И Выборка.МаксимальнаяДатаРегистра = ЦеныАТТ.Период
            И Выборка.Склад = ЦеныАТТ.Склад
            И Выборка.Качество = ЦеныАТТ.Качество
 
СГРУППИРОВАТЬ ПО
    Выборка.Документ,
    Выборка.Номенклатура,
    Выборка.МаксимальнаяДатаРегистра,
    Выборка.Документ.Дата,
    Выборка.Документ.Номер,
    Выборка.Документ.Подразделение,
    Выборка.Склад,
    Выборка.Качество
;
 
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ОтчетОРозничныхПродажахТовары.Ссылка КАК Документ,
    ОтчетОРозничныхПродажахТовары.Номенклатура КАК Номенклатура,
    СУММА(ОтчетОРозничныхПродажахТовары.Сумма) КАК Сумма,
    СУММА((ОтчетОРозничныхПродажахТовары.Сумма - Цены.Цена * ОтчетОРозничныхПродажахТовары.Количество) * -1) КАК Скидка,
    ОтчетОРозничныхПродажахТовары.Склад.Подразделение,
    ОтчетОРозничныхПродажахТовары.ЗначениеУсловияАвтоматическойСкидки,
    ОтчетОРозничныхПродажахТовары.Количество КАК КоличествоПродаж
ИЗ
    Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
        ЛЕВОЕ СОЕДИНЕНИЕ Цены КАК Цены
        ПО ОтчетОРозничныхПродажахТовары.Номенклатура = Цены.Номенклатура
            И ОтчетОРозничныхПродажахТовары.Ссылка = Цены.Документ
            И ОтчетОРозничныхПродажахТовары.Качество = Цены.Качество
ГДЕ
    ОтчетОРозничныхПродажахТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
 
СГРУППИРОВАТЬ ПО
    ОтчетОРозничныхПродажахТовары.Ссылка,
    ОтчетОРозничныхПродажахТовары.Номенклатура,
    ОтчетОРозничныхПродажахТовары.Склад.Подразделение,
    ОтчетОРозничныхПродажахТовары.ЗначениеУсловияАвтоматическойСкидки,
    ОтчетОРозничныхПродажахТовары.Количество
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.10.2015, 10:21
Ответы с готовыми решениями:

Оптимизация запроса
Доброе утро. Меня постигла небесная кара, а именно отдали чужой запрос на оптимизацию. Такого...

Оптимизация запроса 1С
Здравствуйте. Очень медленно работает запрос. Можно ли его как-то оптимизировать? ...

Оптимизация запроса
Есть задача определить движение номенклатуры по счетам, т.е. с какого дебета на какой кредит ушла...

Оптимизация запроса
1С 7.7(27), Бухгалтерия(514), MS SQL 2008 (Express) При обработке документа "Начисление...

4
340 / 315 / 43
Регистрация: 20.08.2014
Сообщений: 1,242
Записей в блоге: 1
13.10.2015, 10:32 2
SpiRUS, потому что данные берете по документам, а надо с регистра тянуть, тогда и будет быстрей работать.
0
11 / 11 / 5
Регистрация: 23.06.2015
Сообщений: 74
13.10.2015, 10:49  [ТС] 3
1c-k, Из регистра не выйдет из за особенности конфигурации
0
340 / 315 / 43
Регистрация: 20.08.2014
Сообщений: 1,242
Записей в блоге: 1
13.10.2015, 10:54 4
SpiRUS, ну тогда усорить тоже не получится толком. Так как он связывает первую таблицу с регистром, на весь объем данных по документу. А это работает медленно.
0
11 / 11 / 5
Регистрация: 23.06.2015
Сообщений: 74
13.10.2015, 11:00  [ТС] 5
1c-k, Ну ладно, спасибо. Просто думал может где нибудь накосячил, и можно сделать лучше
0
13.10.2015, 11:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.10.2015, 11:00
Помогаю со студенческими работами здесь

Оптимизация запроса
1С 8.2, конфигурация написана полностью с нуля. Есть запрос, который заполняет таблицу отчета по ДЗ...

8.2 Оптимизация запроса ?
Есть справочник с интересующими записями: Родитель, ДатаНачало и ДатаОкончание и Включен(булеан)....

Оптимизация скорости выполнения запроса
имею запрос :) вернее он имеет меня:) цикл в цикле получился ВЫБРАТЬ...

Оптимизация запроса.не совсем понимаю каг?! =-O
Дамы и господа! Сам являюсь человеком несведущим в 1с программировании. Но очень хочу этому...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru