RSS Подписка на статьи RSS Подписка на комментарии Панель инструментов

Блог профессионалов стал частью сайта технической поддержки DocsVision http://support.docsvision.com. Новые материалы будут появляться уже на этом сайте.

Поиск

Ярлыки

авто генерация кода (1) Администрирование DocsVision (60) Атрибутивный поиск (3) База данных (24) Базы знаний (1) Безопасность (1) Бизнес-процессы (20) Блог (2) Вы увидите это первыми (1) Групповые политики (1) Диаграммы (2) Задания (2) Интеграция (2) Карточки DocsVision (14) Конструктор Решений (11) Маркетинг и продажи (4) Навигатор (3) Новое (3) Новости (32) Опрос (4) Опросы DocsVision (4) Оптимизация (3) Отчеты (2) Ошибки (1) Поддержка (14) Полезные ссылки (1) Представления (4) Производительность (5) Разбор полетов (18) Разработка для Workflow (7) разработка карточек (2) Разработка на платформе DocsVision (41) Разработка решений (43) Расширение платформы (1) Расширенные отчеты (9) Решения на платформе DocsVision (6) Сервисы DocsVision (3) Сканеры (3) Справочник сотрудников (1) Справочник типов (1) Установка (1) Утилиты (13) Шлюз в SharePoint (8) Штрихкод (2) Cкрипты карточек (7) DocsVision внутри (1) DocsVision Live (1) FileStream (1) FireFox (2) Opera (1) Powershell (5) Safari (1) SharePoint2007 (1) SharePoint2010 (2) Silverlight (1) UltraViews (1) Vista (1)

Замена стандартных карточек

Карточки в DocsVision состоят из двух сущностей: данных, структура которых описана схемой, и программного компонента, который реализует логику. Программный компонент вызывается при открытии карточки по clsid - идентификатору класса.
Если просуммировать эти факты, то возникает вопрос - можно ли подменить программный компонент стандартной карточки, которая поставляется, например, в Делопроизводстве? Ответ - да. Например, можно заменить справочник Контрагентов, реализовав свою собственную логику и интерфейс, оставив стандартную схему, что не приведет к нарушению работоспособности других карточек Делопроизводства.


 Так может выглядеть вариант справочника Контрагентов

Есть одна сложность. Как я уже описал, компонент вызывается по clsid, который находится в схеме карточки. При создании своего справочника нужно clsid его компонента записать в схему справочника Контрагентов и загрузить на сервер. Но XML схема, кроме сервера находится в компоненте библиотеки (*.dll) - и там произвести замену нельзя.
В этом случае лучше поступить так - заменить clsid своего справочника на clsid оригинального справочника Контрагентов. В этом случае, при открытии будет показываться разработанный вами компонент. Читать дальше

5 коммент.:

Maxim комментирует...

Так всеже до конца не ясно, как сделать такую подмену. Допустим, я разработал компонент (пустую форму для теста). Где мне нужно подменить clsid, чтобы вместо справочника контрагентов появлялась моя форма.
Аналогичный вопрос, можно ли заменить представление папки своим компонентом???

Михаил Захаров комментирует...

Нужно заменить непосредственно в схеме той карточки, которую меняете. Например, для примера со справочником контрагентов, это должна быть схема TakeOffice | RefPartners.

Михаил Захаров комментирует...

Обманул, надо заменить не в схеме карточки, а как раз наоборот в вашем компоненте...
В VisualStudio 2005,2008,2010 это можно сделать в свойствах проекта (не помню точно где)

Maxim комментирует...

Т.е. в ОС будет существовать два компонента с одинаковым clsid?

Михаил Захаров комментирует...

Ненужный компонент необходимо будет разрегистрировать через regsvr32 /u

Отправить комментарий