Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
13 Дек 2017, 08:39
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Вывод картинки на форму  (Прочитано 8041 раз)

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

Оффлайн Olgir

  • *
  • Сообщений: 10
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-08
  • Сайт: 
  • Профессия: Программист 8.1
Ситуация такая - в базе хранится картинка в виде ХранилищеЗначения. Мне нужно вывести ее на форму.

Как картинка попала в базу:

&НаКлиенте
Процедура ЗаписатьДанные()
МояКартинка = Новый Картинка(ПутьКФайлу);
ЗаписатьНаСервере(МояКартинка, Объект.Наименование);
КонецПроцедуры

&НаСервере
Процедура ЗаписатьНаСервере(МояКартинка, Наименование)
ХранилищеКартинки = Новый ХранилищеЗначения(МояКартинка);
НоваяКартинка = Справочники.Картинки.СоздатьЭлемент();
НоваяКартинка.Наименование = Наименование;
НоваяКартинка.Картинка = ХранилищеКартинки;
НоваяКартинка.Записать();
КонецПроцедуры;

Как я ее оттуда забираю:

&НаКлиенте
Процедура ШапкаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка);
ШапкаКартинка = ВыбранноеЗначение.Картинка.Получить();
КонецПроцедуры

Где выбранное значение - элемент справочника с картинками, ВыбранноеЗначение.Картинка - реквизит типа ХранилищеЗначения, а ШапкаКартинка - элемнет формы типа Картинка.

После вышеуказанной процедуры ничего не происходит, поле ШапкаКартинка остается пустым. Пробовал делать так:
ИмяФайла = "C:\test.jpg";
ХранилищеКартинки = ВыбранноеЗначение.Картинка.Получить();
ХранилищеКартинки.Записать(ИмяФайла);
Картинка из базы при этом корректно записывается в test.jpg.

Если ставлю на элементе ШапкаКартинка галочку "Гиперссылка", при нажатии на него появляется нужная картинка в новом окне, но на форме в поле по прежнему пусто.

Что я делаю не так? Тапками не бросать - я новичек :). Поясните, пожалуйста, как правильно работать с картинками в базе?


Оффлайн Olgir

  • *
  • Сообщений: 10
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-08
  • Сайт: 
  • Профессия: Программист 8.1
Ах да, это управляемая форма

Оффлайн sergejK74

  • *****
  • Сообщений: 1093
  • РЕПУТАЦИЯ: 458
  • КПД: 42%
  • Всегда готов помочь!
  • Регистрация: 2011-07-08
  • Сайт: 
  • Профессия: Ученик 1С
ПолучитьНавигационнуюСсылку(<Объект>, <ИмяРеквизита>, <Индекс>)
ШапкаКартинка = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "Картинка");
Объект = элемент справочника с картинками
Картинка - реквизит типа ХранилищеЗначения

Кнопочка Спасибо - слева!

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Пример:
&НаКлиенте
Процедура Команда1(Команда)
               
                Адрес = "";
                Выбфайл = "";
                Если ПоместитьФайл(Адрес,,Выбфайл,,УникальныйИдентификатор) Тогда
                               
                               Элементы.Имя.Видимость = Истина;
                               мФайл = Новый Файл(Выбфайл);
                               имя = мФайл.Имя;
                               СсылкаНа = Адрес;
                               
                               Модифицированность = Истина;
                               
                КонецЕсли;
               
КонецПроцедуры

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
               
                Если Объект.ИмяФ <> "" Тогда
                               СсылкаНа = ПолучитьНавигационнуюСсылку(Объект.Ссылка,"Файл");
                КонецЕсли;
                               
КонецПроцедуры

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
               
                Если ЭтоАдресВременногоХранилища(СсылкаНа) Тогда
                               Двд = ПолучитьИзВременногоХранилища(СсылкаНа);
                               ТекущийОбъект.Файл = Новый ХранилищеЗначения(Двд, Новый СжатиеДанных(9));
                               ТекущийОбъект.ИмяФ = Имя;
                КонецЕсли;       
               
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
               
                Если Объект.ИмяФ <> "" Тогда
                               Элементы.Имя.Видимость = Истина;
                КонецЕсли;       
               
КонецПроцедуры
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Olgir

  • *
  • Сообщений: 10
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-08
  • Сайт: 
  • Профессия: Программист 8.1
ПолучитьНавигационнуюСсылку(<Объект>, <ИмяРеквизита>, <Индекс>)
ШапкаКартинка = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "Картинка");
Объект = элемент справочника с картинками
Картинка - реквизит типа ХранилищеЗначения

Что-то не получается. В реквизит ШапкаКартинка попадает строковое значение ссылки, при этом отладчик мне сообщает, что вид картинки - "Пустая". В первоначальном варианте вид картинки - "Абсолютная", но ничего не отображается все равно

Оффлайн Olgir

  • *
  • Сообщений: 10
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-08
  • Сайт: 
  • Профессия: Программист 8.1
Отбой, проблема решена! Как оказалось, элемент Поле картинки должен указывать на реквизит вовсе не типа "Картинка", а реквизит типа "Строка". Разработчикам за такое руки оторвать надо, учитывая, что поле создается автоматом при перетаскивании реквизита "Картинка" на форму.


Теги:
 

Вывод комментария в документ "Расходная накладная" из документа "Заказ покупателя"

Автор ОльгаПлРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 204
Последний ответ 07 Окт 2017, 19:03
от Norfolk
Как открыть программно открыть форму контрагента?

Автор VzonderРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 1340
Последний ответ 18 Янв 2017, 12:32
от sertak
Печать штрих кодов на форму печати выводятся 3 штрих кода на принтер выходит только 2.

Автор ZSSРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 505
Последний ответ 15 Май 2017, 08:59
от ZSS
Передача параметров из ячейки поля табличного документа в форму создания нового документа 1с 8.3

Автор Анна БахановичРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 11
Просмотров: 2999
Последний ответ 18 Фев 2016, 12:50
от Анна Баханович
Как программно открыть форму и закрыть с записью, чтобы отработал метод перед записью

Автор con2rРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 2888
Последний ответ 13 Июн 2017, 12:17
от Whisper

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
172 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
38 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 531
  • Точка Скрытых: 1
  • Точка Пользователей: 11
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal