Объект Файл в 1С 8.3

Курс

Свойства файла

Для получения различных параметров файлов и каталогов используется объект Файл. Данный объект не позволяет читать или изменять содержимое файлов, а предоставляет доступ только к некоторым свойствам и атрибутам файлов и каталогов.

С помощью объекта Файл можно получить следующие параметры:

  • Имя
  • Имя без расширения
  • Расширение
  • Полное имя
  • Путь
  • Время изменения
  • Атрибут Скрытый
  • Атрибут Только чтение
  • Размер в байтах
  • Проверить существует ли файл или каталог на диске
  • Узнать это файл или каталог

Также данный объект позволяет изменить следующие параметры:

  • Время изменения
  • Атрибут Скрытый
  • Атрибут Только чтение

Объект Файл доступен как на клиенте, так и на сервере.

Для создания объекта Файл в конструктор нужно передать путь к файлу:

У объекта есть 5 свойств, с помощью которых можно получить имя, расширение и путь к файлу.

Примеры значений свойств для файла F:\тест\123.txt

Имя свойстваЗначение
Имя123.txt
ИмяБезРасширения123
Расширение.txt
ПолноеИмяF:\тест\123.txt
ПутьF:\тест\

Для каталога F:\тест

Имя свойстваЗначение
Имятест
ИмяБезРасширениятест
Расширение
ПолноеИмяF:\тест\123.txt
ПутьF:\

Пример программного получения значений свойств:

Все свойства доступны только для чтения, их нельзя изменить.

Синхронные и асинхронные методы

У объекта Файл есть группы методов, которые выполняют одинаковые действия, но разными способами:

  • Синхронно — их можно использовать на сервере. На клиенте тоже можно использовать, но только если в свойствах конфигурации разрешено использование модальности.
  • Асинхронно через обратный вызов (описание оповещения) — используются только на клиенте.
  • Асинхронно через обещание — используются только на клиенте, доступны только начиная с версии платформы 8.3.18.

Имена методов формируются следующим образом: например, синхронный метод называется Размер, тогда:

  • Асинхронный метод через обратный вызов будет называться НачатьПолучениеРазмера.
  • Асинхронный метод через обещание — РазмерАсинх.

То есть к асинхронному методу через обратный вызов в начале добавляется Начать.

К асинхронному методу через обещание в конце добавляется Асинх.

Время изменения файла

В свойствах файла есть свойство Изменен:

Изменен

Здесь отображается дата и время последнего изменения содержимого файла.

Чтобы в 1С получить время изменения файла можно воспользоваться следующими методами:

  • ПолучитьВремяИзменения — синхронный.
  • НачатьПолучениеВремениИзменения — асинхронный через обратный вызов.
  • ПолучитьВремяИзмененияАсинх — асинхронный через обещание.

Все методы, кроме НачатьПолучениеВремениИзменения возвращают дату и время изменения файла (тип 1С — Дата). Методу НачатьПолучениеВремениИзменения параметром нужно передать описание оповещения с именем процедуры, которая будет вызвана после получения времени изменения. Первым параметром данной процедуры будет дата и время изменения.

Примеры получения времени изменения файла:

Все эти методы получают местное время изменения файла. То есть если клиент и сервер находятся в разных часовых поясах, то вызов метода на сервере вернет время для часового пояса сервера.

Поэтому есть методы для получения универсального времени изменения файла:

  • ПолучитьУниверсальноеВремяИзменения — синхронный.
  • НачатьПолучениеУниверсальногоВремениИзменения — асинхронный через обратный вызов.
  • ПолучитьУниверсальноеВремяИзмененияАсинх — асинхронный через обещание.

Время изменения файла можно изменить. Для этого используются следующие методы:

  • УстановитьВремяИзменения — синхронный.
  • НачатьУстановкуВремениИзменения — асинхронный через обратный вызов.
  • УстановитьВремяИзмененияАсинх — асинхронный через обещание.

Все методы параметром принимают новое время изменения файла (тип 1С — Дата). Метод НачатьУстановкуВремениИзменения дополнительно первым параметром принимает описание оповещения с именем процедуры, которая будет вызвана после изменения времени.

Примеры изменения времени изменения файла:

Данные методы параметром принимают местное время. То есть если на клиенте на 2 часа больше чем на сервере, то если установить время изменения для файла, находящегося на сервере, как текущее время клиента, то он будет изменен в будущем.

Поэтому есть аналогичные методы, которые параметром принимают универсальное время:

  • УстановитьУниверсальноеВремяИзменения — синхронный.
  • НачатьУстановкуУниверсальногоВремениИзменения — асинхронный через обратный вызов.
  • УстановитьУниверсальноеВремяИзмененияАсинх — асинхронный через обещание.

Время изменения можно получить и изменять как для файлов, так и для каталогов.

Атрибут Скрытый

У файла есть атрибут Скрытый:

Скрытый

Если данный атрибут установлен, то файл не будет отображаться в проводнике Windows (если в настройках не включено отображение скрытых файлов).

Для получения значения данного атрибута в 1С используются следующие методы:

  • ПолучитьНевидимость — синхронный.
  • НачатьПолучениеНевидимости — асинхронный через обратный вызов.
  • ПолучитьНевидимостьАсинх — асинхронный через обещание.

Все методы, кроме НачатьПолучениеНевидимости возвращают результат в виде значения типа булево: Истина — скрытый, Ложь — не скрытый. Методу НачатьПолучениеНевидимости параметром нужно передать описание оповещения с именем процедуры, которая будет вызвана после получения атрибута Скрытый. У данной процедуры в первом параметре будет значение типа булева: Истина — скрытый, Ложь — не скрытый.

