Форма входа

Поиск

Наш опрос

Оцените мой сайт
Всего ответов: 100

Мини-чат

Статистика





Четверг, 28.11.2024, 03:33
Приветствую Вас Гость | RSS
//1c.do.am
Главная | Регистрация | Вход
Файловая система


Для работы с файлами и каталогами в 1С:Предприятие используется специальный объект "ФС" (файловая система). Средства языка 1С имеют возможности поиска, копирования, переименования, удаления и совершения других операций с файлами и каталогами.

Обращение к файловой системе

Для работы с файловой системой предназначен объект "ФС". В принципе его не требуется создавать с помощью функции СоздатьОбъект. Можно считать, что он уже создан. Но 1С позволяет создать сколько угодно таких объектов при помощи функции СоздатьОбъект;

Пример:

ГдеМыНаходимся = ФС.ТекКаталог();
ФС.СоздатьКаталог("DOCS");
НовФС = СоздатьОбъект("ФС");

Объект "ФС" имеет следующие методы:

Метод
Описание
ВыбратьФайл(<ИмяФайла>)

Открывает окно диалога выбора/сохранения файла. Возвращает: 0 - если в окне диалога нажата кнопка 'Отмена', 1 - если нажата кнопка 'ОК'.

Синтаксис: ВыбратьФайл (<ТипДиалога>, <ИмяФайла>, <ИмяНачКаталога>, <ЗаголовокОкна>, <Фильтр>, <Расширение>, <Таймаут>)

Параметры:
<ТипДиалога> -: 0 - диалог типа <открыть>, 1 - диалог типа <сохранить>;
<ИмяФайла> - переменная, содержащая на входе строку с именем файла, а на выходе - имя выбранного файла;
<ИмяНачКаталога> - переменная, содержащая на входе строку с начальным каталогом, а на выходе - имя выбранного каталога;
<ЗаголовокОкна> - строка с заголовком окна;
<Фильтр> - строка с фильтром отбора файлов (например: 'Все файлы (*.*) |*.*');
<Расширение> - строка с расширением файла по умолчанию;
<Таймаут> - время ожидания отклика пользователя в секундах (необязателен).

ВыбратьФайлКартинки Открывает окно диалога выбора/сохранения файла картинки.
Возвращает: 0 - если в окне диалога нажата кнопка 'Отмена', 1 - если нажата кнопка 'ОК'.
Синтаксис: ВыбратьФайлКартинки (<ТипДиалога>, <ИмяФайла>, <ИмяНачКаталога>, <ЗаголовокОкна>, <Расширение>, <Таймаут>)
ВыбратьКаталог

Открывает окно диалога выбора каталога.
Возвращает: 0 - если в окне диалога нажата кнопка 'Отмена'; 1 - если в окне диалога нажата кнопка 'ОК', при этом в переменную <ИмяНачКаталога> возвращается имя выбранного каталога; -1 (минус единица) - закончилось время <Таймаут> ожидания отклика пользователя.
Синтаксис: ВыбратьКаталог(<ИмяКаталога>,<ЗаголовокОкна>,<Таймаут>)

СуществуетФайл

Проверяет существование файла..
Возвращает: 1 - файл существует; 0 - не существует.
Синтаксис: СуществуетФайл(<ИмяФайла>)

КопироватьФайл

Копирует файл.
Синтаксис: КопироватьФайл(<ИмяФайлаИсточника>,<ИмяФайлаПриемника>,<ФлагПерезаписи>)

Параметры:
<ИмяФайлаИсточника> - строка с именем файла источника;
<ИмяФайлаПриемника> - строка с именем файла приемника;
<ФлагПерезаписи> -:
0 - существующий файл приемника перезаписать;
1 - существующий файл приемника не перезаписывать.

УдалитьФайл

Удаляет файл.
Синтаксис: УдалитьФайл(<ИмяФайла>)

ПереименоватьФайл

Переименовать/переместить файл.
Синтаксис: ПереименоватьФайл(<ИмяФайлаИсточника>, <ИмяФайлаПриемника>, <ФлагПерезаписи>)

