2009-07-10 3 views
0

У меня есть пользовательский объект в Microsoft CRM (4.0). Пользователь должен вводить записи, однако обычно у них есть партия из 20+ записей, которые почти одинаковы, кроме 2 или 3 полей, которые требуют изменения. Я знаю, что мне нужно написать какой-то пользовательский код, чтобы включить это функционально. Однако кто-нибудь может рекомендовать какие-либо методы для этого.MS CRM Сохранить + Скопировать как новый (Пользовательский объект)

В идеале должна быть кнопка, которая сохранит и создаст копию в качестве нового объекта.

Мой текущий способ мышления состоит в том, чтобы передать все детали как часть URL-адреса и использовать javascript для их исключения из события загрузки страницы. Любые идеи приветствуются.

Благодаря Люк

ответ

0

Поскольку существует множество полей, но только различны, то я имею в виду, чтобы установить значение по умолчанию для всех полей, так что пользователи просто нужно изменить эти значения при необходимости определенные значения полей ,

В моем подходе я подключу функцию javascript при загрузке экрана ввода данных формы и использую подход XmlHttp/Ajax, чтобы подключиться к пользовательской веб-службе, чтобы извлекать/извлекать значения по умолчанию для каждого поля. Или вы можете установить эти значения в самой функции javascript, но недостатком этого является сложная настройка позже. Поэтому я выберу подход для привязки к пользовательскому веб-сервису и извлечу его из некоторого объекта параметра приложения.

Ваша идея создания кнопки «клон» также является отличной идеей, что означает, что она будет дублировать все атрибуты предыдущей записи в новую запись, так что она сэкономит время для персонализации ввода данных для настройки разное значение

EDIT

Поскольку вы должны ввести записи в пакетном режиме, как о настройке .aspx экрана для ввода записей. При настройке через экран .ASPX вы можете использовать вкладку, чтобы пользователи могли просматривать вкладки, чтобы настроить значение/атрибут каждой записи.

Будет кнопка «сохранить», а также кнопка «клонировать», чтобы клонировать некоторые общие атрибуты или значения.

+0

Извините, я должен был быть яснее. На каждом объекте сущности полностью отличается. Однако для каждой новой партии есть только несколько значений полей, которые меняются. Поэтому, как правило, большинство сущностей сильно отличаются друг от друга. – Audioillity

0

Я бы создал пользовательскую веб-службу, которая будет принимать тип сущности и идентификатор записи, которую я клонирую. Ваша кнопка «Сохранить и клонировать» вызовет службу, и служба будет обрабатывать детали получения текущей записи и принятия решения о том, какие поля будут установлены в новой записи. Служба создает запись и отправляет Guid записи обратно на вашу кнопку, которая затем открывает вновь созданную запись.

Таким образом, вы избегаете беспорядочности установки/получения значений в JavaScript и связывания полей, которые нужно установить/получить непосредственно в OnLoads, а также избежать слишком длинной строки запроса.

Услуга может быть легко обобщена, так что все, что вам нужно сделать, это добавить вашу кнопку в любую сущность, и она будет работать, если вы настроите свою службу для обработки этого конкретного объекта.

Одним из возможных недостатков является то, что, поскольку кнопка записи клонов фактически создала запись, пользователь будет вынужден удалить клонированную запись, если они решили, что они не захотят клонировать запись в конце концов.

Смежные вопросы