Управляемые формы работа с файлами

Управляемые формы работа с файлами

В 1С 8.3 (8.2) для работы с файлами существует два объекта: Файл и ДиалогВыбораФайла.

Рассмотрим каждый по отдельности.

Объект 1С — файл

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

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

Например, прочитаем параметры некоторого файла, находящегося на диске C:

В результате мы получим следующую информацию (если файл найден):

Параметры файла:
Полное имя файла: C:Работа с файламистатья.txt
Имя: статья.txt
Имя без расширения: статья
Расширение: .txt
Путь без имени: C:Работа с файлами
Размер: 899
Это файл: Да
Изменен: 18.05.2015 16:21:28
Только чтение: Нет
Невидимость: Нет

Запись в файл

Теперь, когда мы выбрали и открыли файл, можно с ним работать, т.е. прочитать его содержимое или записать в него что-нибудь.
Рассмотрим пример:

Получите 267 видеоуроков по 1С бесплатно:

Чтение файла в 1С

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

Запись текста из 1С в файл

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

Копирование файла

Здесь все очень просто

Перемещение

Удаление

Диалог выбора файла

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

Объект ДиалогВыбораФайла служит для открытия файла (файлов), сохранения файла или выбора каталога в диалоге специального вида.

Например, выберем и откроем некоторый файл с расширением txt:
Задаем режим диалога выбора. Доступны три варианта: ВыборКаталога, Открытие, Сохранение

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

Читайте также:  Excel номер месяца по названию

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Рассмотрим простой пример организации выбора файла, с учетом отказа от модальных вызовов

Реквизит управляемой формы

Добавим поле ввода с кнопкой выбора для которой опишем событие «НачалоВыбора» (StartChoice)

Событие «НачалоВыбора» (StartChoice) для реквизита формы

Опишем обработчик события начала выбора самостоятельно, пример кода приведен ниже: В процедуре которая будет вызываться после закрытия диалога выбора, мы проверяем параметр МассивФайлов на Неопределено, т.к. пользователь может отказаться от выбора и мы должны это учитывать.
Если пользователь все же выбрал файл, то переменная МассивФайлов будет содержать массив строк, в которых будут перечислен полный путь к выбранным файлам:

Платформа 1С:Предприятие 8.3 предоставляет большой выбор инструментов для работы с файлами. В данной статье будут рассмотрены основные функции по работе с файлами.

Поиск файлов

Для поиска файлов во встроенном языке существует метод НайтиФайлы, метод доступен в Тонком клиенте, веб-клиенте, мобильном клиенте, через сервер, толстый клиент, а также внешнее соединение, мобильное приложение (клиент) и мобильное приложение (сервер).

Метод принимает на вход путь к каталогу, в котором будет производиться поиск, маска имени для поиска файлов, флаг – «Искать в подкаталогах»:

Функция возвращает массив, элементы которого объекты типа Файл.

В результате работы алгоритма будут выведены имена всех doc-файлов, содержащихся на диске C:. Если последний параметр указать «истина», будут найдены все файлы во всех подчиненных каталогах. Несколько дополнительных слов по маске поиска, в ОС Windows допускается использовать символы «*» – любые символы в любом количестве и «?» – любой один символ. Сочетать несколько масок недопустимо. В других ОС (Linux, macOS, iOS, Android) маску можно задавать более гибко, подробнее можно посмотреть в справке по языку.

Читайте также:  Активация windows 10 youtube

Объект «Файл»

Объект Файл является основным объектом для работы с файлом. Конструктор объекта принимает полное имя файла.

  • НачатьПолучениеВремениИзменения
  • НачатьПолучениеКартинкиПредставленияФайлаБиблиотекиМобильногоУстройства
  • НачатьПолучениеНевидимости
  • НачатьПолучениеРазмера
  • НачатьПолучениеТолькоЧтения
  • НачатьПолучениеУниверсальногоВремениИзменения
  • НачатьПроверкуСуществования
  • НачатьПроверкуЭтоКаталог
  • НачатьПроверкуЭтоФайл
  • НачатьУстановкуВремениИзменения
  • НачатьУстановкуНевидимости
  • НачатьУстановкуТолькоЧтения
  • НачатьУстановкуУниверсальногоВремениИзменения
  • ПолучитьВремяИзменения
  • ПолучитьКартинкуПредставленияФайлаБиблиотекиМобильногоУстройства
  • ПолучитьНевидимость
  • ПолучитьПредставлениеФайлаБиблиотекиМобильногоУстройства
  • ПолучитьТолькоЧтение
  • ПолучитьУниверсальноеВремяИзменения
  • Размер
  • Существует
  • УстановитьВремяИзменения
  • УстановитьНевидимость
  • УстановитьТолькоЧтение
  • УстановитьУниверсальноеВремяИзменения
  • ЭтоКаталог
  • ЭтоФайл

Некоторые методы по своей сути делают одно и то же действие, например, НачатьУстановкуТолькоЧтения и УстановитьТолькоЧтение. Методы, которые начинаются с «Начать*», предназначены для работы в асинхронном режиме, они доступны только на клиентах, а вот их «братья» доступны и на сервере. При работе на клиенте с файлами рекомендуется использовать асинхронные методы, однако методы без префикса «Начать» также доступны на клиенте. При использовании таких методов в веб-клиенте нужно будет подключать расширение по работе с файлами (как это сделать, будет рассмотрено ниже в статье).

Пример кода работы с объектом Файл:

Данный код устанавливает признак только чтения у всех файлов “*.doc” на диске C:.

Пример этого же алгоритма, но с использованием асинхронных методов:

Писать асинхронный код очень неудобно, он получается громоздкий, но именно асинхронный подход надо применять, а особенно – при разработке для web клиента.

Работа с файлами в клиент-серверной архитектуре

При работе в клиент-серверной архитектуре мы не можем работать с файлом на сервере, который был выбран на клиенте, т.к. сервер и клиент – это физически две разных машины. Чтобы решить эту проблему, мы должны передать файл из клиента на сервер, используя временное хранилище.

Пример синхронного кода:

Для передачи файлов существуют также такие асинхронные методы, как:

Вместо функции ПолучитьИзВременногоХранилища также можно использовать функцию ПолучитьФайл.

Работа с файлами в web-клиенте

Для работы с файлами в веб-клиенте необходимо расширение работы с файлами, делается это функциями:

Читайте также:  Vba поиск файла в папке

В БСП (подсистема ПодключаемоеОборудование) уже есть метод, который использует указанные выше функции.

Если у вас используется web клиент, рекомендуется использовать следующую конструкцию:

Ссылка на основную публикацию
Унитаз лира киров отзывы
Сырье также используется импортное, тщательно отобранное и экологически чистое — глина, гипс, каолин, полевой шпат, красители. Гарантия на производимые компанией...
Тор браузер андроид 4pda
Браузер Тор доступен не только для компьютеров и ноутбуков под управлением различных операционных систем. Разработчики обеспокоились и его выпуском для...
Тор браузер без установки
Tor Browser (ранее он назывался Tor Browser Bundle) – наиболее защищенный интернет-обозреватель из представленных в настоящий момент. Ввиду высокой популярности...
Унитаз ресса киров отзывы
Мы предлагаем унитазы росссийского производителя Роза (Киров). В нашем каталоге собрано 30 моделей по цене от 3 090р. Перейдите по...
Adblock detector