|
|
|
Не отображается фотография на форме документа | ☑ | ||
|---|---|---|---|---|
|
0
DenchikDev
21.11.25
✎
08:23
|
Доброе утро, может, кто-нибудь сталкивался с тем, что не отображается картинка на форме документа после успешного фотографирования. Камера открывается, делаю фото, после этого ничего не происходит и никаких ошибок нет. Фотография - строковый реквизит с видом Поле картинки. ДанныеФотографии - реквизит с типом Хранилище значения. Вот мой код:
&НаКлиенте Процедура СделатьФотоКлиент() АдресФото = СделатьИПоместитьФото(); Если АдресФото = Неопределено Тогда Возврат; КонецЕсли; Объект.Фотография = АдресФото; ЭтотОбъект.Модифицированность = Истина; КонецПроцедуры &НаКлиенте Функция МожноСделатьФото() #Если МобильныйАвтономныйСервер ИЛИ МобильноеПриложениеКлиент ИЛИ МобильныйКлиент Тогда Возврат СредстваМультимедиа.ПоддерживаетсяФотоснимок(); #Иначе Сообщить(НСтр("ru='Данное устройство не поддерживает возмоность фотографировать'")); #КонецЕсли Возврат Ложь; КонецФункции &НаКлиенте Функция ПолучитьДанныеСнимка() #Если МобильноеПриложениеКлиент ИЛИ МобильныйКлиент Тогда ТипКамеры = ТипКамерыУстройства.Задняя; РазрешениеКамеры = РазрешениеФотографииПоУмолчанию(); Если РазрешениеКамеры = Неопределено Тогда Сообщить("Не удалось определить разрешение камеры"); Возврат Неопределено; КонецЕсли; Данные = СредстваМультимедиа.СделатьФотоснимок(ТипКамеры, РазрешениеКамеры, КачествоФотографииПоУмолчанию()); Возврат Данные; #КонецЕсли Возврат Неопределено; КонецФункции &НаКлиенте Функция КачествоФотографииПоУмолчанию() Возврат 70; КонецФункции &НаКлиенте Функция РазрешениеФотографииПоУмолчанию() #Если МобильноеПриложениеКлиент Или МобильныйКлиент Тогда ПоддерживаемыеРазрешения = СредстваМультимедиа.ПолучитьПоддерживаемыеРазрешенияКамеры(); Если ПоддерживаемыеРазрешения.Количество() > 0 Тогда Возврат ПоддерживаемыеРазрешения[0]; КонецЕсли; Возврат Новый РазрешениеКамерыУстройства(1024, 768); #Иначе Возврат Неопределено; #КонецЕсли КонецФункции &НаКлиенте Функция СделатьИПоместитьФото() Если Не МожноСделатьФото() Тогда Возврат Неопределено; КонецЕсли; #Если МобильноеПриложениеКлиент Или МобильныйКлиент Тогда Попытка ДанныеФото = ПолучитьДанныеСнимка(); Если ДанныеФото = Неопределено Тогда Возврат Неопределено; КонецЕсли; ТекущееФотоДвоичныеДанные = ДанныеФото.ПолучитьДвоичныеДанные(); Адрес = ПоместитьВоВременноеХранилище(ТекущееФотоДвоичныеДанные, Новый УникальныйИдентификатор); Возврат Адрес; Исключение ТекстОшибки = НСтр("ru='Ошибка создания фотографии: '") + ОписаниеОшибки(); ВызватьИсключение ТекстОшибки; КонецПопытки; #КонецЕсли Возврат Неопределено; КонецФункции &НаСервере Процедура ЗаписатьФотографиюСервер(ТекущийОбъект) Если ПустаяСтрока(Объект.Фотография) ИЛИ (НЕ ЭтотОбъект.Модифицированность) Тогда Возврат; КонецЕсли; Если Не ЭтоАдресВременногоХранилища(Объект.Фотография) Тогда Возврат; КонецЕсли; Данные = ПолучитьИзВременногоХранилища(Объект.Фотография); ТекущийОбъект.ДанныеФотографии = Новый ХранилищеЗначения(Данные); КонецПроцедуры &НаСервере Процедура ЗагрузитьФотоСервер() Если Объект.Ссылка.Пустая() Тогда Возврат; КонецЕсли; Объект.Фотография = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "ДанныеФотографии"); КонецПроцедуры &НаКлиенте Процедура СделатьФото(Команда) СделатьФотоКлиент(); КонецПроцедуры &НаСервере Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) ЗаписатьФотографиюСервер(ТекущийОбъект); КонецПроцедуры &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ЗагрузитьФотоСервер(); КонецПроцедуры Заранее спасибо, буду очень благодарен. |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |