////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ, ВЫЗЫВАЕМЫЕ ИЗ ОБРАБОТЧИКОВ ЭЛЕМЕНТОВ ФОРМЫ

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

Процедура КнопкаОКНажатие(Элемент)
	
	ЭтаФорма.Закрыть(ЭлементыФормы.ПолеВыбораСписокШаблонов.ТекущаяСтрока);
	
КонецПроцедуры

////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ ПОЛЯ СПИСКА

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

Процедура ПолеВыбораСписокШаблоновВыбор(Элемент, ЭлементСписка)
	
	ЭтаФорма.Закрыть(ЭлементСписка);
	
КонецПроцедуры

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

Процедура КоманднаяПанельСпискаДействие(Кнопка)
	
	ТекущаяСтрока = ЭлементыФормы.ПолеВыбораСписокШаблонов.ТекущаяСтрока;
	Если ТекущаяСтрока = Неопределено Тогда
		Возврат;
	КонецЕсли; 
	Если ТекущаяСтрока.Пометка Тогда
		Возврат;
	КонецЕсли;
	Ответ = Вопрос("Удалить шаблон """ + ТекущаяСтрока.Представление + """?", РежимДиалогаВопрос.ОКОтмена);
	Если Ответ <> КодВозвратаДиалога.ОК Тогда
		Возврат;
	КонецЕсли;
	ПолноеИмяФайла = ПолучитьКаталогНастроекПриложения() + "\" + ТекущаяСтрока.Значение + ".prst";
	Если ирКэш.ЛиПлатформаWindowsЛкс() Тогда
		РезультатКоманды = ирОбщий.ВыполнитьКомандуОСЛкс("del """ + ПолноеИмяФайла + """",,, Истина);
		Если ЗначениеЗаполнено(РезультатКоманды) Тогда
			ирОбщий.СообщитьЛкс(РезультатКоманды);
		КонецЕсли;
	Иначе
		УдалитьФайлы(ПолноеИмяФайла);
	КонецЕсли;
	ПолеВыбораСписокШаблонов.Удалить(ТекущаяСтрока);
	
КонецПроцедуры

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

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

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

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

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

ирКлиент.ИнициироватьФормуЛкс(ЭтаФорма, "Обработка.ирНастройкаТехножурнала.Форма.ВыборШаблона");
