IE2017

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

Программирование - Работа с интерфейсом

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

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

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

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

См. также

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

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

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

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

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

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

Можно получить полный код и обрезать левые символы до первого слэша, и по этой строке найти группу
16. Денис Такташев (tdkintel) 18.02.17 18:13 Сейчас в теме
Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(6, 10)}: Поле не найдено "Таблица.ЭтоГруппа"
Таблица.<<?>>ЭтоГруппа

Не хочет
17. Антонио Антонио (Fragster) 681 18.02.17 21:55 Сейчас в теме
(16) справочник контрагентов - неиерархический?
Оставьте свое сообщение