Файл 1С

Объект языка 1С «Файл» позволяет:

  • файл 1С — получить путь к файлу (каталог без имени файла), имя без расширения, только расширение
  • файл 1С — проверить наличие файла
  • файл 1С — определить файл это или каталог
  • файл 1С — получить размер файла
  • файл 1С — работать с атрибутами файла (время измененеия, только чтение, скрытые файлы).


Пример файл 1С — проверка наличия каталога на диске:
Функция ПолучитьКаталогПоИмениФайла(ИмяФайла)

//обращаемся к файлу, на этот момент существование файла не проверяется
Файл = Новый Файл(ИмяФайла);

//напрямую проверяем существование
Если не Файл.Существует() Тогда
Сообщить("Ошибка. Файл с именем '" + ИмяФайла + "' не существует");
Возврат ИмяФайла;
КонецЕсли;

//проверка на каталог
Если Файл.ЭтоКаталог() Тогда
//если последняя буква не "\", то добавляем ее
Возврат ?(Прав(СокрП(ИмяФайла), 1) = "\", ИмяФайла, СокрП(ИмяФайла) + "\");
КонецЕсли;

//возвращаем путь (т.е. только каталог из имени файла)
Возврат Файл.Путь;

КонецФункции

Пример файл 1С — проверка существования файла на диске:
Функция ФайлМожноЗаписывать(ИмяФайла)

//обращаемся к файлу, на этот момент существование файла не проверяется
Файл = Новый Файл(ИмяФайла);

//напрямую проверяем существование
Если не Файл.Существует() Тогда
Сообщить("Ошибка. Файл с именем '" + ИмяФайла + "' не существует");
Возврат ИмяФайла;
КонецЕсли;

//вернет ИСТИНА, если нельзя записывать (т.е. только чтение "установлен")
Если Файл.ПолучитьТолькоЧтение() Тогда
Попытка
Файл.УстановитьТолькоЧтение(Ложь);
Исключение
//здесь мы окажемся, если у пользователя, под которым работает клиент 1С нет прав снять этот реквизит
Возврат Ложь;
КонецПопытки;
КонецЕсли;

Возврат Истина;

КонецФункции

Пример файл 1С — получение размера файла в байтах, килобайтах, мегабайтах:
[VIP_CONTENT]

//Варианты единицы измерения:
// М - МегаБайты
// К - КилоБайты
// Б - Байты
Функция ПолучитьРазмерФайла(ИмяФайла, ЕдиницаИзмерения = "М")

//обращаемся к файлу, на этот момент существование файла не проверяется
Файл = Новый Файл(ИмяФайла);

//напрямую проверяем существование
Если не Файл.Существует() Тогда
Сообщить("Ошибка. Файл с именем '" + ИмяФайла + "' не существует");
Возврат ИмяФайла;
КонецЕсли;

Если ЕдиницаИзмерения = "М" Тогда
Возврат Окр(Файл.Размер() /1024 /1024, 2);
ИначеЕсли ЕдиницаИзмерения = "К" Тогда
Возврат Окр(Файл.Размер() /1024, 2);
КонецЕсли;

Возврат Файл.Размер();

КонецФункции

[/VIP_CONTENT]