Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 12:35

Управляемая форма, вставить фото

Автор forumlarin, 18 сен 2011, 18:50

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

forumlarin

Создал справочник сотрудники, добавил реквизит фото, добавил Форму элемента справочника, на форме элемента у реквизита Фото сделал вид "Поле картинки", подскажите как делать дальше ?

comol

УТ 11 справочник номенклатуры посмотрите
Статьи по оптимизации 1С: http://comol.livejournal.com/

forumlarin

Смотрел для меня все связать в едино сложно

forumlarin


ilyay

На форме - поле картинки, путь к данным АдресКартинки
Реквизит формы - Адрес картинки типа Строка, длина 0
На форме кнопка к команде. Код команды:

   Перем ВыбранноеИмя,АдресВременногоХранилища;
   Если ПоместитьФайл(АдресВременногоХранилища, "", ВыбранноеИмя, Истина, УникальныйИдентификатор) Тогда
      АдресКартинки = АдресВременногоХранилища;
      Модифицированность = Истина;
   КонецЕсли;

У меня фотография хранится в подчиненном справочнике "Фотобанк", чтобы не перегружать объемом данных основной справочник.
реквизиты: фото (хранилищезначения) и основноефото (булево)

Форма - ПриЗаписиНаСервере:
   ЗаписьФотографии(АдресКартинки, ТекущийОбъект.Ссылка);

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



Теги:

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

Рейтинг@Mail.ru

Поиск