МожноЛиЗанятьФайл

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

Определить, можно ли занять файл и, если нет, то сформировать текст ошибки.

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

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

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

ЗанятьФайлДляРедактированияСервер (БСП)

ЗанятьФайл (БСП)

ЗанятьСОповещением (БСП)

ЗанятьФайлПоСсылкеПослеУстановкиРасширения (БСП)

ЗанятьФайлыПоСсылкамПослеУстановкиРасширения (БСП)