|
v8: Запрос. Производительность
| ☑ |
0
Ministr
24.04.14
✎
16:23
|
В запросе ест группировка. Есть допустим в запросе документ "реализация товаров и услуг" и его табличная часть соединенная левым соединением к нему. В запросе поля - Ссылка, Контрагент, Договор, Банковский счет, и прочие поля шапки и есть поля табличной части номенклатура , сумма. При группировке Ссылка, номенклатура - идут в "Групповое поле", а сумма - в "Суммируемое поле". А где лучше расположить остальные реквизиты ? в суммируемом поле и взять максимум или минимум без разницы или в группируемое поле? Какой из вариантов отработает быстрее? Задали вопрос на собеседовании, друг рассказал вчера. Я уверен в группируемое поле, он почему-то говорит наоборот, как считаете вы?
|
|
1
Ministr
24.04.14
✎
16:26
|
То есть реквизитам Контрагент, Договор , без разницы, где находиться результат будет один и тот же, так как группировка по ссылке уже гарантирует, корректную группировку по шапке
|
|
2
ИА1С
24.04.14
✎
16:27
|
А за чем соединять сам документ и табличную часть? Нельзя сразу взять табличную часть и из ссылки вынуть все что надо?
|
|
3
Ненавижу 1С
гуру
24.04.14
✎
16:28
|
(2) не увидишь документов с пустой ТЧ
|
|
4
Ministr
24.04.14
✎
16:28
|
Это к примеру, понятно, что можно взять подчиненные поля ссылки получим в тоже самое, но чтобы избавить от дублей строк в Таб. части документа все равно придется группировать записи. Вот этом вопрос заключается
|
|
5
Ненавижу 1С
гуру
24.04.14
✎
16:29
|
(0) можно вообще их игнорировать, вот рабочий запрос:
ВЫБРАТЬ
РеализацияТоваровУслуг.Ссылка,
РеализацияТоваровУслуг.Склад,
РеализацияТоваровУслуг.Контрагент,
СУММА(РеализацияТоваровУслуг.СуммаДокумента) КАК СуммаДокумента
ИЗ
Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
СГРУППИРОВАТЬ ПО
РеализацияТоваровУслуг.Ссылка
|
|
6
Ministr
24.04.14
✎
16:31
|
(5) Зайдешь после в конструктор увидишь что они автоматом попадут в группируемое поле.
|
|
7
Ненавижу 1С
гуру
24.04.14
✎
16:32
|
(6) согласен, но тем не менее))
|
|
8
hhhh
24.04.14
✎
17:02
|
(6) если сгруппировать по Ссылка, группировка по Ссылка.Контрагент, Ссылка.Склад не имеет смысла, это лишнее время просто.
|
|
9
Ministr
24.04.14
✎
17:07
|
(8) ну вот и получается, что засовывать их в агрегатные функции - это будет потеря времени, поэтому конструктор вносит поля в "группируемые поля"(поля которые пользователь не указал явно) и скорей всего в запросе игнорирует, если есть группировка по полю родитель. А может он их игнорирует в общем случае и нету разницы куда их засунуть? Но отнести их к одной из групп надо обязательно, это в принципе логично.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший