В начало

Справочник «Покупатели» с фотками покупателей

 

            Необходимо добавить загрузку фотографий в справочник «Покупатели».

 

 

Рис. Структура справочников «Покупатели» и «ФайлыКартинок»

 

 

Рис. Формы элемента справочников «Покупатели» и «ФайлыКартинок»

 

Листинг. Форма элемента справочника «Покупатели»

&НаСервере

Процедура ДобавитьФотоНаСервере(ПутьФайлаВХранилище)

            //Создаем новый элемент справочника "ФайлыКартинок"

            //Помещаем в элемент картинку

            //в виде двоичных данных

            НовыйЭл = Справочники.ФайлыКартинок.СоздатьЭлемент();

            ДвоичныеДанные = ПолучитьИзВременногоХранилища(ПутьФайлаВХранилище);

            НовыйЭл.Файл = Новый ХранилищеЗначения(ДвоичныеДанные);

            НовыйЭл.Наименование = Объект.Наименование;

            НовыйЭл.Дата = ТекущаяДата();

            НовыйЭл.Записать();

           

            //устанавливаем значение реквизита

            //справочника "Покупатели"

            Объект.ФотоПокупателя = НовыйЭл.Ссылка;

           

            //Читаем двоичные данные файла

            //Присваиваем их реквизиту формы

            //Так выводится изображение

            ОпятьДвоичныеДанные = НовыйЭл.Файл.Получить();

            ЭтаФорма.рфФотоПокупателя = ПоместитьВоВременноеХранилище(ОпятьДвоичныеДанные);

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

 

&НаКлиенте

Процедура ДобавитьФото(Команда)

            ИмяФайла = "";

            ПутьФайлаВХранилище = "";

           

            //Вызываем диалоговое окно

            //и помещаем файл во временное хранилище

            //ПоместитьФайл(<Адрес>, <НачальноеИмяФайла>, <ВыбранноеИмяФайла>,

            //<Интерактивно>, <УникальныйИдентификаторФормы>)

           

            Если ПоместитьФайл(ПутьФайлаВХранилище, , ИмяФайла, Истина) = Истина Тогда

                        ДобавитьФотоНаСервере(ПутьФайлаВХранилище);

            КонецЕсли;

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

 

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

            //ПолучитьНавигационнуюСсылку(<Объект>, <ИмяРеквизита>, <Индекс>)

            ЭтаФорма.рфФотоПокупателя = ПолучитьНавигационнуюСсылку(Объект.ФотоПокупателя, "Файл");

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

 

Листинг. Модуль формы элемента справочника «ФайлыКартинок»

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

            ЭтаФорма.Реквизит1 = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "Файл");

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

 

Рис. Добавление фотографии покупателя в справочник «Покупатели»

 

Рис. Просмотр файла с фотографией покупателя в справочнике «Файлы картинок»

            Таким образом, фотографии покупателей были загружены в справочник «ФайлыКартинок», а ссылки на них сохранены в справочнике «Покупатели».