8.х Не отображается картинка

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем AlenkaInt, 2 мар 2014.

  1. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Здравствйуте. Обычная форма. Есть справочник. Реквизиты Каталог(строка), ХрЗнч(ХранилищеЗначения). Реквизит на форме Данные(произвольный тип).
    В модуле формы такой код.
    Код:
    Процедура Кнопка1Нажатие(Элемент)
        ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
        ДиалогВыбораФайла.ПолноеИмяФайла = "";
        Текст = "ru = ""Текст""; en = ""Text""";
        ДиалогВыбораФайла.МножественныйВыбор = Ложь;
        ДиалогВыбораФайла.Заголовок = "Выберите файл";
        Если ДиалогВыбораФайла.Выбрать() Тогда
            ИмяФайла = ДиалогВыбораФайла.ПолноеИмяФайла;
            Картинка = Новый ДвоичныеДанные(ИмяФайла);
            Данные = Картинка;
            Каталог = ПоместитьВоВременноеХранилище(Картинка);
            Модифицированность = Истина;
            КонецЕсли;
    КонецПроцедуры
    &НаСервере
    Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
        Если Данные <> Неопределено Тогда
            ХранилищеКартинки = Новый ХранилищеЗначения(Данные, Новый СжатиеДанных());
            ЭтаФорма.ХрЗнач = ХранилищеКартинки;
        КонецЕсли;
    КонецПроцедуры
    Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
    Каталог = ПолучитьНавигационнуюСсылку(ЭтаФорма.Ссылка, "ХрЗнч");  
    КонецПроцедуры
    Не знаю как отобразить картинку на форме. На форме есть поле картинки, но я не знаю как к ней обратиться.
  2. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    На обычных формах команда постпроцессора &НаСервере не используется, там команда #Если Сервер
    Код:
    Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
        Если Данные <> Неопределено Тогда
            ХранилищеКартинки = Новый ХранилищеЗначения(Данные, Новый СжатиеДанных());
            ЭтаФорма.ХрЗнач = ХранилищеКартинки;
        КонецЕсли;
    КонецПроцедуры
    Не вижу кто такой у Вас ДАННЫЕ?

    Код:
    Элементы.ПолеКартинки.ТутСамНеПомнюСвойствоПосмотритеВ_СП = Картинка.
  3. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Данные это реквизит на форме. Просто добавила на закладке Реквизиты - Данные с произвольным типом.
  4. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Насколько я поняла, проблема в том, что в обычных формах не отрабатывает момент
    Каталог = ПоместитьВоВременноеХранилище(Картинка);
    Я смотрела в управляемых если на форму вынести реквизит с типом "строка", который будет содержать адрес временного хранилища, то форма сможет отобразить сами графические данные.
    В обычных я не могу создать поле картинки и привязать к нему строковый реквизит с адресом..
  5. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Разобралась. Надо было воспользоваться методом ПолучитьИзВременногоХранилища(АдресКартинки).

Поделиться этой страницей