ВыбратьПутьКРабочемуКаталогу (БСП)

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

Выбрать путь рабочему каталогу. Выбрать путь к рабочему каталогу.

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

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

Рекомендации

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

РабочийКаталогПользователя (БСП)

ВыбратьПутьККаталогуДанныхПользователя (БСП)

УстановитьРабочийКаталогПользователя (БСП)

СохранитьРабочийКаталогПапкиИЗаменитьПутиВРегистре (БСП)

ПроверитьМаксимальнуюДлинуПолногоПутиВРабочемКаталогеПослеПереносаСодержимогоРабочегоКаталога (БСП)

ПолучитьУникальноеИмяСПутем (БСП)

ПроверитьМаксимальнуюДлинуПолногоПутиВРабочемКаталогеНачатьВыборКаталога (БСП)

ПолучитьПолноеИмяФайлаИзРегистра (БСП)

1С Менеджер конфигураций