Перем 
		_РасширениеФормы;
		
Функция Конт(Конт) Возврат Конт; КонецФункции // : Контекст
Функция Сам() Возврат Конт(Контекст); КонецФункции // : Контекст
                                    
Процедура ОткрытьТестовуюФорму(Конт)
	//ОткрытьФорму("Обработка.ТестоваяДляFormEx", Конт);
КонецПроцедуры	// ОткрытьТестовуюФорму

// -------------------------------- -------------------------------------
Процедура Конструктор()                                   
	//лСервис	= СоздатьОбъект("Сервис"); // только для проверки загрузки ФормЕкс
	//лСервис = 0;
	_РасширениеФормы = СоздатьОбъект("РасширениеФормы");
КонецПроцедуры // Конструктор

Процедура ТестАтрибутФормы() Экспорт
	Перем КонтФормы;

	Сам = Сам();

	//Сам.ПропуститьТест();
	//Сообщить(Сам.ИмяМетода+" ТестАтрибутФормы");

	КонтФормы = Сам.ОткрытьФорму("Обработка.ТестоваяДляFormEx#");
	
	//Форма = КонтФормы.Форма.Параметр;
	
	//Форма = КонтФормы.Переменная;
	Форма = КонтФормы.Форма;
	Сам.ПроверитьРавенство(ТипЗначенияСтр(Форма), "НеизвестныйОбъект");
	Сам.ПроверитьРавенство(Форма.АктивныйЭлемент(), "Реквизит");

//Сам.ПроверитьРавенство(Форма.Заголовок(), "ТестоваяОбработка");

	Сам.ПроверитьРавенство(Форма.Заголовок(), "");
	
	Сам.ПроверитьИсключение(_РасширениеФормы, "ПолучитьФорму"); // Форма = _РасширениеФормы.ПолучитьФорму();

	//Сам.ПроверитьРавенство(Форма.Заголовок, "ТестоваяОбработка");
	
	_РасширениеФормы.УстановитьФорму(Форма);
	
	Форма = 0;
	Форма = _РасширениеФормы.ПолучитьФорму();
	
	Сам.ПроверитьРавенство(ТипЗначенияСтр(Форма), "НеизвестныйОбъект");
	Сам.ПроверитьРавенство(Форма.АктивныйЭлемент(), "Реквизит");
	//Сам.ПроверитьРавенство(Форма.Заголовок(), "ТестоваяОбработка");
	Сам.ПроверитьРавенство(Форма.Заголовок(), "");
	
КонецПроцедуры	// ТестАтрибутФормы

Процедура ТестСервисПолучитьФорму() Экспорт 
	Сам = Сам();
	//Сам.ПропуститьТест();
	
	//Сообщить(Сам.ИмяМетода+" ТестСервисПолучитьФорму");
	КонтФормы = Сам.ОткрытьФорму("Обработка.ТестоваяДляFormEx#");
	
	Форма = КонтФормы.Форма; //.Параметр;
	
	Сам.ПроверитьРавенство(ТипЗначенияСтр(Форма), "НеизвестныйОбъект");
	Сам.ПроверитьРавенство(Форма.АктивныйЭлемент(), "Реквизит");

	Сам.ПроверитьРавенство(Форма.Заголовок(), "");
КонецПроцедуры	// ТестАтрибутФормы

//Процедура ТестАтрибутФормы1() Экспорт
//	Перем Конт;
//	ОткрытьТестовуюФорму(Конт);
//КонецПроцедуры	// ТестАтрибутФормы

Процедура ПроверитьСвойстваСтатика(лАтрибут)
	Сам = Сам();

	Сам.ПроверитьРавенство(лАтрибут.Видимость, 0);
	Сам.ПроверитьРавенство(лАтрибут.Заголовок, "Текст");
	Сам.ПроверитьРавенство(лАтрибут.Формула, "Текст()");
	Сам.ПроверитьРавенство(лАтрибут.Подсказка, "");
	Сам.ПроверитьРавенство(лАтрибут.Описание, "");
	Сам.ПроверитьРавенство(лАтрибут.Доступность, 0);
	Сам.ПроверитьРавенство(лАтрибут.Слой, "Основной");
	Сам.ПроверитьРавенство(лАтрибут.Тип, 1);
	Сам.ПроверитьРавенство(лАтрибут.Идентификатор, "статикТекст");
	Сам.ПроверитьРавенство(лАтрибут.ЦветШрифта, 0);
	Сам.ПроверитьРавенство(лАтрибут.Маска, "");
	Сам.ПроверитьРавенство(лАтрибут.ЦветФона, 16777215);
	//Сам.ПроверитьРавенство(лАтрибут.Шрифт, 1577718815); // разные значения
	Сам.ПроверитьРавенство(лАтрибут.Класс, "CStatic(0x40)->CWnd(0x40)->CCmdTarget(0x20)->CObject(0x4)->");
	Сам.ПроверитьРавенство(лАтрибут.Рамка, 0);
	//Сам.ПроверитьРавенство(лАтрибут.РодительскоеОкно, 0);
	Сам.ПроверитьБольше(лАтрибут.Дескриптор, 0);
	Сам.ПроверитьРавенство(лАтрибут.Стиль, 1342308352);
	Сам.ПроверитьРавенство(лАтрибут.РасширенныйСтиль, 1342308352);
	//Сам.ПроверитьРавенство(лАтрибут.Картинка, "");
	Сам.ПроверитьРавенство(лАтрибут.Фокус, 0);
	Сам.ПроверитьРавенство(лАтрибут.Автовыбор, 1);
	Сам.ПроверитьРавенство(лАтрибут.ИмеетКнопкуВыбора, 0);
