Помимо "типового" предназначения "Док.Автор = глПользователь"
эту же переменную использую для других целей (как "КОП").
Добавлять еще переменные в ГМ - не могу. Причин много.
Главная: при обновлениях
слишком много правок нужно делать(практически
везде, где есть глПользователь)
Сама же переменная "глПользователь"
ПЕРЕОПРЕДЕЛЯЕТСЯ со справочника на "Коп"
при перехвате события "ПриНачалеРаботыСистемы()"
и в дальнейшем используется именно как "КОП" (singleton "МенеджерСеанса").
Поэтому мне нужно чтобы было именно
//в глобальном модуле
глПользователь = оКОП; // в целях МОЕЙ задачи недопустимо ХХХ.ТекущийЭлемент() !!!
// в форме документа должно остаться
Автор = глПользователь;// не трогаем типовую, т.е. ТекущийЭлемент() добавлять нельзя.
Проблема:в реквизит документа "Автор" (типа "Справочник.Пользователи")
(с учетом ограничений написания кода, что в спойлере)
не устанавливается ссылка на текущий элемент БД "Справочник.Пользователи".
При этом переменная "глПользователь" - это КОП,
унаследованный от "Справочник.Пользователи"
(для простоты - пусть "Справочник.Пользователи" будет единственным базовым классом для указанного КОП-а)
Вопрос к power 1c++ users:есть ли какой нить "хак",
чтобы выполнить подмену переменной "на лету"?
Вопрос к авторам 1С++:Может есть смысл добавить 2 метода для перехвата ГМ
что-то типа (по аналогии с динамическими атрибутами)
(если Конт=0, то "ГлобальныйМодуль")
дабы можно было "на лету" подменять (переопределять)
переменные/атрибуты объекта/реквизиты формы ?
Кроме того, это решило бы еще одну задачку (проблему)
из темы
"Доступ к глобальным переменным из КОП-ов"(при условии загрузки 1cpp.dll до "ПриНачалеРаботыСистемы")
вот тема:
http://www.1cpp.ru/forum/YaBB.pl?num=1363347562а это баг (с 2008):
http://www.1cpp.ru/bugs/show_bug.cgi?id=4216Ведь основное предназначение ООП - это уменьшение "кодо-писания",
а получается замкнутый круг, когда
- нет доступа к глобальным переменным (у 1С++)
- нет возможности автоприведения типа к базовому (у самой 1С)
В конкретном данном случаем "самым базовым" является "ссылка на данные в БД":
Объект("МойКОП") -> Объект("Справочник") -> Объект(БД.ТекущийЭлемент())Такую "подмену" я бы реализовал "вручную" при наличии указанных событий.
Или может у кого есть идеи как обойтись существующими средствами.
Плиз, поделитесь идеей.