Если просуммировать эти факты, то возникает вопрос - можно ли подменить программный компонент стандартной карточки, которая поставляется, например, в Делопроизводстве? Ответ - да. Например, можно заменить справочник Контрагентов, реализовав свою собственную логику и интерфейс, оставив стандартную схему, что не приведет к нарушению работоспособности других карточек Делопроизводства.
Так может выглядеть вариант справочника Контрагентов
Есть одна сложность. Как я уже описал, компонент вызывается по clsid, который находится в схеме карточки. При создании своего справочника нужно clsid его компонента записать в схему справочника Контрагентов и загрузить на сервер. Но XML схема, кроме сервера находится в компоненте библиотеки (*.dll) - и там произвести замену нельзя.
В этом случае лучше поступить так - заменить clsid своего справочника на clsid оригинального справочника Контрагентов. В этом случае, при открытии будет показываться разработанный вами компонент. Читать дальше
5 коммент.:
Так всеже до конца не ясно, как сделать такую подмену. Допустим, я разработал компонент (пустую форму для теста). Где мне нужно подменить clsid, чтобы вместо справочника контрагентов появлялась моя форма.
Аналогичный вопрос, можно ли заменить представление папки своим компонентом???
Нужно заменить непосредственно в схеме той карточки, которую меняете. Например, для примера со справочником контрагентов, это должна быть схема TakeOffice | RefPartners.
Обманул, надо заменить не в схеме карточки, а как раз наоборот в вашем компоненте...
В VisualStudio 2005,2008,2010 это можно сделать в свойствах проекта (не помню точно где)
Т.е. в ОС будет существовать два компонента с одинаковым clsid?
Ненужный компонент необходимо будет разрегистрировать через regsvr32 /u
Отправить комментарий