|
Недостаточно память и запрос | ☑ | ||
---|---|---|---|---|
0
zippygrill
06.06.13
✎
16:47
|
Всем известная ошибка "Недостаточно память" при выполнение вот такого запроса с периодичностью "Месяц" за целый год 2012(думаю если взять по "Дням" то 1с с ума сойдет:)). Что с ним сделать еще можно(это всего лишь маленкий кусок из большого запроса :))?
ВЫБРАТЬ РАЗРЕШЕННЫЕ ВЫБОР КОГДА &ВариантОтчета = 0 ТОГДА ПродажиОбороты.Номенклатура ИНАЧЕ "-" КОНЕЦ КАК Номенклатура, ВЫБОР КОГДА &ВариантОтчета = 0 ТОГДА ВЫБОР КОГДА ПродажиОбороты.Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах ТОГДА "-" ИНАЧЕ ПродажиОбороты.ДоговорКонтрагента КОНЕЦ ИНАЧЕ "-" КОНЕЦ КАК ДоговорКонтрагента, ВЫБОР КОГДА &ВариантОтчета = 0 ТОГДА ВЫБОР КОГДА ПродажиОбороты.Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах ТОГДА _СвойстваCклада.Контрагент ИНАЧЕ ПродажиОбороты.Контрагент КОНЕЦ ИНАЧЕ "-" КОНЕЦ КАК Контрагент, СУММА(ВЫБОР КОГДА &ВариантОтчета = 0 ТОГДА ПродажиОбороты.КоличествоОборот ИНАЧЕ 0 КОНЕЦ) КАК Количество, СУММА(ВЫБОР КОГДА &ВариантОтчета = 0 ТОГДА ПродажиОбороты.СтоимостьОборот ИНАЧЕ 0 КОНЕЦ) КАК Сумма, СРЕДНЕЕ(ВЫБОР КОГДА &ВариантОтчета = 0 ТОГДА ЕСТЬNULL(ПродажиОбороты.СтоимостьОборот / ПродажиОбороты.КоличествоОборот, 0) ИНАЧЕ 0 КОНЕЦ) КАК Цена, СУММА(ВЫБОР КОГДА &ВариантОтчета = 0 ТОГДА ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Объем * ПродажиОбороты.КоличествоОборот, 0) ИНАЧЕ 0 КОНЕЦ) КАК Обьем, ВЫБОР КОГДА &ВариантОтчета = 0 ТОГДА ВЫБОР КОГДА &Периодичность = 0 ТОГДА ПродажиОбороты.ПериодДень КОГДА &Периодичность = 1 ТОГДА ПродажиОбороты.ПериодНеделя КОГДА &Периодичность = 2 ТОГДА ПродажиОбороты.ПериодМесяц КОГДА &Периодичность = 3 ТОГДА ПродажиОбороты.ПериодКвартал КОГДА &Периодичность = 4 ТОГДА ПродажиОбороты.ПериодГод ИНАЧЕ "-" КОНЕЦ ИНАЧЕ "-" КОНЕЦ КАК Периодичность, ВЫБОР КОГДА &ВариантОтчета = 0 ТОГДА ВЫБОР КОГДА &Группировка = 0 ТОГДА ПродажиОбороты.Номенклатура ИНАЧЕ ВЫБОР КОГДА ПродажиОбороты.Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах ТОГДА _СвойстваCклада.Контрагент ИНАЧЕ ПродажиОбороты.Контрагент КОНЕЦ КОНЕЦ ИНАЧЕ "-" КОНЕЦ КАК Группировка, ВЫБОР КОГДА &ВариантОтчета = 0 ТОГДА ПродажиОбороты.Регистратор ИНАЧЕ "-" КОНЕЦ КАК Регистратор, СРЕДНЕЕ(ВЫБОР КОГДА &ВариантОтчета = 0 ТОГДА ВЫБОР КОГДА ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Объем * ПродажиОбороты.КоличествоОборот, 0) = 0 ТОГДА 0 ИНАЧЕ ЕСТЬNULL(ПродажиОбороты.СтоимостьОборот, 0) / ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Объем * ПродажиОбороты.КоличествоОборот, 0) КОНЕЦ ИНАЧЕ 0 КОНЕЦ) КАК ЦенаЗаЛитр ПОМЕСТИТЬ втФактическиеЗапланированныеПродажи ИЗ РегистрНакопления.Продажи.Обороты(, , Авто, ) КАК ПродажиОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений._СвойстваCклада КАК _СвойстваCклада ПО ПродажиОбороты.Регистратор.Склад = _СвойстваCклада.Склад ГДЕ &ВариантОтчета = 0 СГРУППИРОВАТЬ ПО ВЫБОР КОГДА &ВариантОтчета = 0 ТОГДА ПродажиОбороты.Номенклатура ИНАЧЕ "-" КОНЕЦ, ВЫБОР КОГДА &ВариантОтчета = 0 ТОГДА ВЫБОР КОГДА &Периодичность = 0 ТОГДА ПродажиОбороты.ПериодДень КОГДА &Периодичность = 1 ТОГДА ПродажиОбороты.ПериодНеделя КОГДА &Периодичность = 2 ТОГДА ПродажиОбороты.ПериодМесяц КОГДА &Периодичность = 3 ТОГДА ПродажиОбороты.ПериодКвартал КОГДА &Периодичность = 4 ТОГДА ПродажиОбороты.ПериодГод ИНАЧЕ "-" КОНЕЦ ИНАЧЕ "-" КОНЕЦ, ВЫБОР КОГДА &ВариантОтчета = 0 ТОГДА ПродажиОбороты.Регистратор ИНАЧЕ "-" КОНЕЦ, ВЫБОР КОГДА &ВариантОтчета = 0 ТОГДА ВЫБОР КОГДА ПродажиОбороты.Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах ТОГДА _СвойстваCклада.Контрагент ИНАЧЕ ПродажиОбороты.Контрагент КОНЕЦ ИНАЧЕ "-" КОНЕЦ, ВЫБОР КОГДА &ВариантОтчета = 0 ТОГДА ВЫБОР КОГДА ПродажиОбороты.Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах ТОГДА "-" ИНАЧЕ ПродажиОбороты.ДоговорКонтрагента КОНЕЦ ИНАЧЕ "-" КОНЕЦ, ВЫБОР КОГДА &ВариантОтчета = 0 ТОГДА ВЫБОР КОГДА &Группировка = 0 ТОГДА ПродажиОбороты.Номенклатура ИНАЧЕ ВЫБОР КОГДА ПродажиОбороты.Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах ТОГДА _СвойстваCклада.Контрагент ИНАЧЕ ПродажиОбороты.Контрагент КОНЕЦ КОНЕЦ ИНАЧЕ "-" КОНЕЦ |
|||
1
ptiz
06.06.13
✎
16:50
|
Продажи в разрезе товаров и документов - тут памяти никогда не хватит
|
|||
2
zippygrill
06.06.13
✎
16:53
|
вот зараза, только что сформировал и ошибка не проявилась :)
(1) все, писе* продажникам :) |
|||
3
Fragster
гуру
06.06.13
✎
16:53
|
избавится от выборов
|
|||
4
Fragster
гуру
06.06.13
✎
16:53
|
ПродажиОбороты.Регистратор.Склад = _СвойстваCклада.Склад мля...
|
|||
5
zippygrill
06.06.13
✎
16:54
|
(4) и оставить только в условие? что мля? нормально :)
|
|||
6
zippygrill
06.06.13
✎
16:57
|
(4) это соединение лишь для того чтобы получить контрагент склада из ОоРП :) можно конечно выкинуть нафиг и написать просто выбор когда это ОоРП тогда "Розничный контрагент" иначе ПродажиОбороты.КОнтрагент
|
|||
7
Fragster
гуру
06.06.13
✎
17:00
|
(6) а сколько регистраторов у регистра?
|
|||
8
Fragster
гуру
06.06.13
✎
17:01
|
на СКД запрос был бы в 5 раз меньше
|
|||
9
ИсчадиеADO
06.06.13
✎
17:13
|
(0) оно не то что по дням, а по регистраторам берется
|
|||
10
zippygrill
06.06.13
✎
17:14
|
(7) без отбора по регистратору и отчет на СКД(механизм произвольных отчетов в УПП)
|
|||
11
zippygrill
06.06.13
✎
17:14
|
(9) обьясни почему по регистратору?
|
|||
12
ИсчадиеADO
06.06.13
✎
17:17
|
(11) ПО ПродажиОбороты.Регистратор.Склад
|
|||
13
ИсчадиеADO
06.06.13
✎
17:18
|
а база какая? файловая?
|
|||
14
zippygrill
06.06.13
✎
17:20
|
(12)избавился от этого регистра сделал как написал в (6).
(13)файловая(не можем себе позволить файловую :)) |
|||
15
zippygrill
06.06.13
✎
17:20
|
*база серверная ))
|
|||
16
zippygrill
06.06.13
✎
17:23
|
пробовал сейчас свернуть все до 1 уровня группировки и база упала :)
|
|||
17
ИсчадиеADO
06.06.13
✎
17:23
|
(15) непонял :)
|
|||
18
ИсчадиеADO
06.06.13
✎
17:24
|
падает при выполнении запроса или при выводе в макет? отладкой посмотри
|
|||
19
ИсчадиеADO
06.06.13
✎
17:26
|
а в РегистрСведений._СвойстваCклада сколько измерений кстати?
|
|||
20
Fragster
гуру
06.06.13
✎
17:35
|
(10) тогда нафига там ВЫБОР?
|
|||
21
yra77
06.06.13
✎
17:39
|
Я никогда не понимал заказчиков, которые просили сделать выборку миллионов записей. Зачем людям такой объем цифр? чтобы потом выкинуть отчет в эксель и свернуть до месяца например или отобрать по одной номенклатере? ЗАЧЕМ??? Умным я всегда объяснял смысл такой выборки НУЛЕВОЙ. Так что не надо это вам - будьте умнее
|
|||
22
Fragster
гуру
06.06.13
✎
17:40
|
(21) судя по тому, что у автора этот кусок помещается в ВТ, он наверное потом его крутит-верти и выдает отчет из 3-х строк
|
|||
23
yra77
06.06.13
✎
19:08
|
(22) мда, может и так. Но кому -то явно надо вправить мозги, не знаю кому только...
|
|||
24
zippygrill
07.06.13
✎
08:19
|
(22) не правда:)
(19) одно. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |