Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
18 окт 2021, 19:36

Не получается вывести картинку товара в поле картинки

Автор vlad_, 11 окт 2016, 12:33

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

vlad_

В справочнике есть табличная часть "товары"..  в ней реквизит номенклатура. кроме того в таб части реквизит "ХранилищеИзображения" с типом ХранилищеЗначения.. Ещё на форме поле "АдресКартинки" с типом поле картинки и кнопка "Добавить изображение".. При нажатии на кнопку для активной строки номенклатуры должна происходить загрузка картинки. при активизации любой строки из ТЧ картинка должна выводиться в поле "АдресКартинки"..  у меня загружается но при смене строки пропадает с поля..  в чём ошибка???  помогите пожалуйста..

vlad_


// процедура нажатие на кнопку "Добавить изображение"
//
&НаКлиенте
Процедура ДобавитьИзображение(Команда)

ТекСтрока = Элементы.Товары.ТекущиеДанные;

Если ТекСтрока = Неопределено Тогда
Возврат;
КонецЕсли;

Режим = РежимДиалогаВыбораФайла.Открытие;
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
ДиалогОткрытияФайла.ПолноеИмяФайла = "";
Фильтр = "Изображения(*.bmp,*.jpg,*.png,*.jpeg)|*.bmp;*.jpg;*.png;*.jpeg";
ДиалогОткрытияФайла.Фильтр = Фильтр;
ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
ДиалогОткрытияФайла.Заголовок = "Выберите файл для загрузки";

Если Не ДиалогОткрытияФайла.Выбрать() Тогда

Возврат;

КонецЕсли;

ПолноеИмяФайла = ДиалогОткрытияФайла.ПолноеИмяФайла;

АдресКартинки = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ПолноеИмяФайла), ЭтотОбъект.УникальныйИдентификатор);

ДобавитьИзображениеНаСервере(ТекСтрока.НомерСтроки - 1, АдресКартинки);   

КонецПроцедуры

&НаСервере
Процедура ДобавитьИзображениеНаСервере(ИдСтроки,  АдресКартинки);   


ТекОбъект = РеквизитФормыВЗначение("Объект");
текСтрока = ТекОбъект.Товары[ИдСтроки];

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


ЗначениеВРеквизитФормы(ТекОбъект, "Объект");

КонецПроцедуры


//процедура при создании формы на сервере
//
&НаСервере                                                         
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

ТекСтрока = Элементы.Товары.ТекущаяСтрока;


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

КонецПроцедуры

//Отображение картинки при переходе по строкам
//
&НаКлиенте
Процедура ТоварыПриАктивизацииСтроки(Элемент)

ТекСтрока = Элемент.ТекущиеДанные;
Если ТекСтрока = Неопределено Тогда
Возврат;
КонецЕсли;

АдресКартинки = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "Товары.ХранилищеИзображения", ТекСтрока.НомерСтроки-1);

ТоварыПриАктивизацииСтрокиНаСервере(ТекСтрока.НомерСтроки-1);

КонецПроцедуры

&НаСервере
Процедура ТоварыПриАктивизацииСтрокиНаСервере(ИдСтроки)

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

КонецПроцедуры


Добавлено: 11 окт 2016, 18:01



Теги:

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

Рейтинг@Mail.ru Rambler's Top100

Поиск