Дубли при выводе иерархии элементов в СКД. Решение с работающим отбором в СКД.

1. AnderWonder 27 06.01.16 12:26 Сейчас в теме
Существует известная проблема платформы, описанная в публикации:
http://infostart.ru/public/298791/
Помимо решения в указанной публикации, есть и другие. Но во всех случаюх нарушается нормальное функционирование отборов в СКД. Т.е. при использовании отбора по реквизитам элементов в отчет выводятся не корректные данные или не выводятся вообще.
Необходимо решение проблемы с нормально работающими отборами.
SergeySol-82; +1 Ответить
Вознаграждение за ответ
Показать полностью
Найденные решения
9. 32ops 195 11.01.16 16:19 Сейчас в теме
(8) Возможно поможет (не проверял - нет рядом 1ски) сначала применить отборы и получить результат в ВТ (закладка компоновка данных-условия). А затем применить условие из (7).
antonio_i; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Armando 1401 07.01.16 16:10 Сейчас в теме
(1) AnderWonder, приложил схему на примере спр Подразделений. Попробуй.
Прикрепленные файлы:
Иерархия.xml
alexey-simf; +1 Ответить
3. 32ops 195 07.01.16 18:24 Сейчас в теме
(1) Чем не устраивает добавление в Условие НЕ ЭтоГруппа? Если нужно выводить реквизиты справочника, можно в настройки две группировки: Ссылка (только иерархия), детальные записи. Проблемы будут, если отбор нужен по реквизитам групп, по реквизитам элементов должно отбираться нормально.
5. AnderWonder 27 11.01.16 12:28 Сейчас в теме
(3) 32ops, в справочнике иерархия элементов. Реквизит ЭтоГруппа отсутствует.
(4) crabzzy, внимательно читайте вопрос, указанное решение ломает отборы СКД.
(2) Armando, попробовал, проблема решается частично. Отбор почему-то не работает для некоторых элементов (у которых нет потомков), хотя для других отрабатывает корректно. Попробую ещё поэкспериментировать с этим способом.
6. 32ops 195 11.01.16 13:28 Сейчас в теме
(5) Сделал справочник с иерархией элементов. В отчете на СКД условие "ГДЕ Тест.Родитель <> ЗНАЧЕНИЕ(Справочник.Тест.ПустаяСсылка)". Отборы не сбиваются
alexey-simf; +1 Ответить
11. Gesperid 2 14.06.17 11:20 Сейчас в теме
(5) Продемонстрируй как (4) ломает отборы. Никак не получается сломать.
12. Gesperid 2 14.06.17 13:44 Сейчас в теме
(11)
Никак не получается сломать.

Отбой, получилось :)
7. 32ops 195 11.01.16 13:36 Сейчас в теме
(5) Ой, условие неправильное. Вот так наверное подойдет.
"ГДЕ НЕ Тест.Ссылка В (ВЫБРАТЬ Тест.Родитель ИЗ Справочник.Тест КАК Тест)"
8. AnderWonder 27 11.01.16 13:54 Сейчас в теме
(7) 32ops, это аналог решения (2). В результате в выборку не попадают элементы, которые являются родителями. Соответственно, условие отбора не применяется к ним и они не попадают в отчет, даже если подходят под условие отбора.
9. 32ops 195 11.01.16 16:19 Сейчас в теме
(8) Возможно поможет (не проверял - нет рядом 1ски) сначала применить отборы и получить результат в ВТ (закладка компоновка данных-условия). А затем применить условие из (7).
antonio_i; +1 Ответить
10. AnderWonder 27 12.01.16 10:27 Сейчас в теме
(9) 32ops, да таким образом удалось решить задачу.
15. romulanin 21.05.19 10:50 Сейчас в теме
18. MaCCapAkIII 14.09.23 14:53 Сейчас в теме
(9)Таким образом удалось решить проблему, но только частично. Если родитель дублируется, так как сам является необходимым в результате значением - он отрезается, и вместе с ним все связанные поля. То есть если с этим значением шло дополнительное поле - оно исключается. Подскажите пожалуйста как можно добавить исключенное СКД поле в родителя?
В приложении - дубли с заполненным полем "Описание изменений" и результат без дублей, но с пустым полем "Описание изменений", так как это теперь родитель а не нижнее значение в иерархии.

