|
Основное изображение | ☑ | ||
---|---|---|---|---|
0
asder117
23.10.13
✎
15:49
|
Уважаемые доброго времени суток. Работаю с конфигурацией бит Аренда, написанной на базе 1с бух 2.0. Делаю документ для медицинских анализов. Как мне сделать так чтобы после выбора изображения оно показалось на форме. в Регистр бит_Хранилище дополнительной информации пишется спокойно но на форме не появляется
код: бит_хран: //////////////////////////////////////////////////////////////////////////////// // ПРОЦЕДУРЫ И ФУНКЦИИ // // Процедура итображает картинку, которая в данный момент находится в хранилище // Параметры // Нет // Возвращаемые значения // Нет Процедура ОтображениеИзображения() Если Хранилище.Получить() = Неопределено Тогда ЭлементыФормы.ПолеИзображения.Картинка = Новый Картинка(); Возврат; КонецЕсли; Если ВидДанных = Перечисления.бит_ВидыДополнительнойИнформацииОбъектов.Изображение Тогда ЭлементыФормы.ПолеИзображения.Картинка = Хранилище.Получить(); Иначе ЭлементыФормы.ПолеИзображения.Картинка = Новый Картинка(); КонецЕсли; КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// // ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ // // Процедура - вызывается при открытии формы Процедура ПриОткрытии() Если Объект = Неопределено ИЛИ Объект.Пустая() Тогда ТекущийЭлемент = ЭлементыФормы.Объект; Иначе ТекущийЭлемент = ЭлементыФормы.Наименование; КонецЕсли; ОтображениеИзображения(); КонецПроцедуры // Процедура - вызывается перед записью элемента Процедура ПередЗаписью(Отказ) Если ВидДанных = Перечисления.бит_ВидыДополнительнойИнформацииОбъектов.Изображение Тогда Если Хранилище.Получить() = Неопределено ИЛИ Хранилище.Получить().Вид = ВидКартинки.Пустая Тогда Предупреждение("Выберите изображение."); Отказ = Истина; Возврат; КонецЕсли; КонецЕсли; Если Объект = Неопределено ИЛИ Объект.Пустая() Тогда Предупреждение("Укажите владельца изображения."); Отказ = Истина; Возврат; КонецЕсли; КонецПроцедуры // Процедура - вызывается после записи элемента Процедура ПослеЗаписи() Если ЭтаФорма.РежимВыбора Тогда ОповеститьОВыборе(Ссылка); КонецЕсли; КонецПроцедуры // Процедура - вызывается перед открытием формы Процедура ПередОткрытием(Отказ, СтандартнаяОбработка) // бит_DMarkin добавление кода. Начало: // вызов системы лицензирования бит_ЗакрытыйСлужебныйСервер.ПроверитьВозможностьРаботы(,"Справочник.бит_ХранилищеДополнительнойИнформации",Отказ); // бит_DMarkin добавление кода конец ЭлементыФормы.НадписьОбъекта.Значение = ?(Объект = Неопределено, "Объект: ", Объект.Метаданные().Синоним + ":"); КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// // ОБРАБОТЧИКИ ДЕЙСТВИЙ КОМАНДНЫХ ПАНЕЛЕЙ ФОРМЫ // // Процедура изменяет текущее изображение на выбираемое из диалога выбора файлов // Параметры // Кнопка - кнопка формы // Возвращаемые значения // Нет Процедура ДействияФормыИзменитьИзображение(Кнопка) ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогОткрытияФайла.ПредварительныйПросмотр = Истина; ДиалогОткрытияФайла.Заголовок = "Выберите файл с фотографией"; ДиалогОткрытияФайла.ПолноеИмяФайла = ""; ДиалогОткрытияФайла.Фильтр = "Все картинки (*.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|"; // картинки Если ДиалогОткрытияФайла.Выбрать() Тогда ВыбранноеФото = Новый Картинка(ДиалогОткрытияФайла.ПолноеИмяФайла,Ложь); ЭлементыФормы.ПолеИзображения.Картинка = ВыбранноеФото; Хранилище = Новый ХранилищеЗначения(ВыбранноеФото, Новый СжатиеДанных()); Иначе Возврат; КонецЕсли; ОтображениеИзображения(); КонецПроцедуры // Процедура сохраняет текущее изображение в файл на диск // Параметры // Кнопка - кнопка формы // Возвращаемые значения // Нет Процедура ДействияФормыСохранитьИзображение(Кнопка) ЗаписываемаяКартинка = ЭлементыФормы.ПолеИзображения.Картинка; Если ЗаписываемаяКартинка.Вид <> ВидКартинки.Пустая Тогда ДиалогЗаписиФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); ДиалогЗаписиФайла.Заголовок = "Укажите имя файла"; ДиалогЗаписиФайла.ПолноеИмяФайла = ""; ДиалогЗаписиФайла.Фильтр = ЗаписываемаяКартинка.ФильтрИменФайлов(); // картинки ДиалогЗаписиФайла.ПроверятьСуществованиеФайла = Истина; Если Не ДиалогЗаписиФайла.Выбрать() Тогда Возврат; КонецЕсли; Попытка ЗаписываемаяКартинка.Записать(ДиалогЗаписиФайла.ПолноеИмяФайла); Исключение Предупреждение("Ошибка при записи файла: " + ДиалогЗаписиФайла.ПолноеИмяФайла + Символы.ПС + ОписаниеОшибки() + Символы.ПС + "Файл не записан."); КонецПопытки; КонецЕсли; КонецПроцедуры Моя форма Перем мТекущееОсновноеИзображение экспорт; Процедура ОсновноеИзображениеНажатие(Элемент) Отказ = Ложь; Если ЭтаФорма.ЭтоНовый() Тогда Вопрос = "Перед вводом основного изображения необходимо записать элемент. Записать?"; Ответ = Вопрос(Вопрос, РежимДиалогаВопрос.ОКОтмена); Если Ответ = КодВозвратаДиалога.ОК Тогда Отказ = Не ЭтаФорма.ЗаписатьВФорме(); Иначе Отказ = Истина; КонецЕсли; КонецЕсли; Если Не Отказ Тогда РаботаСФайлами.ОткрытьФормуИзображения(ЭтаФорма, ЭтаФорма.ОсновноеИзображение, ЭтаФорма.Ссылка); КонецЕсли; КонецПроцедуры Процедура ПриОткрытии() //~~~~~~~~~ЖАВ 16.05.2013~~~~~~~~~// Если не ПустаяСтрока(ЭтаФорма.ОсновноеИзображение) и ПустаяСтрока(мТекущееОсновноеИзображение) тогда мТекущееОсновноеИзображение = Справочники.бит_ХранилищеДополнительнойИнформации.НайтиПоНаименованию(ЭтаФорма.ОсновноеИзображение.Наименование).Хранилище.Получить(); ЭтаФорма.ЭлементыФормы.ОсновноеИзображение.Картинка = мТекущееОсновноеИзображение; КонецЕсли; //_________ЖАВ 16.05.2013_________// КонецПроцедуры Заранее благодарен |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |