Как заставить СКД правильно отбирать по ресурсам при ОБЪЕДИНЕНИИ наборов #788548


#0 by Лефмихалыч
Дано - СКД с объединением двух наборов данных, например вот такая (заведется в любой конфигурации, включая пустую). Если просто добавить поле "Ресурс" в отборы, то СКД воткнет отбор в предложение ГДЕ в каждом наборе по отдельности. А хочется, чтобы отбор на ресурсы накладывался уже после объединения. Итого, Есть ли у СКД возможность как-то так ее заставить, чтобы отбор на ресурс накладывался уже после объединения? То есть, например, если выполнить этот отчет без отборов, то будет две строчки (так и надо). Если наложить отбор "Ресурс >= 2", то будет только одна строчка - из второго набора. Данные первого набора будут отфильтрованы начисто, т.к. первый набор состоит из идентичных строчек, значение ресурса в которых по отдельности меньше 2. Хочется в этом случае тоже видеть две строчки потому, что итог по первому набору таки больше двух. Происходит это все на 8.3.6.2299 в любом режиме. Что пробовал: 1. Включить ограничение использования в наборе, но не включать в объединении - это все равно что вообще удалить ресурс из полей отбора. 2. Пользовательское поле - это все равно, что ни чего не делать, отбор накладывается перед объединением. 3. Вычисляемое поле - результат нулевой разного сорта. Чаще всего оно не компонуется, т.к. не может найти поле.
#1 by DrZombi
Можно, установить отбор через условное оформление. Так же можно сперва сформировать ТЗ, а потом поместить его в СКД, в качестве источника данных ;)
#2 by Fragster
вероятно нужно вычисляемое поле с суммой по нужной группировке и уже на него отбор
#3 by Лефмихалыч
отбор через условное оформление?.. это как? хочется оставить объединение наборов, т.к. в реальном отчете там их чуток поболе, чем два и объединение с одной стороны упрощает сопровождение отчета, в с другой - если пользователь исключит поля каких-то наборов, то этих наборов и в объединении не будет
#4 by Лефмихалыч
ну, вот, либо у меня руки-крюки, либо так не бывает. Когда я так сделал, у меня отчет перестал формироваться с формулировкой "Поле не найдено". Можешь показать - как это делается на примере отчета из сабжа?
#5 by Лефмихалыч
+
#6 by DailyLookingOnASunse
#7 by Лефмихалыч
у меня доступа нет туда. Что там?
#8 by DailyLookingOnASunse
1. Имеем СКД с набором данных - запрос. 2. Далее пользователь настраивает компоновщик настроек, в котором имеется отбор, например по наименованию. 3. А Надо , что бы этот отбор применялся лишь к первой таблице. Можно снять флажок "Автозаполнение" и воспользоваться расширением языка запросов для компоновки данных (это то что в фигурных скобках). С фигурными скобками пробовал - не помогало. А вот снятие галочки - помогло. Спасибо большое.
#9 by Лефмихалыч
это другой вопрос и, как сделать это, я знаю. ЭТо как раз делается путем добавления поля в отборы компоновки - в первой таблице надо добавить, во второй - не добавлять. Автора под вопроса подкосила галочка "Автозаполнение" - ее надо выключить для этого. Или назвать как-то поле отбора по-другому, но тогда пользователю кукушечку снесет. Вопрос в топике совсем другой.
#10 by Fragster
вообще выглядит так, как будто можно просто отбор задать не на уровне отчета, а на уровне группировки, даже без вычисляемых полей
#11 by kumena
а почему бы не написать один запрос? компоновка к вложенным запросам не применяет свои отборы, даже с флажком автозаполнения.
#12 by Fragster
например бывает так, что данные собираются из базы и внешнего источника, тогда не обойтись без нескольких наборов. кстати, пример не совсем корректный, я бы в первом наборе добавил "Б", а во втором - "а".
#13 by Лефмихалыч
потому, что не хочу один запрос, см . В реальном отчете объединений гораздо больше двух, а такое в одном запросе сопровождать - морока. Да и в запросе таким образом будут все таблицы даже, если поля выбираются только из одной.
#14 by Лефмихалыч
А вот это дельный совет - отбор на ресурс в группировке решил вопрос. Спасибо, !
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С