Today I had this situation:
After some research with the IE8 Developer Tool I found out that the entity window are actually two windows:
http://mucdevcrmdb01:22222/MyCompany/main.aspx?etc=1&extraqs=%3fetc%3d1&pagetype=entityrecord
The inner window (IFrame):
http://mucdevcrmdb01:22222/MyCompany/userdefined/edit.aspx?etc=1&id=%7b717BBB91-B59C-E011-8A01-00155D59091B%7d&pagemode=iframe&sitemappath=Workplace%7cMyWork%7cnav_activities
Issue/Bug: After creating a new entity the new entity's guid (ObjectId) is not added to the URL of the main/outer window.
Workaround:
In the entity's onload method I inserted the following JavaScript code:
if (crmForm.FormType == 2 || crmForm.FormType == 6)
{
if (parent.location.href.indexOf('&id=') == -1)
{
// add id to url if entity has been created
var newLoc = parent.location.href + '&id=' + crmForm.ObjectId;
parent.location.href = newLoc;
}
}
Explanation of code:
First IF: Checks if FormType is in edit or quick edit mode
Second IF: Checks if the main windows URL already contains an ID query parameter
IF not it will add the ID with current object's guid to the query string of the main window.
This causes the main window to reload a second time but this is acceptable for me as I could not find a better workaround. Also this will only happen in the situation of creating a new entity and hitting reload or F5.
- I created a new account
- I saved the new account
- I started a workflow
- I hit F5 to refresh the window to see the changes in my newly created account.
- Issue: Instead of getting the form of my newly created account the refresh gave me another new empty account form!
After some research with the IE8 Developer Tool I found out that the entity window are actually two windows:
- The main entity window with the ribbon bar
- The inner window (IFrame), which actually includes the entity's edit form and JavaScript handlers/event code.
http://mucdevcrmdb01:22222/MyCompany/main.aspx?etc=1&extraqs=%3fetc%3d1&pagetype=entityrecord
The inner window (IFrame):
http://mucdevcrmdb01:22222/MyCompany/userdefined/edit.aspx?etc=1&id=%7b717BBB91-B59C-E011-8A01-00155D59091B%7d&pagemode=iframe&sitemappath=Workplace%7cMyWork%7cnav_activities
Issue/Bug: After creating a new entity the new entity's guid (ObjectId) is not added to the URL of the main/outer window.
Workaround:
In the entity's onload method I inserted the following JavaScript code:
if (crmForm.FormType == 2 || crmForm.FormType == 6)
{
if (parent.location.href.indexOf('&id=') == -1)
{
// add id to url if entity has been created
var newLoc = parent.location.href + '&id=' + crmForm.ObjectId;
parent.location.href = newLoc;
}
}
Explanation of code:
First IF: Checks if FormType is in edit or quick edit mode
Second IF: Checks if the main windows URL already contains an ID query parameter
IF not it will add the ID with current object's guid to the query string of the main window.
This causes the main window to reload a second time but this is acceptable for me as I could not find a better workaround. Also this will only happen in the situation of creating a new entity and hitting reload or F5.
Comments
Post a Comment