Как-то у тебя сложно или я чего-то не понял, вообщем так:
Добавление картинки
Действия по установке (загрузке) картинки и ее отображения на форме нашего справочника Сотрудника необходимо выполнять на стороне сервера. Это особенность работы системы с файлами. Именно для этого в тексте процедуры ДобавитьКартинку осуществляется вызов другой процедуры УстановитьКартинку(), которая будет выполняться на сервере.
В программном модуле, ниже процедуры ДобавитьКартинку(Команда) пишем следующий программный код:
1) я в ообщей форме помещаю данные в ХранилищеЗначений. (данные заполнены)
2) При нажатии кпонки на общей форме создаются элементы справочника. Все данные из хранилища заполняются в элементе спр, а вот с картикой проблема. Я сейчас еще разок книгу читану. Где то рядом брожу.(Процедура ОбработкаВыбора)
&НаСервереПроцедура ОбработкаВыбораПодборНаСервере(ВыбранноеЗначение) ТаблицаФайлов = ПолучитьИзВременногоХранилища(ВыбранноеЗначение.АдресХЗ); Для Каждого СтрокаФайл Из ТаблицаФайлов Цикл Файл = Новый Файл(СтрокаФайл.Значение.Имя); ХранимыйФайл = Справочники.ХранилищеДанныхСправочники.СоздатьЭлемент();
// ????????
.ХранимыйФайл.ДанныеХЗ = Новый ХранилищеЗначения(СтрокаФайл.Значение.Хранение, Новый СжатиеДанных());
В новой версии платформы 1С 8.2 работа с картинками производится отличным от предыдущих платформ методом, разобраться с которым без примеров сложно. Подробно можно прочитать в книге Разработка управляемого интерфейса глава 3.18. Работа с файлами и картинками. Примеры данной статья являются переработанными и дополненными примерами книги.
Картинка как и раньше (8.1) хранится в базе в реквизите (реквизите ТЧ) с типом ХранилищеЗначения, но записать данные в реквизит с этим типом обычном способом нельзя, запись производится в предопределенной процедуре «ПередЗаписьюНаСервере».
Для отображения картинки создается элемент формы поле картинки, данными для которого, является реквизит формы (с типом Строка(0)), содержащий навигационную ссылку на картинку (можно получить функцией «ПолучитьНавигационнуюСсылку») или адрес во временном хранилище (пол.ф. «ПоместитьФайл»)
Ниже приведен код части примера:
В книге Разработка управляемого интерфейса используется дополнительно поле для сохранения имени файла оно необходимо если нужно чтобы программа запомнила из какой папки пользователь предпочитает добавлять или выгружать файлы.
В процедуре ПриЗаписиНаСервере на первый взгляд можно убрать код удаление из временного хранилища т.к. ф. ПоместитьФайл вызывается с параметром УникальныйИдентификатор формы т.е. объект хранилища будет существовать до закрытия формы, но рекумендуется освобождать ресурсы сразу (если пользователь загрузит картинку и нажмет записать, форма не закрыта и объект будет существовать до закрытия).