Как вывести иерархическое дерево в отчете? #15170


#0 by ytrewq
сабж
#1 by Лошадка в пальто
К Осипам... они деревья свои растят...мобилы раздают...
#2 by ytrewq
Задача такая создается справочник один из реквизитов которого ссылается на другой элемент справочника .Нужно вывести отчет в котором будет представлена иерархия элементов справочника ,примерно так :      сидоров             водкин т.е. сидоров ,петров подчинены иванову ,казлов сидорову водкин петрову итд можете подсказать как релизовать это вмодуле
#3 by Фокусник
Нанять специалиста. А фамилии писать с маленькой буквы - это хамство по отношению к их владельцам.
#4 by ytrewq
специалисты скажите ктонить как релизовать очень надо
#5 by 427
Без проблем - но безграмотным подсказывать - вера не позволяет...
#6 by Андрей66
казлов  - хорошая фамилия!!!
#7 by ytrewq
Вот я тут сам коечто уже написал, но в функции глобального модуля неработает сравнение .Тоесть оно работает но выдает неккорктный результат Если Пер=Спр.Род Тогда Парам=1;  иначе  Парам=0; конецесли; При сравнении двух одинаковых реквизитов одного справочника выдает 0 //Отчет*******************************************
#8 by ytrewq
Тоесть функция должна проверять наличие подчиненных объектов 3 уровня иерархии а потом при наличии таковых должна запускаться рекурсия
#9 by о_о
Если справочник не большой, то создай ТЗ с колонками элемент и родитель. Отсортируй и выводи на печать.
#10 by 427
не прокатит...
#11 by ytrewq
Может скажеш как сделать чтобы прокатило
#12 by syktyk
Тебе же в реалнете функцию привели...
#13 by romix
Пример рекурсивного обхода номенклатуры, в которой есть ссылки на документы комплектации (из чего состоит сборка, и так в свою очередь может быть много раз):
#14 by romix
Ошибка наверное вот здесь: 1С не проверяет типы данных, и некоторые люди (особенно новички) могут всунуть Наименование там, где следовало бы - ТекущийЭлемент.
#15 by 427
и нигде не приведено нормального решения проблем на реалнете - просто печать по группам. Без учета иерархии
#21 by Морозов Александр
В конце по идеи должны получить ерархическую таблицу ЕРТТаб
#22 by GrayT
Что то я не понял задачи. А что простой запрос по справочнику + присоединение секций спереди по уровню группы не прокатывает?
#23 by Морозов Александр
А при чем здесь группы?
#24 by NS
Не понял... У тебя иерархический справочник? Тебе нужно сделать отступ согласно уровню? ПечСотрудник=НачальныеПробелы+Сотрудник.Наименование? В чем вопрос-то?
#25 by ytrewq
Ошибка моя в том что ясравнивал разные типы данных тоесть первую выборку процедура выдает потомучто идет отбор по введенной в форме отчета переменной ,чтобы продолжить  выборку нужно сравнивать два реквизита разных типов которые немогут быть равны .Я вот вообще в непонятках как же организовать выборку если невозможно сравнивать эти два реквизита, а любая выборка через запрос либо через массивы все равно упирается в необходимость сравнить  реквизиты .Понятно что типы у них разные нокак тогда быть?
#26 by ytrewq
Впринце решение я нашел ,а немогли бы вы сказать как сделать чтобы значение выводимое в Отчете сдвигалось  при выводе секции
#27 by GrayT
Через ПрисоеденитьСекцию
#28 by NS
(26,27) Через ПечСотрудник=НачальныеПробелы+....
#29 by GrayT
Через присоеденить секцию можно дерево нарисовать красивое, но так проще конечно
#30 by ytrewq
скажи как это примерно выглядило бы в модуле ,а то я с "Присоединитьсекцию" несовсем еще разобрался
#31 by GrayT
Бр-р-р-р. Рекурсия? Нах.... Зачем? С присоеденитьСекцию немногим сложнее.
#32 by ytrewq
на самом деле ни уровней ни групп здесь нет - справочник одноуровневый. И вывести его иерархию без рекурсии мне представляется муторным делом. Ладно слава богу все работает и выводится как надо , всем спасибо за внимание.
#33 by GrayT
Ну нет, так нет. Хотя справочник ОбъектыУчета у меня 4-х уровневый и заполнение по уровням определяется программно - т.е. он забит под завязку по всем 4 уровням. Нравиться рекурсия - чеши левой пяткой правое ухо
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С