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

Не отображается фото сотрудника!

Автор Алексей_1985_06, 16 мар 2022, 18:36

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

Алексей_1985_06

Ребят, всем привет! Знатоков прошу помочь решить вот такой вопрос:
Загружаю фото в справочник "ФотоСотрудников" - если нажать кнопку "Записать" или кнопку "Записать и закрыть"- то при открытии формы фото отображается, а вот если нажать на кнопку "Записать", а потом еще и на "Записать и закрыть" - то при открытии формы фото уже не отображается, хотя адрес в ХЗ есть! В чем загвоздка, никак не могу разобраться... Подскажите пжл!!!
Код ниже:

&НаКлиенте
Процедура ВыбратьФайл(Команда)

ПомещениеФайла = Новый ОписаниеОповещения ("ОкончаниеПомещенияФайла", ЭтотОбъект); 
ХодВыполнения = Новый ОписаниеОповещения ("ХодВыполнения", ЭтотОбъект); 
ПередНачаломПомещения = Новый ОписаниеОповещения ("ПередНачаломПомещения", ЭтотОбъект); 

ПараметрыДиалога = Новый ПараметрыДиалогаПомещенияФайлов();
ПараметрыДиалога.Заголовок = "Выберите фото сотрудника для загрузки";
ПараметрыДиалога.МножественныйВыбор = Ложь;
ПараметрыДиалога.Фильтр = "Фото, рисунок (*.jpg)|*.jpg|Фото, рисунок (*.png)|*.png";
ИдентификаторФормы = ЭтаФорма.УникальныйИдентификатор; // уникальный идентификатор формы

НачатьПомещениеФайлаНаСервер(ПомещениеФайла, ХодВыполнения, ПередНачаломПомещения, АдресКартинки, ПараметрыДиалога, ИдентификаторФормы);

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

&НаКлиенте
Процедура ПередНачаломПомещения (ПомещаемыйФайл, ОтказОтПомещенияФайла, ДополнительныеПараметры) Экспорт 

ОчиститьСообщения(); // если есть сообщения то закроем их

РазмерФайла = ПомещаемыйФайл.Размер();  // определим размер файла в байтах
РазмерФайлаМегаБайты = Окр(РазмерФайла/1024/1024,1) ; // определим размер файла в МегаБайтах
РазмерЗагружаемогоФайла = РазмерФайлаМегаБайты;

Элементы.ГруппаРазмерЗагружаемогоФайла.Видимость = Истина; // видимость шкалы загрузки файла

Если РазмерФайлаМегаБайты > 10 Тогда // 10 МБ
ОтказОтПомещенияФайла = Истина;
Сообщить("Нельзя загрузить файл размером более 10 МБ");
Возврат
КонецЕсли;

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

&НаКлиенте
Процедура ХодВыполнения (ПомещаемыйФайл, Помещено, ОтказОтПомещенияФайла, ДополнительныеПараметры) Экспорт 

Состояние("Файл " + ПомещаемыйФайл.Имя,  Помещено,  "Файл имеет размер: " + Окр(ПомещаемыйФайл.Размер()/1024/1024, 1) + " Мб",  БиблиотекаКартинок.ГербВКА);

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

&НаКлиенте
Процедура ОкончаниеПомещенияФайла (ОписаниеПомещенногоФайла, ДополнительныеПараметры) Экспорт 

Если ОписаниеПомещенногоФайла = Неопределено Тогда  // Если пользователь нажал кнопку "Отмена"
Сообщить("Вы отказались от выбора файла");
Возврат
КонецЕсли;

АдресКартинки = ОписаниеПомещенногоФайла.Адрес; // Адрес во временном хранилище, которое идентифицирует данные (картинку)
Объект.ИмяФайла = ОписаниеПомещенногоФайла.СсылкаНаФайл.Файл.ИмяБезРасширения; // Имя файла
Объект.ТипФайла = ОписаниеПомещенногоФайла.СсылкаНаФайл.Расширение; // Расширение файла

Модифицированность = Истина; 

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


&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)

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

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

&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)

Если  ЭтоАдресВременногоХранилища(АдресКартинки) Тогда 
УдалитьИзВременногоХранилища (АдресКартинки); 
КонецЕсли;

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

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

Если Объект.ИмяФайла = "" Тогда
Возврат
КонецЕсли;

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

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

Оптимус

Цитата: Алексей_1985_06 от 16 мар 2022, 18:36вот если нажать на кнопку "Записать", а потом еще и на "Записать и закрыть"
Просто нажав на "Записать" не нажимайте на кнопку "Записать и закрыть"  ;) 

Теги:

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

Рейтинг@Mail.ru

Поиск