7.7 Как пробежаться по файлам в определенной папке?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Asttoxa, 3 июл 2012.

  1. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Есть путь к папке. Требуется пробежаться циклом по всем файлам в этой папке и передать их название в переменную, которая в свою очередь будет работать с названиями в этом же цикле!
    Спасибо.
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
  3. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Спасибо. Работает если маску указать. А если сделать "*.*" такую маску то не хочет по файлам бегать :(
  4. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Наврал :( Не работает :(
    Сделал вот так :
    Код:
    Процедура СписокФайловПапки(Папка,СписокФайлов,Маска="*.*") Экспорт
    Перем Всего, Файл;
    
    СписокФайлов=СоздатьОбъект("СписокЗначений");
    
    Если ПустоеЗначение(Папка)=1 Тогда
    Возврат;
    КонецЕсли;
    
    Сообщить(Папка+?(Прав(Папка,1)="\","","\")+Маска);
    
    Всего=0;
    Файл=ФС.НайтиПервыйФайл(Папка+?(Прав(Папка,1)="\","","\")+Маска);
    Пока ПустаяСтрока(Файл)<>0 Цикл
    СписокФайлов.ДобавитьЗначение(Файл);
    Всего=Всего+1;
    Файл=ФС.НайтиСледующийФайл();
    КонецЦикла;
    
    КонецПроцедуры
    
    Отладчиком глянул Если указать маску *.* то он переменной Файл=".", а если указать реальную маску то переменной Файл присвоит реальное имя файла но в цикл не зайдет. :(
  5. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Если папка - реквизит формы типа строка - нужно так
    Код:
    МояПапка=СокрЛП(Папка);
    
    иначе 1с вам ее дополняет пробелами справа, а это недопустимо
  6. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Неть не из формы. А вот так: Папка=глКаталогОтчетов+"FixedBase"; Никаких пробелов нет.
  7. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Попробуйте вместо ФС использовать
    Код:
    МойФС=СоздатьОбъект("Файл");
  8. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    МойФС=СоздатьОбъект("Файл");
    {D:\BASE\LT\EXTFORMS\ПРОВЕРКА ФАЙЛА.ERT(18)}: Неудачная попытка создания объекта (Файл)
  9. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Извиняюсь... не каждый день юзаю. Конечно же
    Код:
    МояФС=СоздатьОбъект("ФС");
  10. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Так все работает ...
    Огроменное спасибо.
  11. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104

Поделиться этой страницей