Помогите разобраться, алгоритм Копирования ветки справочника #292753


#0 by Point
#1 by Креатив
Поточнее, пожалуйста, задачу. Ты хочешь скопировать некоторую папку в справочнике со всем вложенными подпапками? Элем - копируемая папка? А куда копируем? Что делать с кодами? И подобная тема как-то недавно уже встречалась. :-))
#2 by Point
Папка копируется сос всеми вложениями в тотже справочник, с кодами обычная автонумерация
#3 by 1Сергей
Рекурсия поможет
#4 by dk
копируются только папки без элементов? имхо 2 варианта: 1) Таблица соответствий Старый родитель - Новый родитель 2) Рекурсия, но тут надо подумать :)
#5 by IUnknown
пять последних веток показывает, что помочь здесь будет тяжко
#6 by Point
вот именно, я вот все никак не могу разобраться в этом алгоритме, а так хочется
#7 by Point
а где можно почитат про рекурсию
#8 by Motya
^)
#9 by Креатив
Задача получается нетривиальной. Решается либо с помощью рекурсии. Либо с использованием стека. Если слова знакомые, попробой самостоятельно реализовать. Мне сейчас надо по своим делам отлучиться.
#10 by 1Сергей
" target="_blank">http://www.yandex.ru/yandsearch?date=&text=%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D1%8F&spcctx=notfar&zone=all&linkto=&wordforms=all&lang=all&within=0&from_day=&from_month=&from_year=&to_day=28&to_month=8&to_year=2007&mime=all&Link=&rstr=&site=http%3A%2F%2F>=
#11 by AJ_81
да сделай просто СпрГруппа.Новый; Некое действие со справочниками Иначе Спр.НоваяГруппа; Некое действие со справочниками Спр.Записать я так делал, как есть, так и копирует, независимо от количества подпапок
#12 by AJ_81
да сделай просто СпрГруппа.Новый; Некое действие со справочниками Иначе Спр.НоваяГруппа; Некое действие со справочниками Спр.Записать я так делал, как есть, так и копирует, независимо от количества подпапок
#13 by Зарбазан
(Point) бросай это дело... займись садоводством, ландшафтным дизайном там..
#14 by Ёпрст2
#15 by IUnknown
учись давать ссылки ;=
#16 by Креатив
Меня терзают смутные сомнения. Твоя процедура будет правильно работать только если в 1с ПолучитьЭлемент выдает сначала элементы, потом группы, причём вместе с подчинёнными.
#17 by Point
ето все просто, то что ты написал, а вот если у одному родителю принадлежит две папки, как быть. У тебя же родитель-это новый только что созданая группа.
#18 by Ёпрст2
всё работает как надо...
#19 by Ёпрст2
Хоть 200, чего, лень проверить? ... ЗЫ: копирует правда в корень справочника, если ничего не передаешь, в начале ...иначе нужно уровень проверять,  чтоб за пределы не вылезло...
#20 by Креатив
1. На 1С надеяться - себе дороже. 2. Вот так вот и убивают в наших программистах чисто алгоритмические решения. :-))
#21 by smaharbA
+ и обход метаданных а еще есть и подчененные элементы ))
#23 by Point
Таб- Это таблица значений где две колонки 1.Значение-Наименование группы 2.Родитель-Родитель группы
#24 by Ёпрст2
Ну и нафига сто раз бегать по справочнику и что-то еще в ТЗ заносить? ...чем не устроило? ....
#25 by Ёпрст2
+24 И еще, что то по наименованию искать, тем более родителей - супер просто ...
#26 by Point
ну во-первых это свое, а во-вторых я пока еще такого не видел, можно сказать новый способ например для меня и для тех кто не понимает в Рекурсии и во многоих других вещах ))
#27 by Ёпрст2
А во-вторых, не работает :) .... даже только из-за этого НайтиПоНаименованию смотреть не стоит ..
#28 by Ёпрст2
+27 и в нет рекурсии, если что ....
#29 by Point
если у тебя не работает значит ты что-то не так делаешь, у меня все работает четко и относительно быстро
#30 by Point
вот доделаю полностью обработку, пиши свое мыло я тебе кину ее и посмотрешь готовый результат. Если хочешь конечно
#31 by smaharbA
Сразу можешь удалять безвозвратно. Лажа, судя по ...
#32 by SergBeg
"НайтиПоНаименованию" - а если у тебя будут несколько одинаковых наименований ?
#33 by smaharbA
+ либо вообще небудет "Наименование"
#34 by Point
ну это можно доделать. можно поставить проверку по Родителю, т.е. если нашли наименование в справочнике получателе то травниваем родитель со справочником источником, если нет тогда продолжаем искать дальше. Может конечно случиться что одному родителю принадлежит несколько папок с одинаковым названием, но это 1% из 100. ну уж если такое всетаки есть тоггда это минус пользователю, так как в этом смысла нет никакого.
#35 by Ёпрст2
НайтиПоНаименованию - вернёт тебе первый попавшийся элемент, будь то группа или элемент ... А если я хочу 10 раз копировать ветку ? .... :) код твой - в топку ... и ТЗ там явно не нужна ....
#37 by Point
и прежде чем что-то жечь нужно спокойно рассмотреть
#38 by Point
и еще!!! этоконечно моя ошибка, что я ее только что заметил. если мне не изменяет память то НайтиПоНаименованию имеет такой параметр как "Режим" и его как ни странно можно ставить по своему усмотрению в данном случае надо просто поставить "1"-поиск внутри установленного подчинения
#39 by Ёпрст2
Не вопрос, у меня в справочнике группа и элемент с одним наименованием, и еще куева элементов с одним наименованием ... что тогда ? Или вообще нет наименования, т.е длина Наименования =0 ... что делать будем? ...
#40 by Ёпрст2
Не вопрос, в пределах одной группы 10 элементов с одним наименованием ... ? что тогда ? ...
#41 by Point
для этого конечно не подойдет, у меня такого нет конечно, да и в принципе я пока такого ни где не встречал (имеется ввиду в рабочих базах), так как это  может привести к ошибкам в остатках и еще в куче разных вещей, так как при выборе элементов имеющих одинаковое наименование 100% вылезет человеческий фактор, кто-нибудь да когда-нибудь да ошибется. И вот еще я же не утверждаю что моя обработка является универсальной и может избежать каких-либо ошибок.
#42 by Ёпрст2
Вам предложили реальный ответ в , зачем изобретать еще ? да еще и неправильный ? ...
#43 by Point
а кто сказал что он неправильный, он просто немного ограниченный по своим возможностям. и зачем так категорически реагировать, ведь каждый имеет право на выбор и право на свое мнение
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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