ПолучитьНавигационнуюСсылкуВоВременномХранилище (БСП)

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

Получить навигационную ссылку во временном хранилище. Делает ПоместитьВоВременноеХранилище (если файл хранится на диске) и возвращает нужную ссылку.

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

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

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

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

НавигационнойСсылкиФайла (БСП)

Получить ссылку из навигационной ссылки

Получение ссылки по навигационной ссылке

ПолучитьНавигационнуюСсылкуДляОткрытия (БСП)

ОткрытьНавигационнуюСсылку (БСП)

НавигационнаяСсылкаВебСайта (БСП)

ЭтоНавигационнаяСсылка (БСП)

ОбработкаНавигационнойСсылки (БСП)

ПечатьДокументовОбработкаНавигационнойСсылки (БСП)

Синтакс-помощник БСП с нейросетевым ассистентом