Our company is going to start implementing the CRM module on the mobile app, so I am in charge of publishing and customizising the defferent screens they feel they will be using the most often, which are Leads, Contacts, Opportunities, and Busines Accounts. However, I run into issues with all these screens.
They all had screens initially in the CRM folder on Mobile, but trying to access the GI’s in the mobile app all give the same error, ‘SiteMap description doesn’t contain primary container’.
CRM folder:
Error when clicking on any of them:
I have also tried creating separate, simple GI’s that would work as a substitute for these screens, like OpportunitiesMobile, but the same error occurs:
I am at a loss on how to procees, and in the MSDL, adding ‘primary = true’ just gives a list of errors, and the only other item I’ve been able to find through the community was to delete and re-create teh SiteMaps, which I have done to no success. Any help will be appreciated.
Best answer by DrewNisley
@jeremiahjohnson For your Update Menu MSDL you don’t have to add the opportunity screen. It’s already added. Same with the Contacts screen. They should just look like this. That might be what’s causing your error.
Hi @DrewNisley, here is the MSDL for the Opportunities-Mobile GI screen: add screen GI907688 { type = FilterListScreen add container "Filter_" { add field "Status" }
add container "Result" { fieldsToShow = 8 listActionsToExpand = 1 containerActionsToExpand = 1 add field "OpportunityID" add field "Subject" add field "AccountName" add field "Contact" add field "Status" add field "Stage" add field "DivisionResponsible" add field "Branch" add containerAction "editDetail" { behavior = Open redirect = True redirectToScreen = "CR304000" } add containerAction "insert" { icon = "system://Plus" behavior = Create #screen = "CR304000" redirect = True redirectToScreen = "CR304000" } } }
And here is what I have added to the SiteMap to make it visible:
You need to set a parameter and use conditions for the “Filter_” container to exist. Without parameters, there is no “Filter_” container, hence throwing your error.
Edit: Or remove that section entirely if you don’t care about the filter and use type = SimpleScreen like @dcomerford said
@dcomerford @DrewNisley Thanks for the feedback. This is the second version of the MSDL, initially I did have just the ‘type = SimpleScreen’ rather than the ‘type = FilterListScreen’, and received the same error of ‘SiteMap description doesn’t contain primary container’. I will try adding in a parameter and using FilterListScreen again and also using SimpleScreen again as well, and respond again if anything changes.
Sorry for the late reply. I have tries both approaches, one with adding in the parameter to the screen for type = FilterListScreen to work and another having the type = SimpleScreen. I have this done with two GI’s to run them concurrently. The new GI, GI907689, is built very similarly, just with Contacts instead of Opportunities. Once I added the ‘Status’ parameter to the Opportunities GI, it worked, allowing me access to the GI as well as the shared filters that had been added to the GI. For the type = SimpleScreen, the same error just popped up as before, ‘SiteMap description doesn’t contain promary container’.
Since I now have the GI and the shared filters available, now I just have one item left to solve, which is inserting new records through this GI. when I select the plus button next to OpportunitiesMobile, I receive an ‘Object Reference not set to an instance of an object’ error. When I am in the GI itself and click the plus button, I recieve a ‘Insert is forbidden for this container error. I have attached the updated xml’s for the OpportunitiesMobile GI, and below is the updated MSDL for the GI screen:
add screen GI907688 { type = FilterListScreen add container "Filter_" { add field "Status" }
add container "Result" { fieldsToShow = 8 listActionsToExpand = 1 containerActionsToExpand = 1 add field "OpportunityID" add field "Subject" add field "AccountName" add field "Contact" add field "Status" add field "Stage" add field "DivisionResponsible" add field "Branch" add containerAction "editDetail" { behavior = Open redirect = True } add containerAction "insert" { icon = "system://Plus" behavior = Create redirect = True } } }
@jeremiahjohnson For your Update Menu MSDL you don’t have to add the opportunity screen. It’s already added. Same with the Contacts screen. They should just look like this. That might be what’s causing your error.