Upd. То есть по факту у меня запрос в СКД сначала отсекает записи, где родитель равен объекту, и только потом выводит результат с условием компоновки. Выходит значение "Описание изменений" для группировки "ТестоваяТЧ1" мне даже взять негде в текущей реализации. Не могу придумать как это обойти.
Прикрепленные файлы:
4. amaksimov 07.01.16 20:53 Сейчас в теме
(1) AnderWonder, в статье указана ссылка на Partners форум:
https://partners.v8.1c.ru/forum/topic/1035968
там хорошо описано как сделать (для версий платформы >= 8.2.14)

Максим Лейбович (1С, Москва) пишет (на примере справочника Номенклатура):

Можно отфильтровывать записи группировки, в которых значение в иерархической записи совпадает со значением самой записи.
1. Добавить пользовательское поле Родитель с выражением ВычислитьВыражение("Номенклатура", "", "Иерархия") и таким же выражением итога.
2. В группировку по иерархии добавляется группа условий ИЛИ с применением «После группировки или для иерархии».
В группу условий добавляется условие Номенклатура Не равно Родитель
В группу условий добавляется условие Уровень в группе Равно 1
3. Вложен пример схемы СКД от Максима Лейбович во вложении.
Прикрепленные файлы:
Временная схема.xml
kabantus; STivO; ya_anton; user1459868; SergeySol-82; BoBaH; burni4; Синицын; Hla; dreamerr7; wing; simich; moonlight27; SITR-utyos; vudu; +15 Ответить
13. SITR-utyos 1429 30.05.18 11:46 Сейчас в теме
(4) почему-то, когда создаешь поле в Вычисляемых полях и добавляешь его в ресурсы - платформа падает при компоновке.
С пользовательским полем - все ОК
14. toypaul 63 08.02.19 12:04 Сейчас в теме
у меня на платформе 8.3.8.2197 получилось сделать через вычисляемое поле. ничего не падает
16. manserg 104 13.04.20 15:12 Сейчас в теме
Коллеги, нужна помощь!
Уже уйму времени убил на попытки вывести произвольную иерархию комплектов номенклатуры с остатками.
Конфигурация каркасная, у справочника номенклатура есть табличная часть "СоставКомплекта" где собственно перечислен состав, но при этом там могут быть и другие комплекты, т.е. структура многоуровневая.
Так же есть простейший регистр остатков товаров с измерениями склад и номенклатура и ресурсом количество.

Собираю все нужные данные в следующих таблицах значений:
"ТаблицаОстатков":
"ТаблицаСостава": https://yadi.sk/i/OFD724Ho60pLqA

Поля Комплект и Элемент служат для построения иерархии и строят путем конкатенации кодов справочников начиная с первого родителя.

В СКД сделаны следующие настройки:
источник ТаблицаСостава: https://yadi.sk/i/g6lfdMgvdc6oPw
источник ТаблицаОстатков: https://yadi.sk/i/_F4kEJ-7aR_ImQ
настройка связей: https://yadi.sk/i/HlOnCOBsBBbxLQ
настройка отчета: https://yadi.sk/i/m3v0TRS0MtpX0g

Однако вместо ожидаемой иерархии получаю плоскую таблицу: https://yadi.sk/i/dSvfTPyZneFuZw

Что я делаю не так и как правильно построить произвольную иерархию с условием что в остатках по которым она должна строиться могут быть как элементы(без состава) так и многоуровневые комплекты?

P.S. Пытался формировать через ссылки элементов номенклатуры, но столкнулся с тем, что при наличии допустим остатка комплекта "Секция левая" и "Шкаф "Виктория"" который в себе содержит "Секция левая" получается задвоение строк в такой иерархии: https://yadi.sk/i/mDyua_FYqnh3Pg
Победить такое поведение по пытался построением сложных ключей элементов и их родителей чтобы они четко связывались без дублей, но иерархия вообще перестала строится (
17. user970589 11 04.07.22 23:06 Сейчас в теме
тоже бился над этой блин "фичей" от 1с. в консоли все прекрасно, при выводе построенного автоматом отчета по нему по две строки на рыло.
заходим в поля группировки, на редактирование и вместо пустого поля выбираем конкретное. все. дубли исчезают.
Прикрепленные файлы:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот