В начало

Справочник Сотрудники с фотографиями

 

            Проверка загрузки фотографий для справочника «Сотрудники».

            Для загрузки фотографий в справочник «Сотрудники» необходимо создать в справочнике реквизит ссылочного типа на вспомогательный справочник «Файлы».

 

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

 

Затем создать форму элемента. На форме нужно создать реквизит «Фото» с типом «Строка» и элемент формы «Фото» с видом «Поле картинки». Также надо разместить кнопку, создав команду «ДобавитьКартинку».

Рис. Форма элемента справочника «Сотрудники»

 

            Во вспомогательном справочнике также нужно будет создать форму элемента с аналогичным реквизитом «Фото» и элементом формы «Фото».

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

 

            В модуле формы элемента справочника «Сотрудники» будет три процедуры: две для загрузки картинки/фото и одна для ее отображения.

 

Листинг. Процедуры модуля формы элемента справочника «Сотрудники»

&НаСервере

Процедура УстановитьКартинку()

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

            НовыйФайлКартинки.Файл = Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(Фото));

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

            Фото = ПоместитьВоВременноеХранилище(НовыйФайлКартинки.Файл.Получить());

            НовыйФайлКартинки.Записать();

            Объект.Картинка = НовыйФайлКартинки.Ссылка;

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

 

&НаКлиенте

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

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

            ПутьФайла = "";

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

                        Фото = ПутьФайла;

                        УстановитьКартинку();

            КонецЕсли;

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

 

&НаСервере

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

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

            Элементы.Фото.РазмерКартинки = РазмерКартинки.АвтоРазмер;

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

 

            Для отображения картинок в справочнике «Файлы» надо разместить обработчик «ПриСозданииНаСервере» в модуле формы элемента.

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

&НаСервере

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

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

            Элементы.Фото.РазмерКартинки = РазмерКартинки.АвтоРазмер;

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

 

            Затем проверяем работу в пользовательском режиме.

Рис. Форма списка справочника «Сотрудники»

 

Рис. Форма элемента справочника «Сотрудники»

 

Рис. Справочник «Файлы», формы списка и элемента

 

            Вроде работает.