20.12.2004, 13:51 | #1 |
Участник
|
Собственная форма в MS CRM
Доброго времени суток !
Я хотел бы узнать вот что: есть в MS CRM какая-то форма. я хочу на ее основе создать свою, унаследовавшись от стандартной. можно ли это сделать и если да, то как ? спасибо. |
|
23.12.2004, 13:19 | #2 |
Microsoft CRM Certified Professional
|
Попробуй ссылку
http://msdn.microsoft.com/library/de...rsion12sdk.asp - там формы, адресуемые по линкам (вместо сервера нужно выбрать виртуальную директорию). В aspx коде используется наследование. Мне удалось создать форму полностью идентичную существующей, но не более того, хотя большего я не пытался достичь |
|
24.01.2005, 18:34 | #3 |
Участник
|
2 mystic : а все-таки не могли бы Вы пояснить как Вам удалось создать собственную форму,
полностью идентичную существующей ? Простым копированием aspx -файла или все-таки с помощью Visual studio? 2 mystic : я не нашел в SDK ссылок на классы, работающие на стороне сервера, там есть только дока по классам Microsoft.Crm.Platform.*, но они не относятся к теме данного обсуждения. Итак, разрешите поднять здесь несколько вопросов: 1) Имеют ли право разработчики компании-партнера создавать свои формы в MS CRM 1.2 на базе web-компонент Microsoft.Crm 1.2? 2) Могут ли разработчики фактически это делать? 3) Имеется ли какая-нибудь документация по этим компонентам (компонентам CRM работающим на сервере) 4) Есть ли у кого нибудь пример Web-проекта под Visual studio который реализует простую web-форму, встраиваемую в MS CRM? (важно!) эта форма должна использовать компоненты MS CRM т.е. иметь такой же внешний вид и функциональность И наконец, вот пример одной из моих реальных задач, для чего собственно и задаются все эти вопросы: Надо сделать форму, идентичную SFA\home_accts (список организаций), где было бы: 1) программно запрещено на выбор всех представлений, кроме одного "представления X" 2) запрещено открытие выпадающей формы (preview) 3) запрещено открытие карточки организации 4) функциональность поиска открывала бы то же самое "представление X", а не "найденные результаты", в которых видно все подряд Заранее благодарен за ответ. |
|
25.01.2005, 19:10 | #4 |
Microsoft CRM Certified Professional
|
Копированием aspx файла и соответствующей папки.
В первой строке <%@ Page language="c#" Inherits="Microsoft.Crm.Application.Pages.SFA.Accounts.Home" CodeBehind="Microsoft.Crm.Application.Pages.SFA.dll" %> надо заменить CodeBehind="Microsoft.Crm.Application.Pages.CS.dll" - получим ту же форму в модуле сервиса, остаётся толко сделать закладку через ISV.config (т.е. мы использовали наследование и полиморфизм). В вижал студи форму я так и не менял. Проблема в том, что мы наследуем практически готовую страницу. По вопросам 1) Имеют ли право разработчики компании-партнера создавать свои формы в MS CRM 1.2 на базе web-компонент Microsoft.Crm 1.2? Такое право похоже есть (если следовать правилам поддержки), но если этот метод не описан в SDK то этот метод не поддерживается/ не тестирвался т.е. не факт что это будет работать после апгрейда. 2) Могут ли разработчики фактически это делать? Возможно, но мы не делали т.к. делаем только модификации, соответствующие стандартам Microsoft. Кроме того это сложно т.к. в MS CRM используется модель, управляемая метаданными, которые хранятся в БД. Т.е. создавая новую форму (точнее уже сущность) придётся либо иметь две абсолютно одинаковые по настройкам формы, либо лесть в базу данных и создавать новые таблицы, что не рекомендуется, т.к. это может нарушить целостность системы и приведёт к потере поддержки. Резюме: лучше этого не делать. 3)Имеется ли какая-нибудь документация по этим компонентам (компонентам CRM работающим на сервере) Microsoft.Crm.Platform - это бизнес логика, которая работает на сервере. Всего есть 4 уровня: 1-уровень представления (кастумизация на основе java скриптов в picklist) 2-уровень приложения (кастумизация стандартными средствами, через настройки) 3-уровень платформы - реализует бизнес - логику на этом уровне программист может интегрировать свои сервисы. 4-уровень доступа к БД - недоступен программисту на прямую (доступен через уровень 3) 4) Есть ли у кого-нибудь пример Web-проекта под Visual studio который реализует простую web-форму, встраиваемую в MS CRM? (важно!) эта форма должна использовать компоненты MS CRM т.е. иметь такой же внешний вид и функциональность Примера такого проекта у меня нет, но разработчики могут сделать такую web форму - это тривиальная задача. Чтобы она была похожа на остальные формы... про это есть статья для разработчиков на сайте Microsoft не помню не названия ни ссылки, но можно найти по смыслу, к этой статье прилагаются каскадные таблицы стилей MS CRM. Для вашей задачи целесообразно разработчикам написать страницу, используя Microsoft.Crm.Platform, реализовав только поиск и списочное представление по заданому представлению (которое например задается в xml файле), а потом встроить эту страницу по вкладке с помощью ISV.config Хотя не понятно как поступать с правами безопасности, тк. для данной роли придётся закрыть родной SFA\home_accts, возможно есть смысл просто закрыть права просмотра на организации (в связанных записях будет видно только название организации без права открытия карточки), зачем, если не секрет, нужна такая функциональность? |
|
26.01.2005, 15:26 | #5 |
Участник
|
Цитата:
Изначально опубликовано mystic
<...> лесть в базу данных и создавать новые таблицы, что не рекомендуется, т.к. это может нарушить целостность системы и приведёт к потере поддержки. <...> 3-уровень платформы - реализует бизнес - логику на этом уровне программист может интегрировать свои сервисы. 4-уровень доступа к БД - недоступен программисту на прямую (доступен через уровень <...> |
|
26.01.2005, 16:10 | #6 |
Microsoft CRM Certified Professional
|
Как уже упоминалось выше вся информация по кастумихации описана в SDK
http://msdn.microsoft.com/library/de...rsion12sdk.asp Идём далее в geting started и видим раздел Supported Customizations, а также его подраздел Unsupported Customizations Таблицы новые, по крайне мере в рамках CRM создавать нельзя, но можно добавлять паля и связи (через Deployment Manager). В принципе создание новой таблицы неизбежно приведёт к созданию web сервиса .NET, который будет работать с этой таблицей. Этот новый компонент интегрируется с MS CRM стандартными средствами, что тривиально. В данном случае свою таблицу нужно хранить в отдельной базе данных на том же SQL сервере. |
|
27.01.2005, 18:15 | #7 |
Участник
|
скрыть закладки
а как на счет спрятать ненужные закладки, например объект Интерес - не интересен компании /вот и каламбур
что думаете |
|
09.02.2005, 15:47 | #8 |
Участник
|
Цитата:
Примера такого проекта у меня нет, но разработчики могут сделать такую web форму - это тривиальная задача. Чтобы она была похожа на остальные формы... про это есть статья для разработчиков на сайте Microsoft не помню не названия ни ссылки, но можно найти по смыслу, к этой статье прилагаются каскадные таблицы стилей MS CRM.
проблема в том, что использование CSS-шаблона конечно помогает, чтобы форма выглядела "как в CRM", но мне бы хотелось, чтобы она еще и работала как в CRM. Кто нибудь может помочь с этим? я имею ввиду помощь с использованием штатных компонент для веб-форм MS CRM, где взять доку по ним и как их встроить в VS? 2 mystic: А разве есть смысл заново писать для своих новых веб-форм функциональность поиска (я уже не говорю о сортировке в гридах и пр.), если все это уже написано и работает на сервере ? (именно про эти компоненты я и говорил, а не про Microsoft.Crm.Platform.*) Цитата:
возможно есть смысл просто закрыть права просмотра на организации (в связанных записях будет видно только название организации без права открытия карточки), зачем, если не секрет, нужна такая функциональность?
Т.к. время идет, то задачу, о которой я писал, решили в лоб и на мой взгяд криво: создана веб-форма, которая вытаскивает для всех пользователей список организаций через запрос от имени "специального" пользователя, но только 4 поля, а собственно просмотр организаций закрыт для всех. |
|
09.02.2005, 16:08 | #9 |
Microsoft CRM Certified Professional
|
Re: скрыть закладки
Цитата:
Изначально опубликовано obyVaTel
а как на счет спрятать ненужные закладки, например объект Интерес - не интересен компании /вот и каламбур что думаете Цитата:
Изначально опубликовано z_av [/B]
помощь с использованием штатных компонент для веб-форм MS CRM, где взять доку по ним и как их встроить в VS Тем временем удалось нарыть такой пример (во вложенном файле): на IIS в Activities\email заменить исходную страницу на эту - увидите кнопку, встроенную в форму. Нашёл в нете, как сделали не известно, но можно попробовать разобраться в коде. |
|
09.02.2005, 16:09 | #10 |
Участник
|
2 obYVatel:
Для того, чтобы пропала закладка Интерес, достаточно в форме Права доступа для каждой роли, которую Вы используете, отключить доступ "на чтение" для "Интереса". Для роли "Администратор" все-так лучше это разрешение оставить. На всякий случай. |
|
31.10.2007, 09:54 | #11 |
Заноза в заднице
|
Всем доброго времени суток, коллеги!
Перечитываю посты форума о MS CRM и резонно задаю сам себе (пока) разные вопросы. Добрался до раздела "Разработка" и первый же пост заинтересовал настолько, что хотел бы поднять его наверх и спросить у уважаемых экспертов в области MS CRM (сам тоже стремлюсь стать экспертом): насколько изменилась картина мира для продукта MS Dynamics CRM за три года, прошедших с того момента, как коллега z_av запостил четыре своих вопроса почти в самом начале данной ветки? Очень интересно отследить эволюцию продукта и его возможности в настоящий момент, естественно, применительно версии 3.0 (ну или как там правильно нумеруется новейший релиз третьей серии продукта). |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|