Открыть диалог выбора файла 1C

Не асинхронный метод выбора файла в 1С

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

Параметры объекта ДиалогВыбораФайла:

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

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

 
Процедура ПутьКФайлуНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)  
СтандартнаяОбработка = Ложь;  
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); 

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

Диалог выбора каталог

Режим = РежимДиалогаВыбораФайла.ВыборКаталога; 
ДиалогОткрытия = Новый ДиалогВыбораФайла(Режим); 
ДиалогОткрытия.Каталог = ""; 
ДиалогОткрытия.МножественныйВыбор = Ложь; 
ДиалогОткрытия.Заголовок = "Выберите каталог"; 

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

Асинхронный метод выбора файла в 1С

С появлением веб-клиентов понадобился асинхронный диалог с клиентом.

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

// Отказываемся от стандартной обработки процедуры
СтандартнаяОбработка = Ложь;

// Создаем диалог выбора файла и указываем для чего он будет использоваться
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
// Задаем фильтр доступных расширений файлов для выбора
Диалог.Фильтр = НСтр(«ru=’Книга Excel 97 (*.xls)|*.xls|Книга Excel 2007 (*.xlsx)|*.xlsx’»);
// Задаем текст заголовка окна выбора
Диалог.Заголовок = НСтр(«ru=’Выберите файл Excel’»);
// Создаем объект ОписаниеОповещения, который будет передан в метод Показать
ОповещениеЗавершения = Новый ОписаниеОповещения(«ВыборФайлаЗавершение», ЭтотОбъект);
// Открываем окно выбора файла
Диалог.Показать(ОповещениеЗавершения);

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

Процедура выполняемая после выбора файла

&НаКлиенте
Процедура ВыборФайлаЗавершение(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт

Если ВыбранныеФайлы <> Неопределено Тогда

ПутьКФайлу = ВыбранныеФайлы[0];

КонецЕсли;

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

Выбор файла средствами БПС в 1С

Создаем реквизит формы например с именем ИмяФайлаЗагрузки, кидаем его на форму и устанавливаем свойство Кнопка выбора в Да.

Для события НачалоВыбора пишем процедуру.

&НаКлиенте
Процедура ПутьКФайлуНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
	
	НастройкиДиалога = Новый Структура; 
	НастройкиДиалога.Вставить("Режим",     РежимДиалогаВыбораФайла.Открытие);
	НастройкиДиалога.Вставить("Заголовок", НСтр("ru= 'Укажите файл Excel'"));
	НастройкиДиалога.Вставить("Фильтр", НСтр("ru='Книга Excel (*.xlsb)|*.xlsb|Книга Excel 2007 (*.xlsx)|*.xlsx|Книга Excel 97 (*.xls)|*.xls|OpenDocument  (*.ods)|*.ods'"));

	ОбменДаннымиКлиент.ОбработчикВыбораФайла(ЭтотОбъект, "ИмяФайлаЗагрузки", СтандартнаяОбработка, НастройкиДиалога);    
	
КонецПроцедуры

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *