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

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

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

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

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

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

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

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

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

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