Имя: Пароль:
1C
1С v8
Оптимизатор СКД, удаляет поле запроса
0 Sam1C
 
23.10.19
15:32
Доброго дня!
СКД удаляет поле из виртуальной таблицы, которое  используется для группировки этой таблицы! в результирующей таблицы, этого поле нет, поэтому и удаляет ). Можно это как то побороть или только переписывать на вложенный запрос эту виртуальную таблицу?
1 toypaul
 
гуру
23.10.19
15:35
2 unregistered
 
23.10.19
15:36
Поставь у этого поля в ролях признак "Обязательное".
3 unregistered
 
23.10.19
15:36
А зачем оно тебе нужно, если в результирующей таблице его нет?.....
4 Sam1C
 
23.10.19
17:00
(1) Это я в курсе, но сюда не попадают поля виртуальный таблиц
5 Hmster
 
23.10.19
17:01
а право просмотра есть?
6 Sam1C
 
23.10.19
17:02
(3) в ВТ должно сгруппироваться с учетом этого поля, СКД отбрасывает это поле, из-за этого неверные данные в ВТ получаются
7 Sam1C
 
23.10.19
17:02
(5) Есть
8 palsergeich
 
23.10.19
17:03
(2) Правильный ответ тут
9 Sam1C
 
23.10.19
17:10
(8) Поля ВТ не отображаются в этой форме у меня только что ли....
10 kabanoff
 
23.10.19
17:13
(9) Отключи автозаполнение. В подзапросе, который формирует ВТ, вытащи это поле в условия компоновки данных. Так ты увидишь свое поле среди других доступных полей набора данных.
Если отбор по нему не нужен, то поставь соответствующие галки-ограничения.
Ну и как правильно выше сказали, поставь по нему галку "Обязательное".
11 unenu
 
23.10.19
17:19
(6) речь не о виртуальной, а о временной таблице (ВТ) из которой СКД "выбрасывает" поле группировки.

Попробуйте задать синоним для поля ВТ которое СКД "выбрасывает" таким, чтобы он НЕ совпадал ни с одним именем
поля СКД которое попадает в наборы данных СКД. Тода оптимизатор СКД не будет "умничать" по отношению к этой ВТ.
12 unenu
 
23.10.19
17:21
(10) можно и так, но это будет "лишнее" поле в наборе, я использую разностные синонимы чтобы дать СКД по лбу - дело вкуса и производительности.
13 kabanoff
 
23.10.19
17:36
(12) Неочевидный метод) Можно сказать фича. Такое разработчики платформы могут в следующих релизах убрать и тогда эта штука работать перестанет.
А роль "Обязательная" - это специально созданная для этого вещь. Я всё-таки за очевидные методы.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.