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

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	ирКлиент.Форма_ПриОткрытииЛкс(ЭтаФорма);
	ЭтаФорма.АвтоЗаголовок = Истина;
	ирКлиент.ФормаОбъекта_ОбновитьЗаголовокЛкс(ЭтаФорма);
	ЭтаФорма.АвтоЗаголовок = Ложь;
КонецПроцедуры 

&НаКлиенте 
// Вызывается кодом
Процедура ВнешнееСобытие(Источник, Событие, Данные) Экспорт

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

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

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

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

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

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

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

&НаКлиенте
Процедура СыройТекст(Команда)
	Текст = Неопределено;
	Вложения = Неопределено;
	ФорматированныйДокумент.ПолучитьHTML(Текст, Вложения);
	ирКлиент.ОткрытьТекстЛкс(Текст,, "HTMLСырой");
КонецПроцедуры

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

&НаКлиенте
Процедура РедактироватьКопию(Команда)
	ирКлиент.ПредложитьЗакрытьМодальнуюФормуЛкс(ЭтаФорма); // Там текст очистится
	ирКлиент.ОткрытьЗначениеЛкс(Результат(),,, ирКлиент.ЗаголовокДляКопииОбъектаЛкс(ЭтаФорма), Ложь);
КонецПроцедуры  

&НаКлиенте
Процедура СтруктураФормы(Команда)
	
	// https://www.hostedredmine.com/issues/950113
	//ирКлиент.ОткрытьСтруктуруФормыЛкс(ЭтаФорма);
	ПараметрыВызова = Новый Структура("Форма", ЭтаФорма); 
	#Если Сервер И Не Сервер Тогда
		ОткрытьСтруктуруАктивнойФормыЛкс();
	#КонецЕсли
	ирКлиент.ПодключитьОбработчикОжиданияСПараметрамиЛкс("ОткрытьСтруктуруАктивнойФормыЛкс", ПараметрыВызова);

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