ПоставляемыеДанныеИзКэша (БСП)

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

Поставляемые данные из кэша. Возвращает двоичные данные присоединенного файла.

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

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

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

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

ДескрипторПоставляемыхДанныхИзКэша (БСП)

УдалитьПоставляемыеДанныеИзКэша (БСП)

СохранитьПоставляемыеДанныеВКэш (БСП)

ДескрипторыПоставляемыхДанныхИзКэша (БСП)

ПеренестиКэшДанныхКлассификаторов (БСП)

СсылкиПоставляемыхДанныхИзКэша (БСП)

УдалитьКэшПоставляемыхКлассификаторов (БСП)

ОбновитьКэшКлассификатора (БСП)

ПриОпределенииОбработчиковПоставляемыхДанных (БСП)

TurboConf 6 - расширение Конфигуратора 1С