Всем привет!
Посоветуйте пожалуйста как поступить в данной ситуации.
Есть справочник с видом иерархии: иерархия элементов, количество уровней иерархии: 3. Попросили отображать самого верхнего родителя элемента справочника. И тут у меня возник вопрос как это лучше всего реализовать. Этот реквизит лучше создать в объекте и хранить его, либо просто на форме создать реквизит формы и заполнять его при открытии формы? Сложность в том что если пользователь возьмет перетащит элемент второго уровня в какой нибудь другой элемент тогда придется перезаписывать этот реквизит у подчиненных элементов. Для чего в дальнейшем этот реквизит пригодится я пока не знаю. Может он в отчетах будет участвовать, может в переносах каких нить или запросах.
Посоветуйте пожалуйста как поступить в данной ситуации.
Есть справочник с видом иерархии: иерархия элементов, количество уровней иерархии: 3. Попросили отображать самого верхнего родителя элемента справочника. И тут у меня возник вопрос как это лучше всего реализовать. Этот реквизит лучше создать в объекте и хранить его, либо просто на форме создать реквизит формы и заполнять его при открытии формы? Сложность в том что если пользователь возьмет перетащит элемент второго уровня в какой нибудь другой элемент тогда придется перезаписывать этот реквизит у подчиненных элементов. Для чего в дальнейшем этот реквизит пригодится я пока не знаю. Может он в отчетах будет участвовать, может в переносах каких нить или запросах.
По теме из базы знаний
- Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2
- Делаем из СКД Excel (ну, почти)
- Возможности доработки выгрузки из 1С в Битрикс
- Windows приложение для управления контентом + модуль обмена с интеграционной базой
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)По хорошему, лучше разобраться зачем это нужно. Чтоб понять создавать реквизит объекта или просто на форме отображать. Не понятно как пользователи "блуждают по по элементам справочника (с 3 уровнями иерархии) и теряются". Если это нужно на время для редактирования элементов справочника, то лучше написать механизм для удобства (отчет, обработку), а не изменять объект. Если нужно для постоянной работы, то поступать следует исходя из потребностей в целом, а не текущего желания пользователей. Любое изменение конфигурации должно быть осознанным и хорошо продуманным.
Для обработки ситуации с переносом проверять перед записью элемента и менять если верхний родитель поменялся
А так его в запросе вроде не сложно получить, необязательно новый реквизит создавать
Что-то наподобие такого в запросе
А так его в запросе вроде не сложно получить, необязательно новый реквизит создавать
Что-то наподобие такого в запросе
ВЫБРАТЬ
Номенклатура.Ссылка,
ВЫБОР
КОГДА Номенклатура.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
ТОГДА Номенклатура.Родитель
КОГДА Номенклатура.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
ТОГДА Номенклатура.Родитель
КОГДА Номенклатура.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
ТОГДА Номенклатура.Родитель.Родитель
КОГДА Номенклатура.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
ТОГДА Номенклатура.Родитель.Родитель.Родитель
КОНЕЦ КАК ВерхнийРодитель
ИЗ
Справочник.Номенклатура КАК Номенклатура
Показать
Учитывая, что уровней только три, я бы сделал реквизит формы, который вызывает функцию в модуле менеджера этого справочника для получения элемента верхнего уровня. Однако знать бы еще, для чего это в последствии может пригодиться.
записывать корневого родителя в подчиненных элементах плохая идея.
как минимум это вызовет кучу неопределенностей при изменении структуры иерархии и удалении элементов. Я бы сразу зарубил этот метод и смотрел в сторону динамических методов: реквизит формы заполняемый при создании формы и чтении объекта + поле в динамических списках.
как минимум это вызовет кучу неопределенностей при изменении структуры иерархии и удалении элементов. Я бы сразу зарубил этот метод и смотрел в сторону динамических методов: реквизит формы заполняемый при создании формы и чтении объекта + поле в динамических списках.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот