Имя: Пароль:
1C
1С v8
Как заставить СКД правильно отбирать по ресурсам при ОБЪЕДИНЕНИИ наборов
0 Лефмихалыч
 
09.01.17
11:39
Дано - СКД с объединением двух наборов данных, например вот такая https://yadi.sk/d/0hqGXPlq37vHht (заведется в любой конфигурации, включая пустую).

Если просто добавить поле "Ресурс" в отборы, то СКД воткнет отбор в предложение ГДЕ в каждом наборе по отдельности. А хочется, чтобы отбор на ресурсы накладывался уже после объединения.
Итого, вопрос: Есть ли у СКД возможность как-то так ее заставить, чтобы отбор на ресурс накладывался уже после объединения?

То есть, например, если выполнить этот отчет без отборов, то будет две строчки (так и надо).
Если наложить отбор "Ресурс >= 2", то будет только одна строчка - из второго набора. Данные первого набора будут отфильтрованы начисто, т.к. первый набор состоит из идентичных строчек, значение ресурса в которых по отдельности меньше 2. Хочется в этом случае тоже видеть две строчки потому, что итог по первому набору таки больше двух.

Происходит это все на 8.3.6.2299 в любом режиме.

Что пробовал:
1. Включить ограничение использования в наборе, но не включать в объединении - это все равно что вообще удалить ресурс из полей отбора.
2. Пользовательское поле - это все равно, что ни чего не делать, отбор накладывается перед объединением.
3. Вычисляемое поле - результат нулевой разного сорта. Чаще всего оно не компонуется, т.к. не может найти поле.
1 DrZombi
 
гуру
09.01.17
11:43
(0) Можно, установить отбор через условное оформление.

Так же можно сперва сформировать ТЗ, а потом поместить его в СКД, в качестве источника данных ;)
2 Fragster
 
гуру
09.01.17
11:45
вероятно нужно вычисляемое поле с суммой по нужной группировке и уже на него отбор
3 Лефмихалыч
 
09.01.17
11:45
(1) отбор через условное оформление?.. это как?

хочется оставить объединение наборов, т.к. в реальном отчете там их чуток поболе, чем два и объединение с одной стороны упрощает сопровождение отчета, в с другой - если пользователь исключит поля каких-то наборов, то этих наборов и в объединении не будет
4 Лефмихалыч
 
09.01.17
11:46
(2) ну, вот, либо у меня руки-крюки, либо так не бывает. Когда я так сделал, у меня отчет перестал формироваться с формулировкой "Поле не найдено".
Можешь показать - как это делается на примере отчета из сабжа?
5 Лефмихалыч
 
09.01.17
11:52
6 DailyLookingOnA Sunse
 
09.01.17
11:52
7 Лефмихалыч
 
09.01.17
11:53
(6) у меня доступа нет туда. Что там?
8 DailyLookingOnA Sunse
 
09.01.17
11:56
1. Имеем СКД с набором данных - запрос.
2. Далее пользователь настраивает компоновщик настроек, в котором имеется отбор, например по наименованию.
3. А Надо , что бы этот отбор применялся лишь к первой таблице.

Можно снять флажок "Автозаполнение" и воспользоваться расширением языка запросов для компоновки данных (это то что в фигурных скобках).

С фигурными скобками пробовал - не помогало. А вот снятие галочки - помогло. Спасибо большое.
9 Лефмихалыч
 
09.01.17
11:59
(6) (8) это другой вопрос и, как сделать это, я знаю. ЭТо как раз делается путем добавления поля в отборы компоновки - в первой таблице надо добавить, во второй - не добавлять. Автора под вопроса подкосила галочка "Автозаполнение" - ее надо выключить для этого. Или назвать как-то поле отбора по-другому, но тогда пользователю кукушечку снесет.

Вопрос в топике совсем другой.
10 Fragster
 
гуру
09.01.17
12:10
вообще выглядит так, как будто можно просто отбор задать не на уровне отчета, а на уровне группировки, даже без вычисляемых полей
11 kumena
 
09.01.17
12:14
а почему бы не написать один запрос?
компоновка к вложенным запросам не применяет свои отборы, даже с флажком автозаполнения.
12 Fragster
 
гуру
09.01.17
12:17
(11) например бывает так, что данные собираются из базы и внешнего источника, тогда не обойтись без нескольких наборов.

кстати, пример не совсем корректный, я бы в первом наборе добавил "Б", а во втором - "а".
13 Лефмихалыч
 
09.01.17
13:01
(11) потому, что не хочу один запрос, см (3). В реальном отчете объединений гораздо больше двух, а такое в одном запросе сопровождать - морока. Да и в запросе таким образом будут все таблицы даже, если поля выбираются только из одной.
14 Лефмихалыч
 
09.01.17
13:02
(10) А вот это дельный совет - отбор на ресурс в группировке решил вопрос. Спасибо, Fragster!