Вход | Регистрация

1С:Предприятие ::

Метки: 

Картинка и поле HTML

Я
   Taliesien
 
29.03.18 - 15:39
Добрый день, коллеги.

Встала проблема выводить jpegи на управляемую форму в тонком клиенте. Интересует вывод в поле HTML, так как файлов может быть много, и заранее не известно сколько их будет.

Так вот, создавать временные файлы не хотелось бы, потому что я ленив, а их потом ещё и удалять надо будет. Пытался вставлять навигационную ссылку и адрес временного хранилища, но не работает. Гугление показало что у всех прекрасно работает ВременноеХранилище.

Сделал набросок используемого кода. Подскажите в чем моя ошибка.

&НаКлиенте
Процедура Получить(Команда)
    
    ДанныеФайла =  ПолучитьДанныеФайла (файл, УникальныйИдентификатор);
    АдресВременногоХранилища = ДанныеФайла.АдресВременногоХранилища;
    НавигационнаяСсылка = ДанныеФайла.НавигационнаяСсылка;
        
    ИмяВременногоФайла = ПолучитьИмяВременногоФайла(ДанныеФайла.Расширение);
    ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресВременногоХранилища); 
    ДвоичныеДанные.Записать(ИмяВременногоФайла);    
    
    КартинкаТэг = "<img src="""+ АдресВременногоХранилища +"""></img>";
    ПолеХТМЛ = "<html>
    |  <body>         
    |    " + КартинкаТэг + "    
    |  </body>
    |</html>  ";
    
    КартинкаТэг2 = "<img src="""+ НавигационнаяСсылка +"""></img>";
    ПолеХТМЛ2 = "<html>
    |  <body>         
    |    " + КартинкаТэг2 + "    
    |  </body>
    |</html>  ";

    КартинкаТэг3 = "<img src="""+ ИмяВременногоФайла +"""></img>";
    ПолеХТМЛ3 = "<html>
    |  <body>         
    |    " + КартинкаТэг3 + "    
    |  </body>
    |</html>  ";    
    
КонецПроцедуры

&НаСервереБезКонтекста
Функция  ПолучитьДанныеФайла   (файл, УникальныйИдентификатор)
    
    ДанныеКартинки = Новый Структура;
    ДанныеКартинки.Вставить("АдресВременногоХранилища", "");
    ДанныеКартинки.Вставить("АдресВременногоХранилищаКартинки", "");
    ДанныеКартинки.Вставить("НавигационнаяСсылка", "");
    ДанныеКартинки.Вставить("Расширение", "");

    Запрос = Новый Запрос;
    Запрос.Текст = "...";
    
    Запрос.УстановитьПараметр("Ссылка", Файл);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    ВыборкаДетальныеЗаписи.Следующий();
    
    Если ВыборкаДетальныеЗаписи.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВИнформационнойБазе Тогда             
        ДвоичныеДанные = ВыборкаДетальныеЗаписи.ХранимыйФайл.Получить();                            
    ИначеЕсли ВыборкаДетальныеЗаписи.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске Тогда
        ДвоичныеДанные = "";//на перспективу

    КонецЕсли;
                         
    //ФайлОбъект = Файл.ПолучитьОбъект();

    //ФайлОбъект.ПредставлениеФайлаJPG.Очистить();

    //НоваяСТрока = ФайлОбъект.ПредставлениеФайлаJPG.Добавить();

    //НоваяСТрока.Хранилище = Новый ХранилищеЗначения(ДвоичныеДанные);

    //ФайлОбъект.ОбменДанными.Загрузка = Истина;

    //ФайлОбъект.Записать();

    
    АдресВременногоХранилища = ПоместитьВоВременноеХранилище(ДвоичныеДанные, УникальныйИдентификатор);
    АдресВременногоХранилищаКартинки = ПоместитьВоВременноеХранилище(Новый Картинка(ДвоичныеДанные), УникальныйИдентификатор); 
    НавигационнаяСсылка =  ПолучитьНавигационнуюСсылку(Файл, "ПредставлениеФайлаJPG.Хранилище", 0);

    ДанныеКартинки.АдресВременногоХранилища = АдресВременногоХранилища;
    ДанныеКартинки.АдресВременногоХранилищаКартинки = АдресВременногоХранилищаКартинки;
    ДанныеКартинки.НавигационнаяСсылка = НавигационнаяСсылка;
    ДанныеКартинки.Расширение =  ВыборкаДетальныеЗаписи.Расширение;
    
    Возврат ДанныеКартинки;    
    
КонецФункции
 
  Рекламное место пустует
   Taliesien
 
1 - 30.03.18 - 09:34
ап


Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует