Имя: Пароль:
1C
 
отбор в СКД (оптимизатор запроса?)
0 Somebody
 
23.09.25
11:16
Всем доброго дня.
В схеме СКД есть числовое поле,которое является ресурсом. При наложении отбора на это поле система накладывает отбор не на финальную таблицу, а явно на все временные таблицы запроса, в которых есть это поле. Т.е. отбор ВНаличии = 1, попадает не финальное кол-во равное одному, а все номенклатуры, у которых  на каком-нибудь из складов остаток 1 шт.
все известные танцы с бубном попробовал : переименование поля в финальной таблице, вычисляемое поле с фильтром по нему, описание поля в Компоновке данных в фигурных скобках, отключение автозаполнения. результат тот же.что-то упускаю, не понимаю, что. Нужна помощь.
1 Franchiser
 
23.09.25
11:19
Накладывай отбор на уровне группировки, а не на уровне отчёта
2 Chameleon1980
 
23.09.25
11:20
смотря какой запрос в наборе данных
смотря где и как устанавливается отбор
3 Somebody
 
23.09.25
11:24
(1) в СКД отбор не описан. можно подробней?
4 dmt
 
23.09.25
11:31
описание поля в Компоновке данных в фигурных скобках, отключение автозаполнения.

не может быть, это всегда помогает
5 Somebody
 
23.09.25
11:32
(4) сам в шоке. Не помогло
6 Somebody
 
23.09.25
11:33
(1) а вот это помогло!!! Спасибо огромное!
7 mikecool
 
23.09.25
11:38
(6) используй консоль СКД из ИР - там и результирующий запрос посмотреть можешь
8 Somebody
 
23.09.25
11:41
(7) результирующий я вижу в ПриКомпоновкеРезультата() в макете, это ж он же
9 Chameleon1980
 
23.09.25
11:50
(8) >> в макете, это ж он же
ну нет жеж
10 Somebody
 
23.09.25
11:50
(9) МакетКомпоновки.НаборыДанных[0].Запрос - в консоли не он?
11 Franchiser
 
23.09.25
12:01
(1) какая структура отчёта?
Есть уровень детальные записи или все выведено в группировки?
12 dmt
 
23.09.25
12:05
(1) (6) но ведь это полумера, завтра пользователь наложит отбор на весь отчет
13 craxx
 
23.09.25
12:06
(0)
1. Автозаполнение - убираем.
2. в конструкторе запроса на вкладке "Компоновка" во всех ВТ все убираем (оставляем только там где нам нужно и только то что нужно).
3. Всю компоновку прописываем только в финальной выходной таблице.
14 Somebody
 
23.09.25
12:07
(11) таблица. одна группировка строк, четыре группы колонок. детальных нет.
15 Somebody
 
23.09.25
12:20
(13) я уже делал примерно так. хорошо, сделал в точности - на вкладках компоновка пусто, кроме финальной таблицы. Псевдоним другой дал на закладке условие, отбор по нему. Результат - всё то же, что описано в (0)
16 Somebody
 
23.09.25
12:29
(15) для полноты картины - при таких настройках даже отбор по группировке не работает! т.е. даже совет из (1) не помогает.
17 Timon1405
 
23.09.25
12:49
без показа реальных параметров выполнения запроса это все гадание на кофейной гуще

https://its.1c.ru/db/pubcomplexreports#content:82:hdoc:_top
https://its.1c.ru/db/metod8dev#content:1577
https://devtool1c.ucoz.ru/index/konsol_komponovki_dannykh/0-20
18 Franchiser
 
23.09.25
14:20
(12) можно вытащить в быстрые отборы
19 АнализДанных
 
23.09.25
17:45
(0) В компоновке данных в фигурных скобках можно задать другой псевдоним этому полю в отборах.

Пример:
У тебя во временной таблице поле называет "КоличествоТовара".
Тогда в последнем запросе ты добавляешь так:

Выбрать
1 как КоличествоТовара
Поместить ВТ
;
Выбрать
Т.КоличествоТовара
Из ВТ
{ГДЕ Т.КоличествоТовара КАК ОтборПоКоличеству}

Пользователю будет доступно поле "ОтборПоКоличеству" для интерактивной установке отборов, и при формировании конечного запроса отбор наложится именно на последний запрос. А для поля "КоличествоТовара" поставь "ограничение поля" на установку "Условие"
20 Franchiser
 
23.09.25
17:53
(19) может ему нужен отбор на ресурс количество, посчитанный в контексте некоторой группировки
21 Somebody
 
23.09.25
18:02
(19) да пробовал я это первым делом. не взлетело!
22 Somebody
 
23.09.25
18:03
(21) и отбор не на финальный запрос накладывается
23 Somebody
 
23.09.25
18:05
(19) хотя ... ограничение поля на условие не ставил. попробую с ограничением.
24 Chameleon1980
 
23.09.25
19:01
(10) конечный запрос может быть очень другим
25 Chameleon1980
 
23.09.25
19:16
+(24)