|
помогите с запросом | ☑ | ||
---|---|---|---|---|
0
Голубушка
03.12.12
✎
16:36
|
запрос в СКД
Вложенный 1 ( Вложенный 2 ( ( табл1 ОБЪЕДИНИТЬ ВСЕ табл2 ОБЪЕДИНИТЬ ВСЕ табл3 здесь поле получаем КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВЫБОР КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.Месяц) ТОГДА НАЧАЛОПЕРИОДА(Продажи.Период, МЕСЯЦ) КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.Неделя) ТОГДА НАЧАЛОПЕРИОДА(Продажи.Период, НЕДЕЛЯ) КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.Декада) ТОГДА НАЧАЛОПЕРИОДА(Продажи.Период, ДЕКАДА) КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.День) ТОГДА НАЧАЛОПЕРИОДА(Продажи.Период, ДЕНЬ) КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.Квартал) ТОГДА НАЧАЛОПЕРИОДА(Продажи.Период, КВАРТАЛ) КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.Полугодие) ТОГДА НАЧАЛОПЕРИОДА(Продажи.Период, ПОЛУГОДИЕ) КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.Год) ТОГДА НАЧАЛОПЕРИОДА(Продажи.Период, ГОД) КОНЕЦ),Как Периоды ********** Периоды группируем как различные .... Табл11 ) Периоды группируем как максимум ) Периоды группируем как максимум) в кансоле выдает правильный период 4(недели) при запуске обработки выдает 3 . если ставим периодичность Месяц , то выдает 3 т.е. выдает всегда как быдто переодичность это месяц |
|||
1
Голубушка
03.12.12
✎
16:43
|
т.е. не как
Периоды группируем как различные а как Периоды группируем как количесвто различные |
|||
2
Wobland
03.12.12
✎
16:43
|
йа не гатов к токим ленгвестическим изыскам
|
|||
3
Spieluhr
03.12.12
✎
17:08
|
>> в кансоле
при Ельцине такого не было |
|||
4
sapphire
03.12.12
✎
17:09
|
Автор и стена плача.
Серия № 2 эпизод 1. Мотор! |
|||
5
Голубушка
03.12.12
✎
17:15
|
(3) ну простите .. конечно в консоли , я вам больше скажу, при Брежневе не было гораздо больше
|
|||
6
Голубушка
03.12.12
✎
17:17
|
(4) у вас есть имеются соображения ?
по какой причине СКД уменьшает полученную цифру ? |
|||
7
GLazNik
03.12.12
✎
17:18
|
(6) процент за посреднические услуги?
|
|||
8
Голубушка
03.12.12
✎
17:28
|
я бы подумала на оформление или посмотрела группировку ресурсов , что я и сделала ..
думаю вы мне врядли поможете |
|||
9
Wobland
03.12.12
✎
17:29
|
(8) ну почему же. дождись мастеров телепатии, без этого в (0) никак
|
|||
10
Irek-kazan
03.12.12
✎
17:32
|
(7) переводить будешь?
|
|||
11
Голубушка
03.12.12
✎
18:15
|
Спасибо за помощь .
Объясняю : СКД перемалывает запрос , если посмотреть консолью СКД ,если перед выводом посмотреть запрос в компоновщике отладчиком и потом сравнить с тем, что писали для набора , то видно отличие Конструкция КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВЫБОР КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.Месяц) ТОГДА НАЧАЛОПЕРИОДА(Продажи.Период, МЕСЯЦ) КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.Неделя) ТОГДА НАЧАЛОПЕРИОДА(Продажи.Период, НЕДЕЛЯ) КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.Декада) ТОГДА НАЧАЛОПЕРИОДА(Продажи.Период, ДЕКАДА) КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.День) ТОГДА НАЧАЛОПЕРИОДА(Продажи.Период, ДЕНЬ) КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.Квартал) ТОГДА НАЧАЛОПЕРИОДА(Продажи.Период, КВАРТАЛ) КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.Полугодие) ТОГДА НАЧАЛОПЕРИОДА(Продажи.Период, ПОЛУГОДИЕ) КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.Год) ТОГДА НАЧАЛОПЕРИОДА(Продажи.Период, ГОД) КОНЕЦ),Как Периоды изменена Лекарство : писать конструкцию четко попорядку который есть в перечислении т.е. День,Неделя,Декада,Месяц,Квартал,Полугодие,Год и все :) работает |
|||
12
sapphire
03.12.12
✎
18:19
|
(11) Так лучше не писать вообще
|
|||
13
Wobland
03.12.12
✎
18:19
|
(11) четко попорядку тут ни при чём
|
|||
14
Голубушка
03.12.12
✎
18:42
|
(13) .. да не причем , можно и не по порядку ,главное чтоб
КОГДА &Периодичность = ЗНАЧЕНИЕ Перечисление.Периодичность.Месяц) ТОГДА НАЧАЛОПЕРИОДА(Продажи.Период, МЕСЯЦ) был последним |
|||
15
Wobland
03.12.12
✎
18:44
|
(14) обратно ересь какая-то
|
|||
16
Голубушка
03.12.12
✎
18:46
|
(12) не было альтернативы, такая конструкция не от того , что запросы писать не могу, нужен отбор по хозоперации , а хозоперация в РН является реквизитом, достать могу только из физ таблицы .. ну или из виртуальной обороты с периодичностью Регистратор , т.е. по любому все записи регистра отрабатывать , только наворотов потом больше
|
|||
17
Голубушка
03.12.12
✎
18:47
|
(15)ну что ты споришь :) установлено имерическим путем ,
я вообще думала чекнусь , когда увидила что СКД с запросом сделала |
|||
18
Wobland
03.12.12
✎
18:50
|
(17) плин, говори по-русски. не верю
|
|||
19
Адимр
03.12.12
✎
18:54
|
(0) Классные сиськи.
|
|||
20
Wobland
03.12.12
✎
18:55
|
эмпирическим что-ли? так сразу и не сообразишь
|
|||
21
Sasha_H
03.12.12
✎
18:55
|
СКД не переламывает запрос, а оптимизирует его. Если есть поля помещены в запрос которые не используются она может их отсечь сама.
|
|||
22
Sasha_H
03.12.12
✎
18:57
|
Используйте тогда обороты в любом случае, при использовании физ.таблицы не факт, что вы корректно отработаете остаток.
|
|||
23
Sasha_H
03.12.12
✎
18:59
|
я когда также пропалился. В консоле запросов отрабатывается запрос на ура, а в СКД нет определенных данных. Вот как оказалось, что я пихал в запрос поле (я там использовал много вложенных таблиц при этом) которое на мнение СКД оно никогда будет не использовано. Пришлось полностью переписать запрос.
|
|||
24
Голубушка
03.12.12
✎
19:00
|
по русски
в конфигураторе создаем источник данных типа запрос .. ну и пишем сам запрос запускаем приложение видим неправильную цифру копируем запрос в консоль , выполняем .. видим правильную цифру получаем запрос из МакетКомпоновки = КомпоновщикМакета.Выполнить(....) сравниваем с тем что писали видим , что в конструкции приведенной выше , на каком бы месте не писалось КОГДА &Периодичность = ЗНАЧЕНИЕ Перечисление.Периодичность.Месяц) ТОГДА НАЧАЛОПЕРИОДА(Продажи.Период, МЕСЯЦ) СКД "оптимизирует" как КОГДА &Периодичность = ЗНАЧЕНИЕ Перечисление.Периодичность.День) ТОГДА НАЧАЛОПЕРИОДА(Продажи.Период, МЕСЯЦ) если ниже стоит день, ну или другое значение вывод КОГДА &Периодичность = ЗНАЧЕНИЕ Перечисление.Периодичность.Месяц) ТОГДА НАЧАЛОПЕРИОДА(Продажи.Период, МЕСЯЦ) должно быть последним в операторе выбора. |
|||
25
Голубушка
03.12.12
✎
19:05
|
(22) ну да обороты с периодом регистратор , тащить хозоперацию (не у каждого регистратора есть).. т.е. какие то операции задавать жестко по регистратору .. отбирать ,
во вложеном все равно складывать по периодам (так же как и раньше ) , только период это теперь доп поле .. ну нафик .. все равно отрабатываем все записи до единой , с физ таблицей 1 раз , с виртуальной минимум 2 |
|||
26
GANR
03.12.12
✎
19:10
|
(11) А если в затрашнем релизе платформы 8.x СКД по-другому работать будет? В 8.0, скажем, сортировка выборки запроса по умолчанию проводилась, а в 8.1 - перестали сортировать, с уелью ускорения, видимо. Так на моей практике из-за этого весь завод 2 дня на ушах стоял, пока эту особенность искали.
|
|||
27
Sasha_H
03.12.12
✎
19:11
|
Судя по запросу СКД его оптимизирует ну это мое ИМХО
|
|||
28
Sasha_H
03.12.12
✎
19:17
|
Лекарство :
писать конструкцию четко попорядку который есть в перечислении т.е. А и это как вариант. Есть и такая особенность ;) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |