8.х Работа с файлами

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем OXED, 21 июн 2013.

  1. TopicStarter Overlay
    OXED
    Offline

    OXED Опытный в 1С

    Регистрация:
    10 апр 2012
    Сообщения:
    256
    Симпатии:
    0
    Баллы:
    26
    Доброго всем утра.
    Подскажите пожалуйста как можно решить следующую задачу:
    Есть каталог,в котором хранится целая куча фалов XML(с выгрузками телефонных звонков за сутки). Ежедневно в этом каталоге появляется новый файл,с новыми данными
    Сам каталог жестко прописывается в коде и не меняется.
    Цель следующая : необходимо чтобы 1С обращалась по указанному каталогу и выбирала только последний файл. Как это можно реализовать? Или как можно вернуь массив адресов всех файлов в каталоге? А в коде я потом уже отберу нужный. Подскажите пожалуйста
  2. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    а название файлов жестко задано или как?
  3. TopicStarter Overlay
    OXED
    Offline

    OXED Опытный в 1С

    Регистрация:
    10 апр 2012
    Сообщения:
    256
    Симпатии:
    0
    Баллы:
    26
    Название файлов каждый раз разное,но однотипное. "TicketCollector_20130613_135821" - <Текст>Дата><ВремяФормирования>. Где текст всегда один и тот же,а дата и время соответственно меняются
  4. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.400
    Симпатии:
    40
    Баллы:
    54
    Здравствуйте!
    Ключевой функцией у Вас является глобальный метод контекста НайтиФайлы()
    Пример использования
    Посмотреть вложение 15162
    Пример кода с выбором каталога в диалоге, можете прописать каталог статично
    Код:
    
    Перем мКаталог;
    
    Процедура УкажитеКаталогНажатие(Элемент)
    
    Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);
    
    Диалог.Заголовок = "Укажите каталог с файлами";
    
    Если Диалог.Выбрать() Тогда
    мКаталог = Диалог.Каталог;
    
    Если НЕ ПустаяСтрока(мКаталог) Тогда
    
    Папка = Новый Файл(мКаталог);
    Если НЕ Папка.Существует() Тогда
    Сообщить("Каталог не обнаружен");
    Папка = "";
    Возврат;
    КонецЕсли;
    
    МассивФайлов = НайтиФайлы(СтрЗаменить(мКаталог, "\", "/"), "*.*", Истина);
    СписокФайлов.Очистить();
    
    Для каждого СтрМассив из МассивФайлов Цикл
    НоваяСтрока = СписокФайлов.Добавить();
    НоваяСтрока.Файл = СтрМассив.ПолноеИмя;
    НоваяСтрока.ВремяИзменения = СтрМассив.ПолучитьВремяИзменения(); // получает время изменения файла
    КонецЦикла;
    
    СписокФайлов.Сортировать("ВремяИзменения Убыв");
    
    КонецЕсли;
    
    КонецЕсли;
    
    КонецПроцедуры
    
    мКаталог = "";
    Обработка
    Посмотреть вложение 15161

    Вложения:

  5. TopicStarter Overlay
    OXED
    Offline

    OXED Опытный в 1С

    Регистрация:
    10 апр 2012
    Сообщения:
    256
    Симпатии:
    0
    Баллы:
    26
    Mialord,Большое спасибо - помогло. Именно то что нужно и получил
  6. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.400
    Симпатии:
    40
    Баллы:
    54
    Для Вас немного адаптировал с возвратом времени изменения файлов

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