Перем ДвоичныеДанные;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Процедура ОткрытьКакТекстНажатие(Элемент)
	ЧтениеДанных = Новый ЧтениеДанных(ДвоичныеДанные);
	Текст = ЧтениеДанных.ПрочитатьСимволы();
	ЧтениеДанных.Закрыть();
	ирКлиент.ОткрытьТекстЛкс(Текст);
КонецПроцедуры

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