ДобавитьФайл

Автор: 1С
ОбщийМодуль.РаботаСФайламиКлиент
БСП

Открывает диалог выбора файлов для помещения в программу одного выбранного файла.

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

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
FastCode - сервис для программистов 1С

Похожие публикации

ДобавитьФайлИзФайловойСистемы (БСП)

ДобавитьФайлыПеретаскиванием (БСП)

ДобавитьФайлСДиска (БСП)

ДобавитьПодписьКФайлу (БСП)

ДобавитьФайлВТом (БСП)

ДобавитьФайлы (БСП)