При создании обработок или в процессе разработки конфигураций может возникнуть необходимость организовать выбор файла на форме. Для этой цели в платформе 1С есть все необходимые инструменты.
Обычное приложение В обычном приложение необходимо добавить на форму элемент "Поле ввода" и установить галочку напротив свойства "КнопкаВыбора". В событии "НачалоВыбора" прописать функцию, которая будет предоставлять выбор файла. Функцию добавить в модуль формы.
Управляемое приложение В управляемом приложении сначала необходимо создать реквизит формы. Затем для этого реквизита на форму надо добавить элемент "Поле" и установить для свойства "КнопкаВыбора" значение "Да". И так же как в обычном приложении, в событии "НачалоВыбора", прописать функцию. Функция будет расположена в модуле формы. В отличии от обычного приложения перед функцией надо прописать &НаКлиенте.
Параметры объекта ДиалогВыбораФайла:
- Заголовок - заголовок окна выбора фйлов
- ИндексФильтра - индекс активного фильтра
- Каталог - текущий каталог выбора файла
- МножественныйВыбор - задаёт возможность выбора нескольких файлов
- ПолноеИмяФайла - имя выбранного файла
- ПредварительныйПросмотр - отображение окна предварительного просмотра содержимого файла
- ПроверятьСуществованиеФайла - определяет проверять существование файла
- Расширение - расширения для записи файлов
- Режим - РежимДиалогаВыбораФайла.(ВыборКаталога, Открытие, Сохранение)
- Фильтр - строка с файловыми фильтрами
Выбор одного файла
Процедура ПутьКФайлуНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь; Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Диалог.Заголовок = "Выбор файла"; Диалог.Фильтр = "Excel файлы(*.xls;*.xlsx)|*.xls;*.xlsx"; Диалог.ИндексФильтра = 0; Диалог.ПредварительныйПросмотр = Ложь; Диалог.ПроверятьСуществованиеФайла = Истина; Диалог.МножественныйВыбор = Ложь; Диалог.ПолноеИмяФайла = ПутьКФайлу; Если Диалог.Выбрать() Тогда ПутьКФайлу = Диалог.ПолноеИмяФайла; КонецЕсли;
КонецПроцедуры
Множественный выбор файлов
Процедура ПутьКФайлуНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь; Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Диалог.Заголовок = "Выбор файла"; Диалог.Фильтр = "Excel файлы(*.xls;*.xlsx)|*.xls;*.xlsx"; Диалог.ИндексФильтра = 0; Диалог.ПредварительныйПросмотр = Ложь; Диалог.ПроверятьСуществованиеФайла = Истина; Диалог.МножественныйВыбор = Истина; Диалог.ПолноеИмяФайла = ПутьКФайлу; Если Диалог.Выбрать() Тогда МассивФайлов = Диалог.ВыбранныеФайлы; Для Каждого ИмяФайла Из МассивФайлов Цикл //Обработка файлов //... //... //... КонецЦикла
КонецЕсли; КонецПроцедуры
|