Параметры:
<ИмяФайлаИсточника> - строка с именем файла источника;
<ИмяФайлаПриемника> - строка с новым именем файла;
<ФлагПерезаписи> -:
0 - запрещает перемещение файла между дисками и существующий файл приемника не перезаписывается;
1 - разрешает перемещение файла между дисками (только для файлов) и существующий файл приемника перезаписывается.

НайтиПервыйФайл

Открывает выборку файлов по заданной маске и находит первый файл.
Возвращает строку с именем найденного файла.
Синтаксис: НайтиПервыйФайл(<МаскаИмени>)

НайтиСледующийФайл

Находит следующий файл по открытой выборке файлов.
Возвращает строку с именем найденного файла.
Синтаксис: НайтиСледующийФайл()

АтрибутыФайла

Возвращает атрибуты файла (в параметрах).

Синтаксис:
АтрибутыФайла (<ИмяФайла>, <РазмерФайла>, <АтрибутыФайла>, <ВремяСоздания>, <ВремяПоследнегоДоступа>, <ВремяПоследнейЗаписи>, <РасширенноеИмяФайла>)

Атрибуты файла закодированы, об этом см. Синтакс-Помощник или описание встроенного языка

СоздатьКаталог

Создать новый каталог (папку).
Синтаксис:СоздатьКаталог(<ИмяКаталога>)

УдалитьКаталог

Удаляет каталог файлов.
Синтаксис: УдалитьКаталог(<ИмяФайла>)

УстТекКаталог

Устанавливает текущий каталог файлов.
Синтаксис: УстТекКаталог(<ИмяФайла>)

ТекКаталог Возвращает строку с именем текущего каталога файлов.
WindowsКаталог Возвращает строку с именем Windows директории.
СвободноеМестоНаДиске Возвращает размер свободного дискового пространства в байтах.
Синтаксис: СвободноеМестоНаДиске(<ИмяДиска>)

Также часто применяются системные функции:

Метод
Описание
КаталогИБ Возвращает имя каталога базы данных.
КаталогПользователя Возвращает имя каталога пользователя.
КаталогПрограммы Возвращает имя каталога с исполняемыми файлами системы 1С:Предприятие.
КаталогВременныхФайлов Возвращает имя каталога временных файлов.
ИмяКомпьютера Возвращает сетевое имя компьютера, работающего в данный момент с программой.


Примеры

Пример 1
//переместить все текстовые файлы (*.txt) из каталога информационной базы в каталог TXT.

ФС.УстТекКаталог(КаталогИБ());
ИмяФайла = "";
ИмяФайла = ФС.НайтиПервыйФайл("*.txt");
Если ИмяФайла <> "" Тогда
.... ФС.СоздатьКаталог("TXT");
.....ФС.КопироватьФайл(ИмяФайла,ФС.ТекКаталог() + "TXT" + ИмяФайла);
.....ФС.УдалитьФайл(ИмяФайла);

Пока 1=1 Цикл

ИмяФайла = " ";
.....ИмяФайла = ФС.НайтиСледующийФайл()
Если ИмяФайла <> "" Тогда
.....ФС.КопироватьФайл(ИмяФайла,ФС.ТекКаталог() + "TXT" + ИмяФайла);
.....ФС.УдалитьФайл(ИмяФайла);
Иначе
..... Прервать;
КонецЕсли;

КонецЦикла;

Пример 2
//выбрать файл с фотографией сотрудника

ИмяФайла = "";
ИмяКаталога = КаталогИБ();

Если ФС.ВыбратьФайлКартинки(0,ИмяФайла,ИмяКаталога,"Укажите файл с фотографией:",,20)=1 Тогда

ВремКартинка = СоздатьОбъект("Картинка");
ВремКартинка.Загрузить(ИмяКаталога + ИмяФайла);
КартинкаНаФорме.УстановитьКартинку(ВремКартинка);

КонецЕсли;


Copyright MyCorp © 2024