#0
by IgorRst78
Прошу помочь в таком вопросе. Есть таблица вида: | ПолеА_Знач2 | ПолеB_Знач2 | ПолеC_Знач2 | ..... ------------------------------------------- Проблема в том, что ПолеА_Знач1 и ПолеА_Знач2 это группы. И надо размножить значения этого поля, на подчиненные элементы. При этом значения полей B и C у каждого входящего элемента должно быть таким же как у корневой папки. Никак не пойму как сделать. Кто подскажет?
#1
by silent person
тебе родительские папки получить надо чтоли ? Получение всех родителей элемента В языке запросов не предусмотрено специальных средств для получения всех родителей элемента. Для выполнения задачи можно воспользоваться иерархическими итогами, однако получение иерархических итогов оптимизировано для построения итогов большого количества записей, и не вполне эффективно для получения родителей одного элемента. Для более эффективного получения всех родительских записей элемента, рекомендуется перебирать в цикле его родителей небольшими порциями. Пример: Пример: В данном примере в окно служебных сообщений выводятся все родители для ссылки, записанной в переменную ЭлементНоменклатура. В цикле выбирается по 5 родителей ссылки. Если число уровней в справочнике ограничено и невелико, то возможно получение всех родителей одним запросом без цикла.
#2
by IgorRst78
не - не папки - а все входящие элементы. И ЗАПРОСОМ. В цикле - то просто! Но я не хочу
#3
by Mr_Best
в запросе выбираешь все записи ПолеА и к этой таблице присоединяешь левым соединением данные из таблицы "Таблица вида" по владельцу
#4
by IgorRst78
я чую что должно быть левое соединение, но не пойму, как соединить по владельцу. так как там разный уровень иерархии.
#5
by Mr_Best
с разным уровнем намучаешься, переделай этот регистр или создай дополнительный где храни подготовленные данные
#9
by Лефмихалыч
только это будет дохренища строк, ибо декартово. У тебя ж в топике не задано условий, по которым строки из этих трех множеств соединять...
#10
by IgorRst78
Это я уже все понял. намучался реально. Задача тупая - надо сделать хранилище настроек неких, где пользователь может и группы и элементы указывать и пустые поля - для всех. придется все же в цикле перебирать. так очевидно проще
#13
by Ildarovich
Если еще не видели статью , то почитайте ее. Метод применим к вашей задаче. Смысл в том, чтобы получить для каждого элемента справочника родителя, потом родителя родителя, потом .. очень быстро всех "транзитивных" родителей. Повторением (три-четыре раза) одного простого запроса. А когда все родители будут получены, легко найти все входящие в группу элементы. в иерархии - это на самом деле запрос в цикле. Можно почитать здесь: умеет (не напрямую) .. при желании обойтись можно
#14
by youalex
Можно сделать служебный РС, в котором разворачивать иерархию в подписке ПриЗаписи Типа такого: Измерения:Элемент, Уровень(число), Ресурс: Родитель.
#15
by arsik
Умеет. Но только зависит от максимального уровня справочника. Но это намного быстрее работает, чем циклами.
#18
by Лефмихалыч
"умеет" - это когда "ПО Право.Ссылка в ИЕРАРХИИ (Лево.Группа)" все остальное - это "не умеет"
#19
by Ildarovich
Было бы наивным ждать этого от языка запросов 1С, если этого нет в T-SQL. В ИЕРАРХИИ смотрится инородно. На мой взгляд, эта конструкция - методологическая ошибка. Лучше бы заменить ее использование служебными реквизитами иерархического справочника типа полного пути (hierarchyid) или списком родителей или left - right (вложенные множества). Решение по ссылке из опирается на одно из таких возможных решений (списки родителей). Которые не пишутся в базу, а строятся на лету перед выполнение отчета.
#20
by Tateossian
В TSQL зато есть рекурсивные запросы, использующие обобщенные табличные выражения.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Вывести запрос с итогами по иерархии с группировкой строк по иерархии
- Один запрос - все ок , два запрос - не получается :(
- v8: Как запрос сгруппировать по иерархии справочника, подскажите?
- Можно ли реквизит справочника сделать представлением справочника
- Сортировка элементов в СКД по иерархии, но без вывода иерархии
- Запрос в обработке и запрос в консоли отчетов выдают разные результаты
- СКД. Вывод реквизита группы справочника в иерархии справочника напротив групп.
В этой группе 1С
- Доступ к настройкам отчета на СКД
- Правила выгрузки в конвертации 2.1
- Голубой экран при запуске 1с 8 в RDP
- Проверка существования документа в директории
- Переименование пользователей 1С
- Получить макет формы списка
- Как записать в JSON массив из структур?
- v7: счета с признаком "только обороты" или "количественный учет"
- Касса Атол 55ф метод Open что ставить в качество порта при работе по IP?
- Во время установки Zabbix ошибка: Cannot connect to the database
- Ведомость амортизации ОС по месяцам за период
- Подключение тсд opticon phl 1300 ПО task-m к 1с розница 2.2
- win-драйвера Атол - отключить печать
- Поиск года в строке
- ERP 2.2 Оформление выпуска работ и пересчет по единицам измерения
- Переопределение свойств заимствованных объектов в расширениях недопустимо в режиме совмест
- Можно ли восстановить лицензию по файлу с расширением*.lic
- Ошибка сравнения на поля несовместимых типов
- АТОЛ 55Ф работа с УТ 10 в режиме ЕНВД
- Поделитесь опытом внедрения зуп