22.10.2012, 18:37 | #1 |
Участник
|
Форма редактирования сущности.
Добрый день! Подскажите решение, следующей задачи.
Есть сущность A (parrent) которая имеет дополнительные атрибуты, реализованные в сущности Б (child). В сущности A на форме редактирования подгружается Iframe функционал формы редактирования сущности Б. В форме сущности А в JS при событии сохранения с начало вызывается метод сохранения сущности Б, после сохраняется сущность А. Если в сущности Б были изменения, тогда при перезагрузки страницы загружается форма редактирования сущности Б, которая раньше грузилась в Iframe, а если были изменения по сущности А, то загружается форма редактирования сущности А с фреймом сущности Б. Как можно вылечить чтобы при изменениях в сущности Б, страница перезагружалась с нужной мне формой редактирования сущности А? |
|
22.10.2012, 19:30 | #2 |
Участник
|
Нашёл примерное решение, это объявить скрытое поле (целое число) в сущности А, и инкриментировать его постоянно при сохранении сущности Б, тогда получается что сущность А была отредактирована и при перезагрузки страницы, загружается нужный урл сушности.
parent.Xrm.Page.getAttribute("description").setValue("any value"); parent.Xrm.Page.getAttribute("description").setSubmitMode("always"); Может есть более практичное решение? |
|
22.10.2012, 22:03 | #3 |
Moderator
|
Цитата:
Сообщение от FordSoft
Добрый день! Подскажите решение, следующей задачи.
Есть сущность A (parrent) которая имеет дополнительные атрибуты, реализованные в сущности Б (child). В сущности A на форме редактирования подгружается Iframe функционал формы редактирования сущности Б. В форме сущности А в JS при событии сохранения с начало вызывается метод сохранения сущности Б, после сохраняется сущность А. Цитата:
Тем не менее я совершенно не понял то там происходит с вашими формами. Может быть вы приложите скриншоты? Цитата:
Сообщение от FordSoft
Нашёл примерное решение, это объявить скрытое поле (целое число) в сущности А, и инкриментировать его постоянно при сохранении сущности Б, тогда получается что сущность А была отредактирована и при перезагрузки страницы, загружается нужный урл сушности.
parent.Xrm.Page.getAttribute("description").setValue("any value"); parent.Xrm.Page.getAttribute("description").setSubmitMode("always"); Может есть более практичное решение?
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional Последний раз редактировалось Артем Enot Грунин; 22.10.2012 в 22:07. |
|
23.10.2012, 10:02 | #4 |
Заноза в заднице
|
Цитата:
Сообщение от FordSoft
Нашёл примерное решение, это объявить скрытое поле (целое число) в сущности А, и инкриментировать его постоянно при сохранении сущности Б, тогда получается что сущность А была отредактирована и при перезагрузки страницы, загружается нужный урл сушности.
parent.Xrm.Page.getAttribute("description").setValue("any value"); parent.Xrm.Page.getAttribute("description").setSubmitMode("always"); Может есть более практичное решение? Поясню: например, из Ваших объяснений у меня возникло на первый взгляд, что Вам нужно отследить изменение данных связанной сущности в форме редактирования (то есть на клиенте) и с помощью скрипта сделать так, чтобы в открытой форме сущности А обновить значения полей, которые должны обновиться при добавлении либо обновлении записей сущности Б. Так?
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков! Последний раз редактировалось Likefire; 23.10.2012 в 10:07. |
|
23.10.2012, 12:55 | #5 |
Участник
|
Цитата:
Цитата:
Так вот если изменений в родительской сущности не было, и были изменения в дочерней сущности, то после сохранения и перезагрузке страницы в окно грузиться моя отредактированная форма дочерней сущности. А если были изменения в родительской сущности, то грузится страница редактирования родительской сущности + IFRAME дочерней сущности, как в принципе и необходимо. Числовое поле просто постоянно обновляется, это означает что на родительской форме были изменения, поэтому она вызовет своё события сохранить сущность, и нормально перегрузиться страница. |
|
23.10.2012, 13:03 | #6 |
Участник
|
Цитата:
Сообщение от Likefire
А нельзя ли ссылку на решение, если найдено в сети или даже на данном форуме? Просто не очень понятно, во-первых как сохранение другой сущности может быть отслежено в контексте выполнения Вашей задачи и во-вторых: нельзя ли сформулировать задачу более общо, что-ли, потому как сложно понять саму прикладную цель.
h__p://social.microsoft.com/Forums/eu/crm/thread/0cd7f7ba-8e5e-421d-bf78-d50d3a91ad90 Задача такая что есть некая абстрактная сущность Обращение, у этого обращение может быть различные доп. атрибуты в зависимости от типа Обращение. Эти доп. атрибуты объявлены как объекты со своими полями. Задача по типу выбора обращение, подгрузить в IFrame нужную сущность доп. атрибутов обращения. И сохранить обе сущности. Цитата:
Сообщение от Likefire
Поясню: например, из Ваших объяснений у меня возникло на первый взгляд, что Вам нужно отследить изменение данных связанной сущности в форме редактирования (то есть на клиенте) и с помощью скрипта сделать так, чтобы в открытой форме сущности А обновить значения полей, которые должны обновиться при добавлении либо обновлении записей сущности Б. Так?
|
|
23.10.2012, 13:48 | #7 |
Участник
|
Решение 1. (на мой взгляд, самое правильное)
Просто добавить все дополнительные атрибуты в главную сущность. Решение 2. На форму главной сущности добавлять не iframe, а кнопку "Редактировать доп. атрибуты", по нажатию на которую откроется форма редактирования дочерней сущности в отдельном окне. Решение 3. При сохранении главной сущности не вызывать стандартное сохранение дочерней, а сохранить ее самостоятельно. Т.е. считать все атрибуты с формы на iframе, и через ajax (использую rest или soap – что больше нравиться) сохранить сущность. PS. JS скрипты на форму лучше добавить стандартным способом, не копируя никаких форм, иначе Ваше решение сразу обречено не работать в crmonline. |
|
23.10.2012, 14:43 | #8 |
Участник
|
Цитата:
Хорошая идея. Сразу не додумался, если нечего не получиться видимо так и буду делать. Спасибо! |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|