gifts2017

Получение родителя верхнего уровня с помощью СКД

Опубликовал Антонио (Fragster) в раздел Программирование - Работа с интерфейсом

Небольшая демонстрация возможностей СКД, которой лишены традиционные запросы 1С

Получает таблицу вида "Родитель верхнего уровня" - "Элемент" для справочников с неопределенной глубиной иерархии

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Родитель верхнего уровня.xml
.xml 3,94Kb
25.04.11
693
.xml 3,94Kb 693 Бесплатно

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Алексей Ан (An-Aleksey) 27.04.11 22:27
А есть описание что делать-то с этой xml?
2. Антонио (Fragster) 28.04.11 13:09
(1) открыть в редакторе СКД:
3. vladal (Vladal) 30.04.11 13:01
Картинок мало. Пример прилепите, пожалуйста, к описанию. Можно на какой-нить каркасной вроде "Примеры ИТС" или демо-базе.
4. Валерий Дубовой (Valerich) 16.05.11 09:17
Писал сообщение, но куда-то делось....
1. Ситуация - сделал отбор по ссылке (контрагенту) на вхождение в группу. Получил список из одного элемента. Хотя в этой группе элементов много (картинку к сожалению уже стер, а новую делать лень).
2. Интересует решение задачи, когда есть список контрагентов (в результате запроса), а нужно получить для эти контрагентов список групп первого уровня.
5. Дмитрий Попов (DmitriiVladimirovich) 20.05.11 12:56
Ну о каких возможностях, отсутствующих в запросах идет речь?
И почему нельзя запросом получить, то что предлагается делать через СКД?

Аналог запросом:

ВЫБРАТЬ
Номенклатура.Ссылка
ПОМЕСТИТЬ ГруппыВерхнегоУровня
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
И Номенклатура.ЭтоГруппа
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
ГруппыВерхнегоУровня.Ссылка
ИЗ
Справочник.Номенклатура КАК Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ ГруппыВерхнегоУровня КАК ГруппыВерхнегоУровня
ПО (Номенклатура.Ссылка В ИЕРАРХИИ
(ВЫБРАТЬ
ГруппыВерхнегоУровня.Ссылка
ИЗ
ГруппыВерхнегоУровня КАК ГруппыВерхнегоУровня))
ГДЕ
Номенклатура.Ссылка = &Ссылка
6. Данила Ермаков (Nailer) 20.05.11 13:34
ЛЕВОЕ СОЕДИНЕНИЕ ГруппыВерхнегоУровня КАК ГруппыВерхнегоУровня
ПО (Номенклатура.Ссылка В ИЕРАРХИИ

Не будет работать
7. Pavel Nevzorov (MrXaN) 23.09.11 14:04
8. Степан Шипицын (Stepanstudent) 26.09.11 07:48
спасибо за сэкономленное время!=)
9. Сергей (ildarovich) 28.02.13 12:02
В статье Уровни, глубина, прародители, циклы и аналоги запросом показано, как сделать то же самое непосредственно в запросе. Так что традиционные запросы отнюдь не лишены этой возможности.
10. Антонио (Fragster) 28.02.13 13:58
(9) ildarovich, там используется динамически формируемый текст запроса, который добавляет множество соединений, и не совсем работает для действительно бесконечного количества уровней подчиненности.

Тут же используется механизм организации циклических запросов с помощью СКД. Таким образом, например, можно делать срез последних на каждую дату или заменить левое соединение гигантской таблицы на кучу маленьких запросов.
11. Александр (AlexandrIII) 22.03.13 16:26
Мда,в этом плане в 7-ке все было намного проще )))
12. Soul Power (SoulPower) 03.02.15 12:19
(5) DmitriiVladimirovich, не работает
13. Сергей (ildarovich) 18.09.15 17:06
(10) Fragster, динамически формируемый текст запроса необязателен. Можно заложиться на практически достаточное число уровней и сделать статический запрос.
А ...действительно бесконечного количества уровней подчиненности... на практике не бывает.
14. Михаил (ZMGMSC) 07.12.15 16:33
Нужно использовать цикл с рекурсией . Проверять заполнение рекизита родитель.
У верхнего уровня он пустой.
15. V. L. (Vladal) 16.06.16 10:22
(14) ZMGMSC,
>> Нужно использовать цикл с рекурсией . Проверять заполнение рекизита родитель.
У верхнего уровня он пустой.

Можно получить полный код и обрезать левые символы до первого слэша, и по этой строке найти группу
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа