Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Как получить список папок

v7: Как получить список папок
Я
   DrRaptor
 
09.01.13 - 17:09
Нужно получить список папок из каталога.
Сообщить(ФС.НайтиПервыйФайл(КаталогХранения));
Сообщить(ФС.НайтиПервыйФайл(КаталогХранения+"*"));
Сообщить(ФС.НайтиПервыйФайл(КаталогХранения+"*.*"));
не работают.
Файлы находит, а папки нет.
как нужно прописать, чтобы папки поймать?
 
 
   Ёпрст
 
1 - 09.01.13 - 17:12
   zladenuw
 
2 - 09.01.13 - 17:12
(1) буду знать. спасибо
   DrRaptor
 
3 - 09.01.13 - 17:17
а попроще то нельзя?
   Ёпрст
 
4 - 09.01.13 - 17:20
можно, пробуй
   Ёпрст
 
5 - 09.01.13 - 17:20
тупо рекурсией, например
   Boroda
 
6 - 09.01.13 - 17:24
ФайлОписания = ФС.НайтиПервыйФайл(Папка+"\*.*");
Пока ПустаяСтрока(ФайлОписания)=0 Цикл
  фс.АтрибутыФайла(Папка+"\"+ФайлОписания,,атр,времясоздания,,,);
    Если сред(атр,4,1)="1" Тогда // вот это папка
 
...
   DrRaptor
 
7 - 09.01.13 - 17:50
Работает, если вот так:

атр="";
    ФайлОписания = ФС.НайтиПервыйФайл(КаталогХранения+"*-*");
    Пока ПустаяСтрока(ФайлОписания)=0 Цикл
          фс.АтрибутыФайла(КаталогХранения+ФайлОписания,,атр,,,,);
        Если сред(атр,4,1)="1" Тогда // вот это папка
 
            Сообщить(СокрЛП(ФайлОписания));
            Прервать;
        КонецЕсли;
        ФайлОписания = ФС.НайтиСледующийФайл();
    КонецЦикла;
   DrRaptor
 
8 - 09.01.13 - 17:51
*.* - она не понимает
обязательно нужен какой-то символ из названия папки
   Ёпрст
 
9 - 09.01.13 - 17:52
КаталогХранения+"\*.*"
   Ёпрст
 
10 - 09.01.13 - 17:53
можно и так
КаталогХранения+"\.."
не помню ужо, давно с ФС ничего не писал
 
 Рекламное место пустует
   DrRaptor
 
11 - 09.01.13 - 18:01
неа, с точками вообще не катит
а следжик у меня и так уже в КаталогХранения входит
   Ёпрст
 
12 - 09.01.13 - 18:02
ну тогда усттекаталог сделай перед этим и ищи без указания каталога
   Vladal
 
13 - 09.01.13 - 20:03
Я как-то задавался подобной задачей. Решил скриптами.
   monsterZE
 
14 - 09.01.13 - 21:33
а чего не работает то??
писал себе разнесенку по отчетам для юзверей
типа внешние отчеты по группам
группы папки - отчеты - файлы в них
все работает..
подставил сейчас *.* в фильтр - добавились все каталоги
   monsterZE
 
15 - 09.01.13 - 21:36
Процедура ОбновитьКаталоги(Путь);
   //Форма.Закладки.УдалитьВсе();
 
    
   //ИмяФайла = ФС.НайтиПервыйФайл(Путь+"*.ert");
 
    ИмяФайла = ФС.НайтиПервыйФайл(Путь+"*.*");
    
    Пока ИмяФайла <> "" Цикл 
        АтрибутыФайла = ПолучитьПустоеЗначение();
        ФС.АтрибутыФайла(Путь+ИмяФайла,,АтрибутыФайла,,,,);
        ЭтоКаталог = ?(Прав(Лев(АтрибутыФайла,4),1)="1",1,0);
        
        Если ЭтоКаталог=1 Тогда
            Форма.Закладки.ДобавитьЗначение(Путь+ИмяФайла+"\",Обрезать(ИмяФайла));
        КонецЕсли;
        
        ИмяФайла = "";
        ИмяФайла = ФС.НайтиСледующийФайл();
    КонецЦикла;    
КонецПроцедуры
   DrRaptor
 
16 - 10.01.13 - 10:23
Все работает, я же написал уже.
Просто маска "*.*" не воспринимается - точка только для файлов, папки так не находятся. А вот "*-*" (для папки "АВ-1200...") или "А*" (для папки "А123...")отлично работает.
   monsterZE
 
17 - 10.01.13 - 10:28
(16) я мож не догоняю чего =) в (15) у меня выводит все папки диска с: например..

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует