2016-09-26 2 views
0

Я написал код для настраиваемых объектов, которые динамически представляют вопросы, на которые должен отвечать пользователь. Код создает записи ответов, которые затем связаны с родительской записью.Dynamics CRM Сохраняет глобальные значения массива во время события OnSave

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

Моя идея состоит в том, что я могу хранить значения записи записи ответа в глобальном массиве и OnSave родительской записи, а затем обновлять записи ответов, чтобы связать их с родителем. НО, когда я сохраняю запись, мой мир очищается.

Есть ли способ сохранить значения, хранящиеся в этом глобальном массиве? Или у кого-нибудь есть более умный способ маршрутизации вокруг этой проблемы? Большое спасибо за любую помощь.

+0

Как вы «задаете вопросы, на которые пользователь должен ответить»? Являются ли эти вопросы атрибутами для объекта? – dynamicallyCRM

+0

Они отображаются через веб-ресурс HTML, а вопросы - это фактические записи. Нет, они не являются атрибутами формы. –

ответ

2

Имея в виде, что вы используете HTML веб-ресурс, и вы будете иметь доступ к глобальному контексту, я думаю, что в этих альтернативах:

  • Force пользователя вручную сохранить запись: Я знаете, что вы хотите избежать этого параметра, но это поведение будет аналогично тому, которое есть у сеток (они показывают сообщение, в котором говорится «Включить этот контент, сохранить запись»). Вы можете выполнить это, используя Form Type.

  • Сохраните временные данные в скрытом поле: вместо использования глобального массива для сохранения ответов вы можете использовать скрытое поле в родительском объекте, чтобы данные сохранялись. Вы сможете создавать связанные объекты, когда форма загружается снова (для повторного использования кода, который у вас есть сейчас), или с помощью плагина (Создать Создать родительского объекта).

+0

Спасибо за ваш ответ. Когда вы говорите, чтобы сохранить ответы в скрытом поле - если у меня есть массив из 3 указаний, я бы использовал поле поиска, которое может удерживать все лиги в виде отдельных записей? Или вы думаете о чем-то другом? –

+0

Честно говоря, мое первое, хотя это текстовое поле, где вы можете хранить свои данные как JSON, например. –

+0

Ах, ладно, это имеет смысл. Благодаря! Я собираюсь попробовать. –

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