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