МассивФайлов в ДеревоЗначений

1. vova-1c 153 29.04.19 09:57 Сейчас в теме
Подскажите как массив из найденных файлов поместить в ДеревоЗначений (РеквизитФормы).
1С 8.3.12 такси
МассивФайлов = НайтиФайлы( ПутьККаталогу , "*", Истина);

МассивФайлов с вложенными каталогами, уровень вложенности одна

например в ТЗ на форме это выглядит вот так
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ermek6 22 29.04.19 10:04 Сейчас в теме
3. vova-1c 153 29.04.19 10:12 Сейчас в теме
(2) Подскажите пожалуйста пример кода
4. Oldsad 29.04.19 10:45 Сейчас в теме
(3)
думаю в (2) подразумевается что файлы надо искать так:
МассивФайлов = НайтиФайлы( ПутьККаталогу , "*", Ложь);

И рекурсией пройтись по всем подкаталогам.
Тогда у вас автоматом создастся древовидная структура
5. vova-1c 153 29.04.19 10:52 Сейчас в теме
(4) когда я использую
МассивФайлов = НайтиФайлы( ПутьККаталогу , "*", Ложь);

то у меня МассивФайлов состоит только из файлов,
а когда
МассивФайлов = НайтиФайлы( ПутьККаталогу , "*", Истина);

тогда и каталоги тоже
8. Oldsad 29.04.19 11:09 Сейчас в теме
(5)
вы меня заинтриговали, что я даже проверил :)
но нет, все работает также как я помню из времен доса
для системы каталоги и файлы ничем не отличаются, кроме одного атрибута
и как следствие НайтиФайлы, кроме собственно файлов находит и каталоги
6. vova-1c 153 29.04.19 10:54 Сейчас в теме
(4)Скрин выше , видно я показываю каталог Тест, в него вложены три каталога и три файла
7. ermek6 22 29.04.19 11:06 Сейчас в теме
Как то так:
Процедура ОбработатьПутьФайла(Знач Файл, Строки)
	Файл = СтрЗаменить(Файл,"/","\");
	ПозицияРазделителя = Найти(Файл,"\");
	Если ПозицияРазделителя=0 Тогда
		Имя = Файл;
		Остаток = "";
	Иначе
		Имя = Лев(Файл,ПозицияРазделителя - 1);
		Остаток = Прав(Файл,СтрДлина(Файл)-ПозицияРазделителя);
	КонецЕсли;

	Строка = Строки.Найти(Имя,"Имя");
	Если Строка = Неопределено Тогда
		Строка = Строки.Добавить();
		Строка.Имя = Имя;
	КонецЕсли;
	Если СтрДлина(Остаток)>0 Тогда
		ОбработатьПутьФайла(Остаток, Строка.Строки);	
	КонецЕсли;
КонецПроцедуры

Файлы = НайтиФайлы("C:\Temp","*",Истина);
Дерево = Новый ДеревоЗначений;
Дерево.Колонки.Добавить("Имя");
Для Каждого Файл ИЗ Файлы Цикл
	ОбработатьПутьФайла(Файл.ПолноеИмя, Дерево.Строки);	
КонецЦикла

Показать
9. vova-1c 153 29.04.19 11:59 Сейчас в теме
(7)Большое спасибо сейчас пробую
10. vova-1c 153 29.04.19 12:26 Сейчас в теме
11. ermek6 22 29.04.19 12:36 Сейчас в теме
F9->F11->F11......F11
Прикрепленные файлы:
12. ermek6 22 29.04.19 12:47 Сейчас в теме
Попробуй запустить вложенный файл. Должен показать дерево значений
Прикрепленные файлы:
НайтиФайлы.epf
13. vova-1c 153 29.04.19 12:53 Сейчас в теме
14. ermek6 22 29.04.19 13:10 Сейчас в теме
А деталей по больше нету? Описание ошибки там какое, или результат.

&РежимЭкстрасенса
Быть может стоит поменять путь?
15. vova-1c 153 29.04.19 13:12 Сейчас в теме
(14) Ошибок не выдает просто чистое окно , путь нормально папка Temp на C:\
в ней папки и файлы есть
16. ermek6 22 29.04.19 13:13 Сейчас в теме
А папка такая есть? А подпапки в ней есть? Поменяй на C:\Users\<UserName>\Desktop
17. vova-1c 153 29.04.19 13:15 Сейчас в теме
(16)Все есть и подпапки и доступ
18. ermek6 22 29.04.19 13:17 Сейчас в теме
Пройдись отладчиком. Посмотри что в массиве файлов после "НайтиФайлы()"
Посмотри, заходит ли в процедуру ОбработатьПутьФайла, и что туда передается
Посмотри, вызывает ли рекурсивно сама себя процедура ОбработатьПутьФайла
19. vova-1c 153 29.04.19 23:41 Сейчас в теме
(18)Извиняюсь вчера не смог ответить,
прошел я отладчиком , результат ноль , везде пусто ,
может потому что у меня такси , чистая пустая конфа
20. ermek6 22 30.04.19 09:12 Сейчас в теме
А, ну естественно, в управляемом режиме открывается форма по умолчанию и не запускается модуль объекта.

запусти в режиме обычного приложения.
21. ermek6 22 30.04.19 09:27 Сейчас в теме
Держи для УФ :-D
Прикрепленные файлы:
НайтиФайлы.epf
23. meriferi 30.04.19 13:19 Сейчас в теме
24. user1463977 07.07.23 16:16 Сейчас в теме
Для управляемых форм можете пример дать?
Оставьте свое сообщение

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