Как определить тип контекста? Возникла мысль написания некоего универсального кода в глобальном модуле для инициализации объектов конфигурации. Из объектов производится вызов из процедуры ВводНового в форме глВыполнитьИнициализациюОбъекта(Контекст) Как проверить принадлежность объекта к справочникам? ТипЗначенияСтр(Конт) возвращает некий "ГрупповойКонтекст", ТипЗначения(Конт) значения 100. Каким еще образом можно определить что за объект перед нами? |
77 ? попытка исключение свойственных методов |
может красивее можно как-то через метаданные как в 8ке? |
нет(ути) |
[quote=Gorr;33755485]может красивее можно[/quote]можно.. курим интенсивно, много и отсюда: [url]http://www.1cpp.ru/index.php/VeryBeginning[/url] |
0-Gorr > [em]"ТипЗначенияСтр(Конт) возвращает некий "ГрупповойКонтекст", ТипЗначения(Конт) значения 100. Каким еще образом можно определить что за объект перед нами?[/em]" Вообще-то, это форма. Если этот самый контекст попробовать запросить из агрегатного объекта, созданного методом СоздатьОбъект(), то получим 12 для документа, 11 для справочника и т.д. И можно к этому контексту применить метод Вид() для уточнения. Для формы можно спросить заголовок ;) Он точно будет. |
Функция глПолучитьТипКонтекста(Знач Конт) Экспорт // Функция возвращает тип контекста формы ТипКонтекста="Справочник.ФормаСпискаДокументЖурналОтчет"; Попытка А=Конт.ТекущийЭлемент(); Исключение ТипКонтекста=СтрЗаменить(ТипКонтекста,"Справочник",""); КонецПопытки; Попытка А=Конт.ИерархическийСписок(); Исключение ТипКонтекста=СтрЗаменить(ТипКонтекста,".ФормаСписка",""); КонецПопытки; Попытка А=Конт.Проведен(); Исключение ТипКонтекста=СтрЗаменить(ТипКонтекста,"Документ",""); КонецПопытки; Попытка А=Конт.ТекущийДокумент; Исключение ТипКонтекста=СтрЗаменить(ТипКонтекста,"Журнал",""); КонецПопытки; Попытка Конт.РасположениеФайла(А,А); Исключение ТипКонтекста=СтрЗаменить(ТипКонтекста,"Отчет",""); КонецПопытки; Возврат ТипКонтекста; КонецФункции |
Текущее время: 05:11. Часовой пояс GMT +3. |