Примеры получения атрибута Скрытый:

Атрибут Скрытый можно изменить с помощью следующих методов:

  • УстановитьНевидимость — синхронный.
  • НачатьУстановкуНевидимости — асинхронный через обратный вызов.
  • УстановитьНевидимостьАсинх — асинхронный через обещание.

Все методы параметром принимают новое значение для атрибута Скрытый: Истина — скрытый, Ложь — не скрытый. Методу НачатьУстановкуНевидимости дополнительно первым параметром нужно передать описание оповещения с именем процедуры, которая будет вызвана после установки атрибута Скрытый.

Примеры изменения атрибута Скрытый:

Атрибут скрытый можно получать и изменять как у файлов, так и у каталогов.

Атрибут Только чтение

У файла есть атрибут Только чтение:

Только чтение

Если данный атрибут установлен, то файл нельзя изменить.

Для получения значения данного атрибута в 1С используются следующие методы:

  • ПолучитьТолькоЧтение — синхронный.
  • НачатьПолучениеТолькоЧтения — асинхронный через обратный вызов.
  • ПолучитьТолькоЧтениеАсинх — асинхронный через обещание.

Все методы, кроме НачатьПолучениеТолькоЧтения возвращают результат в виде значения типа булево: Истина — файл доступен только для чтения, Ложь — файл можно редактировать. Методу НачатьПолучениеТолькоЧтения параметром нужно передать описание оповещения с именем процедуры, которая будет вызвана после получения атрибута Только чтение. В первом параметре данной процедуры будет значение типа булево: Истина — файл доступен только для чтения, Ложь — файл можно редактировать.

Примеры получения атрибута Только чтение:

Атрибут Только чтение можно изменить с помощью следующих методов:

  • УстановитьТолькоЧтение — синхронный.
  • НачатьУстановкуТолькоЧтения — асинхронный через обратный вызов.
  • УстановитьТолькоЧтениеАсинх — асинхронный через обещание.

Все методы параметром принимают новое значение для атрибута Только чтение: Истина — файл будет доступен только чтения, Ложь — файл можно редактировать. Методу НачатьУстановкуТолькоЧтения дополнительно первым параметром нужно передать описание оповещения с именем процедуры, которая будет вызвана после установки атрибута Только чтение.

Примеры изменения атрибута Только чтение:

Атрибут Только чтение можно получать и изменять как у файлов, так и у каталогов.

Размер файла

Для получения размера файла в 1С используются следующие методы:

  • Размер — синхронный.
  • НачатьПолучениеРазмера — асинхронный через обратный вызов.
  • РазмерАсинх — асинхронный через обещание.

Все методы, кроме НачатьПолучениеРазмера возвращают размер файла в байтах. Методу НачатьПолучениеРазмера параметром нужно передать описание оповещения с именем процедуры, которая будет вызвана после получения размера файла. Первым параметром данной процедуры будет размер файла в байтах.

Примеры получения размера файла:

Размер можно получить только для файла, получение размера у каталога вызывает ошибку «Ошибка доступа к файлу».

Проверка существования файла или каталога

Объект Файл может быть создан даже для несуществующего файла или каталога. То есть в конструктор можно передать путь к файлу, которого на самом деле нет на диске. В этом случае вызов любого из методов объекта Файл будет приводить к ошибке «Ошибка доступа к файлу».

Специально для этого в 1С есть методы, которые позволяют узнать существует ли данный файл:

  • Существует — синхронный.
  • НачатьПроверкуСуществования — асинхронный через обратный вызов.
  • СуществуетАсинх — асинхронный через обещание.

Все методы, кроме НачатьПроверкуСуществования возвращают значение типа булево: Истина — файл существует, Ложь — не существует. Методу НачатьПроверкуСуществования параметром нужно передать описание оповещения с именем процедуры, которая будет вызвана после проверки существования файла. Первым параметром данной процедуры будет значение типа булево.

Примеры проверки существования файла:

Проверить на существование можно и файл и каталог.

Файл или каталог

В конструктор объекту Файл может быть передан как путь к файлу, так и путь к каталогу. Чтобы определить на основании чего создан объект файл используются следующие методы:

  • ЭтоФайл — синхронный.
  • НачатьПроверкуЭтоФайл — асинхронный через обратный вызов.
  • ЭтоФайлАсинх — асинхронный через обещание.
  • ЭтоКаталог — синхронный.
  • НачатьПроверкуЭтоКаталог — асинхронный через обратный вызов.
  • ЭтоКаталогАсинх — асинхронный через обещание.

Методы ЭтоФайл и ЭтоФайлАсинх вернут Истина, если объект создан на основании файла и Ложь, если на основании каталога. В метод НачатьПроверкуЭтоФайл нужно передать описание оповещения с именем процедуры, которая будет вызвана после проверки. В первом параметре этой процедуры будет Истина, если объект создан на основании файла и Ложь, если на основании каталога.

Методы ЭтоКаталог, НачатьПроверкуЭтоКаталог и ЭтоКаталогАсинх являются аналогичными, только возвращают Истина, если объект Файл создан на основании каталога и Ложь, если на основании файла.

Примеры метода ЭтоФайл:

Примеры метода ЭтоКаталог:


Подписывайтесь на группу ВКонтакте , где я публикую ссылки на новые статьи с данного сайта, а также интересные материалы с других ресурсов по программированию в 1С
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Используя этот сайт, Вы даете согласие на использование cookies. На данном этапе Вы можете отказаться от использования cookies, настроив необходимые параметры в своем браузере.
ok