Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
30 сен 2024, 00:37

Картинка в СКД

Автор magnifico61, 02 авг 2017, 08:55

0 Пользователей и 1 гость просматривают эту тему.

magnifico61

Если ТипЗнч(ТекПолеРасшифровки) = Тип("СправочникСсылка.НоменклатураПрисоединенныеФайлы")
и ЗначениеЗаполнено(ТекПолеРасшифровки)  Тогда

    Попытка
Рисунок = ПрисоединенныеФайлы.ПолучитьДвоичныеДанныеФайла(ТекПолеРасшифровки);
    Исключение
Рисунок = Неопределено;
    КонецПопытки;

Если Рисунок <> Неопределено Тогда

ТекЯчейка.ВысотаСтроки = 100;
        ТекЯчейка.ШиринаКолонки = 20;

Рис = ДокументРезультат.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
        Рис.РазмерКартинки = РазмерКартинки.Пропорционально;
Рис.Картинка = Новый картинка(Рисунок);
        Рис.Расположить(ТекЯчейка);

КонецЕсли;
КонецЕсли;

Функция ПолучитьДвоичныеДанныеФайла(Знач ПрисоединенныйФайл) Экспорт

ФайлОбъект = ПрисоединенныйФайл.ПолучитьОбъект();

УстановитьПривилегированныйРежим(Истина);

Если ФайлОбъект.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВИнформационнойБазе Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПрисоединенныеФайлы.ПрисоединенныйФайл,
| ПрисоединенныеФайлы.ХранимыйФайл
|ИЗ
| РегистрСведений.ПрисоединенныеФайлы КАК ПрисоединенныеФайлы
|ГДЕ
| ПрисоединенныеФайлы.ПрисоединенныйФайл = &ПрисоединенныйФайл";

Запрос.УстановитьПараметр("ПрисоединенныйФайл", ПрисоединенныйФайл);
Выборка = Запрос.Выполнить().Выбрать();

Если Выборка.Следующий() Тогда
Возврат Выборка.ХранимыйФайл.Получить();
Иначе
ВызватьИсключение ФайловыеФункцииСлужебныйКлиентСервер.ОшибкаФайлНеНайденВХранилищеФайлов(
ФайлОбъект.Наименование + "." + ФайлОбъект.Расширение, Ложь);
КонецЕсли;
Иначе
ПолныйПуть = ФайловыеФункцииСлужебный.ПолныйПутьТома(ФайлОбъект.Том) + ФайлОбъект.ПутьКФайлу;

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

ВызватьИсключение ФайловыеФункцииСлужебныйКлиентСервер.ОшибкаФайлНеНайденВХранилищеФайлов(
ФайлОбъект.Наименование + "." + ФайлОбъект.Расширение);
КонецПопытки;
КонецЕсли;

КонецФункции
       

Отображает вместо картинки ссылку на нее, в чем проблема?
Не получается получить двоичные данные
Возврат Новый ДвоичныеДанные(ПолныйПуть) - это не проходит

magnifico61

в файловой базе картинка вывелась, а вот в серверной нет.
Файлы хранятся в сетевом каталоге

oleg-x

Как вариант:
Если управляемые приложения, тогда фалы должны располагаться там же где и терминал-сервер 1С.
Помог, нажми спасибо. Не помог, нажми спасибо :-)
Если у Вас есть проблема, то её уже кто то решил @Yandex, @Google

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск