1CLenta.ru  

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

Программирование системы     26.04.2016 10:54     90040

При создании обработок или в процессе разработки конфигураций может возникнуть необходимость организовать выбор файла на форме. Для этой цели в платформе 1С есть все необходимые инструменты.

Обычное приложение


В обычном приложение необходимо добавить на форму элемент "Поле ввода" и установить галочку напротив свойства "КнопкаВыбора". В событии "НачалоВыбора" прописать функцию, которая будет предоставлять выбор
файла. Функцию добавить в модуль формы.

Управляемое приложение


В управляемом приложении сначала необходимо создать реквизит формы. Затем для этого реквизита на форму надо добавить элемент "Поле" и установить для свойства "КнопкаВыбора" значение "Да". И так же как в обычном приложении, в событии "НачалоВыбора", прописать функцию. Функция будет расположена в модуле
формы. В отличии от обычного приложения перед функцией надо прописать &НаКлиенте.

Параметры объекта ДиалогВыбораФайла:
  • Заголовок - заголовок окна выбора фйлов
  • ИндексФильтра - индекс активного фильтра
  • Каталог - текущий каталог выбора файла
  • МножественныйВыбор - задаёт возможность выбора нескольких файлов
  • ПолноеИмяФайла - имя выбранного файла
  • ПредварительныйПросмотр - отображение окна предварительного просмотра содержимого файла
  • ПроверятьСуществованиеФайла - определяет проверять существование файла
  • Расширение - расширения для записи файлов
  • Режим - РежимДиалогаВыбораФайла.(ВыборКаталога, Открытие, Сохранение)
  • Фильтр - строка с файловыми фильтрами

Выбор одного файла


Процедура ПутьКФайлуНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

СтандартнаяОбработка = Ложь;
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Диалог.Заголовок = "Выбор файла";
Диалог.Фильтр = "Excel файлы(*.xls;*.xlsx)|*.xls;*.xlsx";
Диалог.ИндексФильтра = 0;
Диалог.ПредварительныйПросмотр = Ложь;
Диалог.ПроверятьСуществованиеФайла = Истина;
Диалог.МножественныйВыбор = Ложь;
Диалог.ПолноеИмяФайла = ПутьКФайлу;

Если Диалог.Выбрать() Тогда
ПутьКФайлу = Диалог.ПолноеИмяФайла;
КонецЕсли;

КонецПроцедуры

Множественный выбор файлов


Процедура ПутьКФайлуНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

СтандартнаяОбработка = Ложь;
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Диалог.Заголовок = "Выбор файла";
Диалог.Фильтр = "Excel файлы(*.xls;*.xlsx)|*.xls;*.xlsx";
Диалог.ИндексФильтра = 0;
Диалог.ПредварительныйПросмотр = Ложь;
Диалог.ПроверятьСуществованиеФайла = Истина;
Диалог.МножественныйВыбор = Истина;
Диалог.ПолноеИмяФайла = ПутьКФайлу;

Если Диалог.Выбрать() Тогда

МассивФайлов = Диалог.ВыбранныеФайлы;
Для Каждого ИмяФайла Из МассивФайлов Цикл
//Обработка файлов
//...
//...
//...
КонецЦикла


КонецЕсли;

КонецПроцедуры

Комментарии (0)