
Процедура ОсновныеДействияФормыОК(Кнопка)
	
	НовоеЗначение = ПолучитьРезультат();
	ирКлиент.ПрименитьИзмененияИЗакрытьФормуЛкс(ЭтаФорма, НовоеЗначение);
	
КонецПроцедуры

Функция ПолучитьРезультат()
	
	Возврат ЭлементыФормы.ПолеКартинки.Картинка;

КонецФункции

Процедура ПриОткрытии()
	
	ирКлиент.Форма_ПриОткрытииЛкс(ЭтаФорма);
	Если ТипЗнч(НачальноеЗначениеВыбора) <> Тип("Картинка") Тогда
		НачальноеЗначениеВыбора = Новый Картинка;
	КонецЕсли; 
	ирКлиент.ФормаОбъекта_ОбновитьЗаголовокЛкс(ЭтаФорма);
	ЭлементыФормы.ПолеКартинки.Картинка = НачальноеЗначениеВыбора;
	ЗначениеПриИзменении();

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

Процедура ОсновныеДействияФормыИсследовать(Кнопка)
	
	ирОбщий.ИсследоватьЛкс(ПолучитьРезультат());
	
КонецПроцедуры

Процедура КлсКомандаНажатие(Кнопка) Экспорт 
	
	ирКлиент.УниверсальнаяКомандаФормыЛкс(ЭтаФорма, Кнопка);
	
КонецПроцедуры

Процедура ОбработчикОжиданияСПараметрамиЛкс() Экспорт 
	
	ирКлиент.ОбработчикОжиданияСПараметрамиЛкс();

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

Процедура ЗначениеПриИзменении(Элемент = Неопределено)
	
	Картинка = ЭлементыФормы.ПолеКартинки.Картинка;
	ЭтаФорма.Вид = Картинка.Вид;
	ЭтаФорма.ИмяВБиблиотеке = ирОбщий.ИмяКартинкиИзБиблиотекиЛкс(Картинка);
	Если Картинка.Вид = ВидКартинки.Пустая Тогда
		ЭтаФорма.Формат = Неопределено;
		ЭтаФорма.Размер = Неопределено;
		ЭтаФорма.ШиринаКартинки = Неопределено;
		ЭтаФорма.ВысотаКартинки = Неопределено;
		ЭтаФорма.ГлубинаЦвета = Неопределено;
	Иначе
		ЭтаФорма.Формат = Картинка.Формат();
		Если ирКэш.НомерВерсииПлатформыЛкс() < 803014 Тогда
			ЭтаФорма.Размер = ирОбщий.РазмерЗначенияЛкс(Картинка);
		Иначе
			ЭтаФорма.Размер = Картинка.РазмерФайла(); 
			ЭтаФорма.ШиринаКартинки = Картинка.Ширина();
			ЭтаФорма.ВысотаКартинки = Картинка.Высота();
			ЭтаФорма.ГлубинаЦвета = Картинка.ГлубинаЦвета();
		КонецЕсли;
	КонецЕсли;
	
КонецПроцедуры

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

Процедура ЗагрузитьИзФайлаНажатие(Элемент)
	
	ПолноеИмяФайла = ирКлиент.ВыбратьФайлЛкс(Истина);
	Если ЗначениеЗаполнено(ПолноеИмяФайла) Тогда
		ЭлементыФормы.ПолеКартинки.Картинка = Новый Картинка(ПолноеИмяФайла);
	КонецЕсли; 
	ЗначениеПриИзменении();
	
КонецПроцедуры

Процедура ВнешнееСобытие(Источник, Событие, Данные) Экспорт
	
	ирКлиент.Форма_ВнешнееСобытиеЛкс(ЭтаФорма, Источник, Событие, Данные);

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

Процедура ТабличноеПолеПриПолученииДанных(Элемент, ОформленияСтрок) Экспорт 
	
	ирКлиент.ТабличноеПолеПриПолученииДанныхЛкс(ЭтаФорма, Элемент, ОформленияСтрок);

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

Процедура ПриЗакрытии()
	ирКлиент.Форма_ПриЗакрытииЛкс(ЭтаФорма);
КонецПроцедуры

ирКлиент.ИнициироватьФормуЛкс(ЭтаФорма, "Обработка.ирПлатформа.Форма.Картинка");