КонецПроцедуры	// ПроверитьСвойстваСтатика

Процедура Тест_ПолучениеСвойствАтрибутовФормы_Статик() Экспорт
	Сам = Сам();

	//Сам.ПропуститьТест();

	КонтФормы = Сам.ОткрытьФорму("Обработка.ТестоваяДляFormEx#");
	Форма = КонтФормы.Форма;

	_РасширениеФормы.УстановитьФорму(Форма);

	лАтрибут =	_РасширениеФормы.ПолучитьАтрибут("статикТекст");

	ПроверитьСвойстваСтатика(лАтрибут);
	
	Форма.Обновить();

	ПроверитьСвойстваСтатика(лАтрибут);
КонецПроцедуры	// Тест_СвойстваАтрибутовФормы
    
Процедура ПроверитьСвойстваСтатикаШтатно(Форма, Идентификатор)
	Сам = Сам();
	
	лАтрибут = Форма.ПолучитьАтрибут(Идентификатор);
	
	Сам.ПроверитьРавенство(лАтрибут.Видимость(), 1);
	Сам.ПроверитьРавенство(лАтрибут.Доступность(), 1);
	Сам.ПроверитьРавенство(лАтрибут.Редактирование(), 0);
	Сам.ПроверитьРавенство(лАтрибут.Цвет(), 0);
	Сам.ПроверитьРавенство(ТипЗначения(лАтрибут.Маска()), 0);
	Сам.ПроверитьРавенство(лАтрибут.ВыборГруппы(), -1);
	Сам.ПроверитьРавенство(лАтрибут.ВыполнятьФормулуТолькоПриИзменении(), 0);
	Сам.ПроверитьРавенство(лАтрибут.НеИзменятьВид(), 0);

	Сам.ПроверитьРавенство(лАтрибут.Заголовок(), "Текст");
	
КонецПроцедуры	// ПроверитьСвойстваСтатикаШтатно

Процедура Тест_ПолучениеСвойствАтрибутовФормы_Штатно_Статик() Экспорт
	Сам = Сам();

	//Сам.ПропуститьТест();

	КонтФормы = Сам.ОткрытьФорму("Обработка.ТестоваяДляFormEx#");
	Форма = КонтФормы.Форма;

//	_РасширениеФормы.УстановитьФорму(Форма);
//
//	лАтрибут =	_РасширениеФормы.ПолучитьАтрибут("статикТекст");

	ПроверитьСвойстваСтатикаШтатно(Форма, "статикТекст");
	
	Форма.Обновить();

	ПроверитьСвойстваСтатикаШтатно(Форма, "статикТекст");
КонецПроцедуры	// Тест_СвойстваАтрибутовФормы

Процедура Тест_ПредупреждениеСТаймером() Экспорт
	Предупреждение("Первое из предупреждений для проверки таймера. Ничего не нажимайте", 1);

	Предупреждение("Последнее предупреждение для проверки таймера. Ничего не нажимайте", 1);
	
КонецПроцедуры	// Тест_ПредупреждениеСТаймером 

Процедура ТестДобавлениеСтрокВТабличнуюЧастьЧерезКонтекстДокумента() Экспорт
	Сам = Сам();

	Сам.ОткрытьФорму("Документ.Новый1");
	Конт=Сам.КонтекстФормы;
	
	//Конт=0;
	//ОткрытьФорму("Документ.Новый1", Конт);

	Сам.ПроверитьРавенство(Конт.КоличествоСтрок(), 0);

	Конт.НоваяСтрока();
	Сам.ПроверитьРавенство(Конт.КоличествоСтрок(), 1);
	Конт.Новый1 = "1";
	Конт.НоваяСтрока();
	Сам.ПроверитьРавенство(Конт.КоличествоСтрок(), 2);
	Конт.Новый1 = "2";
	Конт.НоваяСтрока();
	Сам.ПроверитьРавенство(Конт.КоличествоСтрок(), 3);
	Конт.Новый1 = "3";
	
	Конт.ПолучитьСтрокуПоНомеру(1);
	Сам.ПроверитьРавенство(СокрЛП(Конт.Новый1), "1");
	Конт.ПолучитьСтрокуПоНомеру(2);
	Сам.ПроверитьРавенство(СокрЛП(Конт.Новый1), "2");
	Конт.ПолучитьСтрокуПоНомеру(3);
	Сам.ПроверитьРавенство(СокрЛП(Конт.Новый1), "3");
	
//Сообщить("Конт.КоличествоСтрок() = <"+Конт.КоличествоСтрок()+">");
	
КонецПроцедуры	// ТестДобавлениеСтрокВТабличнуюЧастьЧерезКонтекстДокумента

