Как сохранить дерево значений во внешней обработке. #568206


#0 by starjons
Коллеги, здравствуйте, подскажите пожалуйста, как я могу сохранить дерево значений во внешней обработке. По порядку: у меня есть элемент управления Табличное поле, который имеет тип - Дерево значений. Колонки создаются динамически приОткрытии. Мне нужно чтобы вся иерархия полностью, которую произвольным образом создает пользователь из справочника - сохранялась. Что уже пробовала: делать колонки не динамическими при открытии, а стандартно на форме - соханяются данные, но плоско, внутрь папки зайти не могу. Поставила на форме галочку - сохранять данные из табличного поля используя сохранить значение - восстановить значение - сохраняются только плюсики иерархии. Ни ссылок тебе, ни наименования - ничего. Прошу помощи или совета
#1 by DSSS
Присоединяюсь к вопросу..:)
#2 by starjons
Спасибо, есть какие то соображения? я в этом хилый специалист)) но необходимость заставит
#3 by starjons
#4 by kosts
Попробовать СохранитьЗначениеВФайл(ЗначениеВСтроку(Дерево)) Дерево1 = ЗначениеИЗСтроки(ЗначениеИЗФайла); Дерево1 - перебрать строки и добавить в Дерево.
#5 by starjons
вот я так делаю, но только руками. Тогда работает, ну если я сначала (при динамических колонках) сохраняю значения. Потом руками открываю восстановление, восстанавливаю - все нормально. Научи меня пожалуйста как насильно запускать восстановление при открытии?
#6 by kosts
Как то так
#7 by starjons
А файл я должна делать при сохранении значения? По идее он же уже существует - файл с настройкой "Основная".Как на него указать?
#8 by starjons
попробую щас как написал
#9 by GANR
А если сначала в хранилище значения преобразовать, потом - в строку, потом - в файл? При восстановлении размотать цепочку в обратном порядке. На самый худой конец вот приблизительный алгоритм обхода дерева...
#10 by ASU_Diamond
а сделать в обработке реквизит с типом Дерево значений не подойдет?
#11 by kosts
Грубо, вот так как то
#12 by starjons
не могу понять откуда мне надо взять файл для загрузки. 1С сама его делает
#13 by starjons
и потом в 8 я такого не нашла есть ЗначениеИзСтрокиВнутр
#14 by starjons
нашла тему на форуме , но что то в ней нет  про дерево(
#15 by kosts
Прежде чем взять что-то, нужно сперва положить что то. Перед закрытием или при кнопке ОК. ЗначениеИзСтрокиВнутр (ValueFromStringInternal) Синтаксис: ЗначениеИзСтрокиВнутр(<Строка>) Параметры: <Строка> (обязательный) Тип: Строка. Системное представление значения в строковом виде. ЗначениеИзФайла (ValueFromFile) Синтаксис: ЗначениеИзФайла(<ИмяФайла>) Параметры: Но можно и без ЗначениеИзСтрокиВнутр обойтись. сразу использовать ЗначениеИзФайла и ЗначениеВФайл
#16 by starjons
то есть я правильно понимаю: 1.делаю свои кнопки (без автосохранения и автозаполнения)по которым происходит загрузка или сохранение в файл дерева. 2. при открытии беру ранее сохраненный файл и раскручиваю его, заполняя табличное поле. 3.при закрытии с табличное поле обхожу в рекурсии и преобразовываю в строку снова и сохраняю в фаил. Правильно поняла?
#17 by kosts
1. Можно кнопками если интересует выбор из нескольких файлов. Можно жестко прописать файл, тогда при открытии сразу восстановиться предыдущая картина. (только разные пути для разных пользователей). 2. Да раскручивая. (Если случай тривиальный, то можно одним действием ЗначениеИзФайла, но я рекомендую через промежуточное дерево). 3. Одним действием сохранение в файл ЗначениеВФайл(Файл, Дерево).
#18 by starjons
kosts, спасибо большое за помощь - попробую теперь все реализовать как следует... потом выложу что получилось или спрошу.
#19 by starjons
#20 by starjons
Сделала вот так, но проблема в том, что у меня опять  только плюсики и минусики....(( никаких наименований нет, кодов нет и ссылок на номенклатуру нет((( Блин, как и в самом начале....убиться
#21 by starjons
хны
#22 by starjons
Так тоже не пашет((
#23 by Eugeneer
Сейчас
#24 by Eugeneer
#25 by Eugeneer
Если же речь идет и стандартном механизме сохранения настроек (одна из которых дерево) при открытии и закрытии формы. Т.е. сохраняем все в базе то (смотрим ДеревоПолейЗагрузки)
#26 by starjons
Первый ваш код поправила под себя и хочу громко и торжественно прокричать:УРА!!!!!!!!!!!!!СПАСИБО!!!!!!! Щас посмотрю второй ваш механизм.
#27 by Eugeneer
не нужно использовать ЭлементыФормы. Обращение идет напрямую к дереву без элементов.
#28 by starjons
Возможно по этому тоже подгребало. Но я пробовала и так и сяк - не вышло. Сейчас работает...тестирую. Спасибо еще раз всем!! Благодарю!!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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