Здрасьте люди добрые и грамотные!
Есть у меня большая необходимость заменить одну из дополнительных функций, вызываемых при помощи правой кнопки в форме ввода документа, на свою.
Вопрос каким образом можно найти наименование интерфейса, который запускается при вызове данной функции?
Замена расчетных функций и интерфейсов
Модераторы: m0p3e, edward_K, Модераторы
-
- Местный житель
- Сообщения: 783
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Москва
- Контактная информация:
Re: Замена расчетных функций и интерфейсов
Включаешь Protect, ставишь галочку в регистрируемых событиях "Интерфейсы" и запускаешь свою функцию. Далее смотришь, что за интерфейс запускался.
Однако, боюсь, что ничего у тебя не выйдет. Дело в том, что если эта функция не лежит в отдельно фейсе, а прописана в том фейсе, в котором ты работаешь, то ты не сможешь подменить ее.
Может быть как-то можно добавить свой пункт в контекстное меню и вызывать именно его... не знаю.
У меня была похожая проблема - мне надо было воспользоваться стандартной функцией регистрации СФ, потому что при обычном вызове она не работала. Сначала думал тоже решить все подменой фейса. Но отдельного фейса на нее не было.
Ей можно было бы воспользоваться, если подгружать реализующий эту функцию интерфейс с помощью LoadVipInterface или GetVipInterface. При этом функция в исходно фейсе обязательно должна была объявляться как "Public". Оказалось, чтобы пользоваться LoadVipInterface надо иметь исходник исходного фейса, чего у меня есссно нету. Второй путь - через объектный фейс: ObjInterface, однако объектного фейса с нужной мне функцией нету (или я нем не знаю).
В общем, подмена функции - весчь весьма нетривиальная. Наверное, проще будет добавить свой пункт меню. Или добавить свою внешнюю функцию, которую можно вызывать по Ctrl+F4 - об этом уже писалось.
Однако, боюсь, что ничего у тебя не выйдет. Дело в том, что если эта функция не лежит в отдельно фейсе, а прописана в том фейсе, в котором ты работаешь, то ты не сможешь подменить ее.
Может быть как-то можно добавить свой пункт в контекстное меню и вызывать именно его... не знаю.
У меня была похожая проблема - мне надо было воспользоваться стандартной функцией регистрации СФ, потому что при обычном вызове она не работала. Сначала думал тоже решить все подменой фейса. Но отдельного фейса на нее не было.
Ей можно было бы воспользоваться, если подгружать реализующий эту функцию интерфейс с помощью LoadVipInterface или GetVipInterface. При этом функция в исходно фейсе обязательно должна была объявляться как "Public". Оказалось, чтобы пользоваться LoadVipInterface надо иметь исходник исходного фейса, чего у меня есссно нету. Второй путь - через объектный фейс: ObjInterface, однако объектного фейса с нужной мне функцией нету (или я нем не знаю).
В общем, подмена функции - весчь весьма нетривиальная. Наверное, проще будет добавить свой пункт меню. Или добавить свою внешнюю функцию, которую можно вызывать по Ctrl+F4 - об этом уже писалось.
Re: Замена расчетных функций и интерфейсов
Да уж ... почти так я и предполагал. Исходники нужны обязательно. А если их нету, то ... и решения нету. Спасибо за совет.