Как записать в регистр сведений дерево значений?

1. ElisGrey 18.03.22 14:13 Сейчас в теме
Всем добрый день!
Кто сталкивался с записью или каким-либо сохранением элементов дерева в регистр сведений?
Стоит задача записывать элементы дерева в справочник со связью родитель-приемник. Или может быть кто-то подобное реализовывал?
и чтобы была возможность просматривать данную иерархию и возможность пользоваться ей.
Буду благодарна на помощь!
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. SlavaKron 18.03.22 14:42 Сейчас в теме
(1) Создать справочник и хранить иерархию элементов искомого справочника в табличной части, деревьев, как я понимаю, может быть неограниченное количество?
10. ElisGrey 21.03.22 07:20 Сейчас в теме
(4)да, все верно.
Но я не знаю, как лучше реализовать, так как не очень хотелось бы плодить справочники лишние.
Но это дело нужно где-то хранить
Со справочником — это лишь один из вариантов, которым бы не очень хотелось пользоваться)
9. sm.artem 14 21.03.22 07:08 Сейчас в теме
(1) Добрый день!
Самый очевидный вариант - это добавить в регистр сведений "служебный" реквизит "Родитель", где хранить признак родительской записи. Так в принципе делают, когда дерево значений конвертируют в таблицу значений и обратно.
2. starik-2005 3040 18.03.22 14:28 Сейчас в теме
Если потом в запросе как-то обрабатывать, то просто добавить ключ и ключ родителя. Если просто хранить - лучше в каком-нить хранилище значений. В общем не совсем понятно, что с этими данными дальше делать собираетесь...
3. soft_wind 18.03.22 14:36 Сейчас в теме
(1) постановка
Стоит задача записывать элементы дерева в справочник

а причем здесь сохранение в регистр сведений?
или это для вас одно и тоже? (справочник и регистр сведений)
6. ElisGrey 18.03.22 15:25 Сейчас в теме
(3) Я, наверное, не совсем так выразилась, отвлекали)
у меня есть справочник Номенклатура, мне нужно хранить у каждого объекта справочника его состав
Номенклатура,как матрешка должна раскрываться, соответственно связь родитель-приемник надо где-то хранить, решила, что лучше всего в регистре сведений, но потом поняла, что это не совсем норм, так как ветвей может быть огромное кол-во)
например:
Пневмопресс
в него включается:
Блок подготовки воздуха
в свою очередь вышеупомянутый блок собирается из:
Штуцера и Пластины
Пластина закупается, а штуцер состоит там ещё из чего нибудь

вот всю енту структуру надо где-то хранить)
11. starik-2005 3040 21.03.22 08:02 Сейчас в теме
(6)
мне нужно хранить у каждого объекта справочника его состав
В типовых реализована такая штука, как спецификация. Она определяет связь выпускаемой продукции с ее комплектующими. И тут решается две проблемы сразу:
1. Одну и ту же продукцию можно сделать по-разному. Например, фарш можно из любого куска мяса накрутить.
2. Для любой составной части можно сделать свою спецификацию.

Но тут появляется еще одна проблема - зацикленность. Например, что-то может быть использовано, как сырье для какого-либо своего компонента. Это как в документе и справочнике есть сцылка, а внутри сцылки есть эта же сцылка - можно двигаться бесконечно внутрь в том же дереве запроса. Поэтому нужно всегда держать в уме этот аспект, ибо в противном случае однажды все может просто встать колом )))
Nadushka74; +1 Ответить
5. TimurD 6 18.03.22 15:12 Сейчас в теме
Допустим дерево у тебя 2-ух уровневое. На первом уровне данные по родителю, на втором о сына (или доча). Делаем через вложенный цикл (например). В теле первого цикла создаем запись регистра набора, заполняем данными родителя, во втором (вложенном) цикле заполняем эту же запись данными сынадочи. Потом записываем в конце итерации внешнего (первого) цикла. если дерево больше 2-ух уровней, то суть такая же: во внешнем создаешь запись набора, во вложенных дозаполняешь запись - профит.
7. soft_wind 18.03.22 15:43 Сейчас в теме
(6) самое простое, добавьте в этот справочник ТабличнуюЧасть ТЧ - Состав
с двумя основными колонками

Номенклатура (Тип он же), Количество (число) и разместите на форме элемента

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

вот вам и дерево составов
Nadushka74; user1619761; starik-2005; dehro; +4 Ответить
8. dehro 5 18.03.22 16:03 Сейчас в теме
(7)Хранение будет логически понятным (пользователю удобно), а как поучить все составляющие закупаемые (исходные) элементы: жуть программиста))
12. andryandry 97 22.03.22 21:50 Сейчас в теме
Для восстановления иерархической структуры достаочно хранить связь с родителем и по ней потом строится дерево (1 элемент к 1 родителю) - используйте либо реквизит элемента справочника либо регистр сведений

Для хранения недревоидной структуры (когда элемент может иметь несколько родителей) - (1 элемент ко многим родителям) - используйте регистр сведений
13. ElisGrey 23.03.22 11:05 Сейчас в теме
Всем спасибо за помощь!
Разобралась, как лучше сделать)
14. laperuz 46 23.03.22 11:13 Сейчас в теме
(13) Как пример подобного хранения в типовых, посмотрите как в ЗУП/КА/ERP сделано хранение иерархии подразделений, РС "Подчиненность подразделений организаций" и процедуры в его модуле менеджера.
15. Angel_19 6 29.09.23 11:40 Сейчас в теме
Нужно хранение древовидных данных для последующего быстрого поиска с помощью запроса. И вариантов кроме как иерархического справочника нет? Или может есть?
16. nomad_irk 76 29.09.23 12:06 Сейчас в теме
(15)вполне себе в регистре сведений можно хранить, но все зависит от наличия ссылки у искомой записи: если нужна, то только в справочнике.
Оставьте свое сообщение

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