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