|
Почему может не работать СУММА() в СКД? | ☑ | ||
---|---|---|---|---|
0
jk3
09.11.11
✎
15:36
|
В консоли запросов Количество = разные числа В консоли отчетов с группировкой Детальные записи = везде единичка КАК такое может быть? |
|||
1
jk3
09.11.11
✎
15:49
|
Хотя бы идею какую-нибудь подкиньте ...
|
|||
2
Господин ПЖ
09.11.11
✎
15:50
|
>с группировкой Детальные записи
кагбынамекает... |
|||
3
g_frost
09.11.11
✎
15:52
|
А может просто 1 как количество
а в СКД добавь количество в ресурс |
|||
4
acsent
09.11.11
✎
15:53
|
Количество - ресурс?
|
|||
5
jk3
09.11.11
✎
15:53
|
(2) Чего намекает?
Такой же вывод простым списком, как в консоли запросов. |
|||
6
jk3
09.11.11
✎
15:55
|
(3)(4) пробовал добавлять Количество в ресурс с выражением МАКСИМУМ(Количество) с нулевым эффектом.
Мне не надо ресурсом ничего суммировать, просто вывести линейным списком то, что получилось в результате запроса. |
|||
7
AAlexandra
09.11.11
✎
16:01
|
(0) а ВТРазличныеПоставщики и ВТПотребители как формируются?
Отборы накладываешь в запросе? |
|||
8
jk3
09.11.11
✎
16:03
|
(7) А эти обе таблицы формируются из другой общей временной таблицы, только по разному группируются.
Кому интересно, вот так:
|
|||
9
DmitrO
09.11.11
✎
16:03
|
может просто так:
Количество(*) КАК Количество, то что надо будет? :) |
|||
10
jk3
09.11.11
✎
16:07
|
(9) Нет. Не помогает.
Результат тот же: в конструкторе запросов всё нормально, в СКД косяк. |
|||
11
jk3
09.11.11
✎
16:10
|
(2) Ваш выход, Маэстро.
|
|||
12
Amiralnar
09.11.11
✎
16:12
|
Используйте консоль СКД, и проанализируйте запрос формируемый в макете. Телепаты в отпуске.
|
|||
13
AAlexandra
09.11.11
✎
16:14
|
(10) База.ПоставщикУслугНоменклатурнаяГруппа, База.ПотребительУслугНоменклатурнаяГруппа из ВТПотребители где-то дальше используются? Если нет, СКД их уберет из запроса и при формировании твоей ВТПотребители получится запрос:
ВЫБРАТЬ База.ПоставщикУслугПодразделение, База.ПотребительУслугПодразделение, ПОМЕСТИТЬ ВТПотребители ИЗ ВТБаза КАК База ГДЕ База.ПотребительУслугСчет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ВспомогательныеПроизводства) СГРУППИРОВАТЬ ПО База.ПоставщикУслугПодразделение, База.ПотребительУслугПодразделение ; Действительно единички останутся.. |
|||
14
jk3
09.11.11
✎
16:18
|
(13) Первый раз о таком самовольстве слышу.
ПотребительУслугНоменклатурнаяГруппа дальше используется, см (0) |
|||
15
AAlexandra
09.11.11
✎
16:24
|
(13) В запросе: ПоставщикУслугПодразделение -> ПотребительУслугНоменклатурнаяГруппа
В принципе, лечится, например, добавлением в запрос (0) полей: КОЛИЧЕСТВО(Потребители.ПотребительУслугНоменклатурнаяГруппа) КАК Количество2, КОЛИЧЕСТВО(Потребители.ПоставщикУслугНоменклатурнаяГруппа) КАК Количество3 (14) СКД перед выполнением запроса анализирует его на предмет использования полей временных таблиц. И если поля в дальнейшем не используются - она их не вычисляет, "оптимизируя" запрос. Все это на практике можно посмотреть в консоли СКД, как правильно посоветовали в (12), там на какой-то из вкладок можно увидеть итоговый запрос, который будет реально выполняться - он 100% отличается от твоего кода в (8). |
|||
16
AAlexandra
09.11.11
✎
16:27
|
(15) надо 2 поля про поставщика добавить.. Опять промахнулась 8(
КОЛИЧЕСТВО(Потребители.ПоставщикУслугПодразделение) КАК Количество2, КОЛИЧЕСТВО(Потребители.ПоставщикУслугНоменклатурнаяГруппа) КАК Количество3 |
|||
17
jk3
09.11.11
✎
16:29
|
(15)(16) Да не помогает это всё.
ОК, буду пробовать в консоли СКД ковырять где там что "оптимизируется". |
|||
18
AAlexandra
09.11.11
✎
16:31
|
(17) и в итоговую таблицу с детальными записями ты поля эти вывел, и все равно не помогает?
Значит обрезано еще выше, где твоя ВТБаза формируется.. Но смысл в том же. |
|||
19
jk3
09.11.11
✎
16:53
|
(18) Всё верно. СКД слишком "умная".
Из таблицы ВТПотребители автоматически вырезаются поля
т.к. они далее не используются. Причем добавление в последний запрос строк
недостаточно!!! Нужен именно вывод этих полей в результирующий табличный документ. Как избежать этой оптимизации без вывода юзеру этих ничего не значащих полей? |
|||
20
acsent
09.11.11
✎
16:58
|
Автозаполнение????
|
|||
21
IronDemon
09.11.11
✎
16:59
|
(19) Указать насильно эти поля.
{ВЫБРАТЬ ПоставщикУслугПодразделение, ПоставщикУслугНоменклатурнаяГруппа |
|||
22
jk3
09.11.11
✎
17:20
|
(20) Автополе вы имеете ввиду? Не помогает.
(21) В какой именно запрос? |
|||
23
IronDemon
09.11.11
✎
17:23
|
Выключи автозаполнение и укажи сам поля.
|
|||
24
jk3
09.11.11
✎
17:26
|
(23) Так я и так сам всегда вручную указываю поля.
Если в вовод включены колонки КоличествоДляСКД1 и КоличествоДляСКД2, то и Количество правильно считается. Если в вывод НЕ включены колонки КоличествоДляСКД1 и КоличествоДляСКД2, то Количество везде = 1 |
|||
25
unregistered
09.11.11
✎
17:28
|
(24) Ты не понял.
Речь не об Автополе, а о галке Автозаполнение. Это в конструкторе СКД под текстом запроса. |
|||
26
jk3
09.11.11
✎
17:34
|
(25) Ээээ, я просто эту галку никогда не снимал.
Когда снимаю, не могу добавить элемент вручную, только папку можно. Что нужно сделать? |
|||
27
IronDemon
09.11.11
✎
17:38
|
Закладка "Компоновка данных". Поля и Условия. Ну и для ВТ условия.
|
|||
28
jk3
09.11.11
✎
17:45
|
(27) Спасибо.
Всё получилось и со включенным автозаполнением. Нужно только на полях КоличествоДляСКД1 и КоличествоДляСКД2 установить в колонке Роль галочку Обязательное. Тогда даже без вывода этих колонок пользователю всё работает. Всем спасибо за помощь! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |