Добавить файл. Открывает диалог выбора файлов для помещения в программу одного выбранного файла.
// Открывает диалог выбора файлов для помещения в программу одного выбранного файла.
//
// Параметры:
// ОбработчикРезультата - ОписаниеОповещения - содержит описание процедуры, вызов которой будет произведен
// после добавления файла со следующими параметрами:
// * Результат - Структура с полями:
// ** ФайлСсылка - ОпределяемыйТип.ПрисоединенныйФайл - ссылка на элемент справочника с файлом,
// если он был добавлен, иначе Неопределено.
// ** ФайлДобавлен - Булево - Истина, если файл добавлен.
// ** ТекстОшибки - Строка - текст ошибки, если файл не был добавлен.
// * ДополнительныеПараметры - значение, которое было указано при создании объекта оповещения.
//
// ВладелецФайла - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - папка файлов или объект, к которому
// требуется прикрепить добавляемый файл.
// ФормаВладелец - ФормаКлиентскогоПриложения - форма, из которой вызвано создание файла.
// РежимСоздания - Неопределено, Число - режим создания файла:
// - Неопределено - показать диалог выбора режима создания файла.
// - Число - создать файл указанным способом:
// * 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 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)