Для того, чтобы добавить гифку или любую другую картинку на форму, необходимо сначала где-то её хранить. В данном случае изображение хранится в двоичных данных в регистре сведений ФотографииФизическихЛиц. На изображении ниже указан сам регистр и ресурс "фотография" с типом данных - "ХранилищеЗначения".

Далее добавим реквизит формы с типом "Строка" и сразу вынесем на форму в нужное вам место.

Теперь перейдем к настройкам нашего элемента формы. Из обязательного необходимо указать вид: "Поле картинки". Если же мы хотим изменять изображение нажатием на него, тогда указываем в Истину значение "Гиперссылка" и назначим какую-либо процедуру событию "Нажатие", в моем случае это процедура из расширения.
Что касается оформления, рекомендую указывать для размера картинки "автоматический размер", а также для расположения убрать галочки на "автоМаксимальнаяШирина", "автоМаксимальнаяВысота", "растягиватьПоГоризонтали", "растягиватьПоВертикали", а ширину и высоту настроить самостоятельно.

Наконец, перейдем к коду. Ниже указана процедура, которую мы назначили для события "Нажатие".
Сначала вызываем окно выбора файла, а после укажем фильтр с форматами, которые разрешено выбрать.
&НаКлиенте
Процедура Д_С_ФотоНажатиеПосле(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Диалог.Заголовок = "Выберите файл с фотографией";
Диалог.ПредварительныйПросмотр = Истина;
Диалог.Фильтр = "Все картинки (*.bmp;*.dib;*.rle;*.jpg;*.jpeg;*.tif;*.gif;*.png;*.ico;*.wmf;*.emf)|*.bmp;*.dib;*.rle;*.jpg;*.jpeg;*.tif;*.gif;*.png;*.ico;*.wmf;*.emf|
|Формат bmp (*.bmp;*.dib;*.rle)|*.bmp;*.dib;*.rle|
|Формат JPEG (*.jpg;*.jpeg)|*.jpg;*.jpeg|
|Формат TIFF (*.tif)|*.tif|
|Формат GIF (*.gif)|*.gif|
|Формат PNG (*.png)|*.png|
|Формат icon (*.ico)|*.ico|
|Формат метафайл (*.wmf;*.emf)|*.wmf;*.emf|";
Если Диалог.Выбрать() Тогда
ДвоичныеДанные = Новый ДвоичныеДанные(Диалог.ПолноеИмяФайла);
Д_С_ЗаписатьНовоеФото(ДвоичныеДанные);
Фото = Д_С_ПолучитьФотоФизическогоЛица();
КонецЕсли;
КонецПроцедуры
После того, как пользователь выбрал картинку мы записываем её в двоичные данные, для последующего их хранения в каком-либо реквизите с типом "ХранилищеЗначения".
ДвоичныеДанные = Новый ДвоичныеДанные(Диалог.ПолноеИмяФайла);
После этого мы вызываем еще две процедуры: "Д_С_ЗаписатьНовоеФото" и "Д_С_ПолучитьФотоФизическогоЛица", начнем по порядку.
Сначала мы должны записать двоичные данные, в данном случае я записываю/перезаписываю их в штатный регистр сведений, о котором говорилось в начале, с помощью "менеджера записи". Для этого необходимо создать сам менеджер записи, а после его измерению "ФизическоеЛицо" присвоить текущее физическое лицо и для ресурса "Фотография" установить ранее полученные двоичные данные.
&НаСервере
Процедура Д_С_ЗаписатьНовоеФото(ДвоичныеДанные)
МенеджерЗаписи = РегистрыСведений.ФотографииФизическихЛиц.СоздатьМенеджерЗаписи();
МенеджерЗаписи.ФизическоеЛицо = Сотрудник.ФизическоеЛицо;
МенеджерЗаписи.Фотография = Новый ХранилищеЗначения(ДвоичныеДанные);
МенеджерЗаписи.Записать();
КонецПроцедуры
Далее идет процедура "Д_С_ПолучитьФотоФизическогоЛица". Тут все легко, мы ищем в регистре фото, которое записали ранее с помощью простого запроса, а потом помещаем его во временное хранилище, для того, чтобы полученный адрес временного хранилища присвоить нашему реквизиту формы "фото". После того как мы это сделаем, картинка будет отображаться на форме.
&НаСервере
Функция Д_С_ПолучитьФотоФизическогоЛица()
АдресВременногоХранилища = "";
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ФотографииФизическихЛиц.Фотография КАК Фотография
|ИЗ
| РегистрСведений.ФотографииФизическихЛиц КАК ФотографииФизическихЛиц
|ГДЕ
| ФотографииФизическихЛиц.ФизическоеЛицо = &ФизическоеЛицо";
Запрос.УстановитьПараметр("ФизическоеЛицо", Сотрудник.ФизическоеЛицо);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выгрузить();
Если Выборка.Количество() Тогда
ДвоичныеДанные = Выборка[0].Фотография.Получить();
АдресВременногоХранилища = ПоместитьВоВременноеХранилище(ДвоичныеДанные);
КонецЕсли;
Возврат АдресВременногоХранилища;
КонецФункции
Также дополнительная процедура "Д_С_УстановитьФотоНаФорму", которую удобно назначать при событиях: "ПриОткрытии", "ПриСозданииНаСервере" и тд. Данная процедура обращается к предыдущей и если находит записанную фотографию в регистре, присваивает её строчному реквизиту с видом "Поле картинки" и выводит изображение.
&НаСервере
Процедура Д_С_УстановитьФотоНаФорму()
Если ЗначениеЗаполнено(Сотрудник.ФизическоеЛицо) Тогда
АдресВременногоХранилища = Д_С_ПолучитьФотоФизическогоЛица();
Если ЗначениеЗаполнено(АдресВременногоХранилища) Тогда
Фото = АдресВременногоХранилища;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Теперь вы можете устанавливать любые изображение в данное поле, в том числе и гифки. Что касается расширения, добавьте его в список расширений вашей конгфигурации, включите, и с помощью описанных выше методов оно отобразит картинку из справочника "ФизическиеЛица" в справочнике "Сотрудники", а также даст возможность заменять картинку.
Проверено на следующих конфигурациях и релизах:
- 1С:ERP Управление предприятием 2, релизы 2.5.22.122
Вступайте в нашу телеграмм-группу Инфостарт