Файловая система
Для работы с файлами и каталогами в 1С:Предприятие используется специальный объект "ФС" (файловая система). Средства языка 1С имеют возможности поиска, копирования, переименования, удаления и совершения других операций с файлами и каталогами.
Обращение к файловой системе
Для работы с файловой системой предназначен объект "ФС". В принципе его не требуется создавать с помощью функции СоздатьОбъект. Можно считать, что он уже создан. Но 1С позволяет создать сколько угодно таких объектов при помощи функции СоздатьОбъект;
Пример:
ГдеМыНаходимся = ФС.ТекКаталог(); ФС.СоздатьКаталог("DOCS"); НовФС = СоздатьОбъект("ФС");
Объект "ФС" имеет следующие методы:
Метод
|
Описание
|
ВыбратьФайл(<ИмяФайла>) |
Открывает окно диалога выбора/сохранения файла. Возвращает: 0 - если в окне диалога нажата кнопка 'Отмена', 1 - если нажата кнопка 'ОК'. Синтаксис: ВыбратьФайл (<ТипДиалога>, <ИмяФайла>, <ИмяНачКаталога>, <ЗаголовокОкна>, <Фильтр>, <Расширение>, <Таймаут>) Параметры: |
ВыбратьФайлКартинки | Открывает окно диалога выбора/сохранения файла картинки. Возвращает: 0 - если в окне диалога нажата кнопка 'Отмена', 1 - если нажата кнопка 'ОК'. Синтаксис: ВыбратьФайлКартинки (<ТипДиалога>, <ИмяФайла>, <ИмяНачКаталога>, <ЗаголовокОкна>, <Расширение>, <Таймаут>) |
ВыбратьКаталог |
Открывает окно диалога выбора каталога. |
СуществуетФайл |
Проверяет существование файла.. |
КопироватьФайл |
Копирует файл. Параметры: |
УдалитьФайл |
Удаляет файл. |
ПереименоватьФайл |
Переименовать/переместить файл. Параметры: |
НайтиПервыйФайл |
Открывает выборку файлов по заданной маске и находит первый файл. |
НайтиСледующийФайл |
Находит следующий файл по открытой выборке файлов. |
АтрибутыФайла |
Возвращает атрибуты файла (в параметрах). Синтаксис: Атрибуты файла закодированы, об этом см. Синтакс-Помощник или описание встроенного языка |
СоздатьКаталог |
Создать новый каталог (папку). |
УдалитьКаталог |
Удаляет каталог файлов. |
УстТекКаталог |
Устанавливает текущий каталог файлов. |
ТекКаталог | Возвращает строку с именем текущего каталога файлов. |
WindowsКаталог | Возвращает строку с именем Windows директории. |
СвободноеМестоНаДиске | Возвращает размер свободного дискового пространства в байтах. Синтаксис: СвободноеМестоНаДиске(<ИмяДиска>) |
Также часто применяются системные функции:
Метод
|
Описание
|
КаталогИБ | Возвращает имя каталога базы данных. |
КаталогПользователя | Возвращает имя каталога пользователя. |
КаталогПрограммы | Возвращает имя каталога с исполняемыми файлами системы 1С:Предприятие. |
КаталогВременныхФайлов | Возвращает имя каталога временных файлов. |
ИмяКомпьютера | Возвращает сетевое имя компьютера, работающего в данный момент с программой. |
Примеры
Пример 1
//переместить все текстовые файлы (*.txt) из каталога информационной базы в каталог TXT.
ФС.УстТекКаталог(КаталогИБ());
ИмяФайла = "";
ИмяФайла = ФС.НайтиПервыйФайл("*.txt");
Если ИмяФайла <> "" Тогда
.... ФС.СоздатьКаталог("TXT");
.....ФС.КопироватьФайл(ИмяФайла,ФС.ТекКаталог() + "TXT" + ИмяФайла);
.....ФС.УдалитьФайл(ИмяФайла);
Пока 1=1 Цикл
ИмяФайла = " ";
.....ИмяФайла = ФС.НайтиСледующийФайл()
Если ИмяФайла <> "" Тогда
.....ФС.КопироватьФайл(ИмяФайла,ФС.ТекКаталог() + "TXT" + ИмяФайла);
.....ФС.УдалитьФайл(ИмяФайла);
Иначе
..... Прервать;
КонецЕсли;
КонецЦикла;
Пример 2
//выбрать файл с фотографией сотрудника
ИмяФайла = "";
ИмяКаталога = КаталогИБ();
Если ФС.ВыбратьФайлКартинки(0,ИмяФайла,ИмяКаталога,"Укажите файл с фотографией:",,20)=1 Тогда
ВремКартинка = СоздатьОбъект("Картинка");
ВремКартинка.Загрузить(ИмяКаталога + ИмяФайла);
КартинкаНаФорме.УстановитьКартинку(ВремКартинка);
КонецЕсли;
Комментарии