// работа с наследованием
//ООППредок

Перем АтрибутБазовогоКласса Экспорт;
Перем АтрибутКласса Экспорт;
Перем АтрибутБазовогоКлассаМеняемыйТолькоВПредке Экспорт;

Перем _ПоследнийВызванныйМетод;
Перем Журнал Экспорт;

Функция Конт(Конт) Возврат Конт; КонецФункции
Функция Сам() Возврат Конт(Контекст); КонецФункции

Функция ПолучитьЖурналВызовов() Экспорт
	//Сам().Журнал.ДобавитьЗапись("ООППредок::ПолучитьЖурналВызовов");
	Журнал.ДобавитьЗапись("ООППредок::ПолучитьЖурналВызовов");
	Возврат Журнал;
КонецФункции

Процедура Конструктор()
	АтрибутБазовогоКласса = 1;
	АтрибутКласса = 1;
	АтрибутБазовогоКлассаМеняемыйТолькоВПредке = 1;
	Журнал=СоздатьОбъект("ЖурналВызоваМетодов");
	Журнал.ДобавитьЗапись("ООППредок::Конструктор");
КонецПроцедуры	// Конструктор 
                              
Процедура Деструктор()
	Журнал.ДобавитьЗапись("ООППредок::Деструктор");
КонецПроцедуры	// Деструктор
                              
Функция ПолучитьПоследнийВызванныйМетод() Экспорт
	Возврат _ПоследнийВызванныйМетод;
КонецФункции	// ПолучитьПоследнийВызванныйМетод

Процедура ЗакрытаяПроцедура()
	//_ПоследнийВызванныйМетод = "ОткрытаяПроцедура";
КонецПроцедуры

Процедура ОткрытаяПроцедура() Экспорт
	_ПоследнийВызванныйМетод = "ОткрытаяПроцедура";
КонецПроцедуры

Функция ОткрытаяФункция() Экспорт
	_ПоследнийВызванныйМетод = "ОткрытаяФункция";
	Возврат 1;
КонецФункции

// проверка бага 1821 http://cvs.alterplast.ru/bugs/show_bug.cgi?id=1821
// если написать без "Экспорт", наследования не будет
Функция _ПолучитьКод() Экспорт
	Возврат "ОбъектООПредок";
КонецФункции	// _ПолучитьКод

Функция ПолучитьТипЗначенияСтр() Экспорт
	Возврат ТипЗначенияСтр(Сам());
КонецФункции	// ПолучитьТипЗначенияСтр

Функция СоздатьКопию() Экспорт
	//Возврат СоздатьОбъект(ТипЗначенияСтр(Сам()));
	Возврат СоздатьОбъект("ООППредок");
КонецФункции

Процедура ПроверкаПолучитьБазовыйКласс() Экспорт
	Предупреждение("База 1");
	//База = База();
	База = Сам().ПолучитьБазовыйКласс();
	Сообщить("База "+ТипЗначенияСтр(База)+" 1");	
	//Модуль = СоздатьОбъект("ВыполняемыйМодуль");
	//Модуль.ВыброситьИскл(, "123");
КонецПроцедуры	// ПроверкаПолучитьБазовыйКласс
