Двоичные данные файла. Возвращает двоичные данные файла.
// Возвращает двоичные данные файла.
//
// Параметры:
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайл - ссылка на элемент справочника с файлом.
//
// ВызыватьИсключение - Булево - если указать Ложь, то функция будет возвращать Неопределено
// вместо вызова исключений. Значение по умолчанию - Истина.
//
// Возвращаемое значение:
// ДвоичныеДанные, Неопределено - двоичные данные присоединенного файла. Если двоичные данные файла не найдены
// в информационной базе или в томах, вызывает исключение. Если двоичные данные не
// найдены и параметр ВызыватьИсключение принимает значение Ложь, тогда
// возвращаемое значение - Неопределено.
//
Функция ДвоичныеДанныеФайла(Знач ПрисоединенныйФайл, Знач ВызыватьИсключение = Истина) Экспорт
ОбщегоНазначенияКлиентСервер.ПроверитьПараметр("РаботаСФайлами.ДвоичныеДанныеФайла", "ПрисоединенныйФайл",
ПрисоединенныйФайл, Метаданные.ОпределяемыеТипы.ПрисоединенныйФайл.Тип);
ФайлОбъект = РаботаСФайламиСлужебный.ФайлОбъект(ПрисоединенныйФайл);
Если ФайлОбъект = Неопределено
И Не ВызыватьИсключение Тогда
Возврат Неопределено;
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
Если ФайлОбъект.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВИнформационнойБазе Тогда
Результат = ХранилищеФайлаИзИнформационнойБазы(ФайлОбъект.Ссылка);
Если Результат <> Неопределено Тогда
Возврат Результат.Получить();
ИначеЕсли Не ВызыватьИсключение Тогда
Возврат Неопределено;
КонецЕсли;
// Запись в журнал регистрации.
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Двоичные данные файла отсутствуют в регистре ДвоичныеДанныеФайла
|
|Ссылка на файл: ""%1"".'"),
ПолучитьНавигационнуюСсылку(ПрисоединенныйФайл));
ЗаписьЖурналаРегистрации(НСтр("ru = 'Файлы.Открытие файла'", ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,
Метаданные.Справочники[ПрисоединенныйФайл.Метаданные().Имя],
ПрисоединенныйФайл,
СообщениеОбОшибке);
ПредставлениеВладельцаФайла = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Присоединен к %1 : %2'"),
Строка(ТипЗнч(ФайлОбъект.ВладелецФайла)),
ФайлОбъект.ВладелецФайла);
ВызватьИсключение РаботаСФайламиСлужебный.ОшибкаФайлНеНайденВХранилищеФайлов(
ФайлОбъект.Наименование + "." + ФайлОбъект.Расширение,
Ложь,
ПредставлениеВладельцаФайла);
Иначе
ПолныйПуть = РаботаСФайламиСлужебный.ПолныйПутьТома(ФайлОбъект.Том) + ФайлОбъект.ПутьКФайлу;
Попытка
Возврат Новый ДвоичныеДанные(ПолныйПуть);
Исключение
Если Не ВызыватьИсключение Тогда
Возврат Неопределено;
КонецЕсли;
// Запись в журнал регистрации.
СообщениеОбОшибке = ТекстОшибкиПриПолученииФайла(ИнформацияОбОшибке(), ПрисоединенныйФайл);
ЗаписьЖурналаРегистрации(НСтр("ru = 'Файлы.Получение файла из тома'", ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,
Метаданные.Справочники[ПрисоединенныйФайл.Метаданные().Имя],
ПрисоединенныйФайл,
СообщениеОбОшибке);
ПредставлениеВладельцаФайла = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Присоединен к %1 : %2'"),
Строка(ТипЗнч(ФайлОбъект.ВладелецФайла)),
ФайлОбъект.ВладелецФайла);
ВызватьИсключение РаботаСФайламиСлужебный.ОшибкаФайлНеНайденВХранилищеФайлов(
ФайлОбъект.Наименование + "." + ФайлОбъект.Расширение,
,
ПредставлениеВладельцаФайла);
КонецПопытки;
КонецЕсли;
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ДанныеФайлаИДвоичныеДанные (БСП)
ПоставляемыеДанныеИзКэша (БСП)
ХранилищеФайлаИзИнформационнойБазы (БСП)
ЗаписатьФайлВИнформационнуюБазу (БСП)
ДанныеПисьмаДляСохраненияКакФайл (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)