EP 4.0 Questions

Q: On the sales orders info web form on the enterprise portal (Sales > Sales orders > select one sales order), there is an Edit sales order menu, when it is clicked, the record in the sales order info web form is received and shown on the sales order edit web form. How is the record passed from sales order info to sales order edit web form? In the Ax 4, the URL is used on the Edit sales order menu to link to the sales order edit web part which is different from Ax 3 using display menuItem to link to the web form directly.

I have two web forms (one for showing info and one for editing, they work perfectly in the Ax 3) which are similar to the sales order info and sales order edit web forms, but the record could not be passed from info web form to edit web form when the edit menu is clicked.

Ans:
The Web Menu Web Part is connected to the Web Form Web Part. https://blogs.msdn.com/solutions/archive/2006/07/11/662556.aspx on this web page and gets the record context through the web part connection.

Q: On the web form for showing info (it’s similar to the sales order info), I did add some codes in the showMenuFunction method to turn on/off web menus on this web form. It works in the Ax 3, but does not work in the Ax 4.

Ans:
You need to connect the Web Menu Web Part to the Web Form Web Part on the SharePoint Page for the ShMenuFunction to be called. Some sample code for ShowMenuFunction is at https://blogs.msdn.com/solutions/archive/2006/07/25/678097.aspx

Q:I created a web form which it’s similar to the EPSalesQuotationTableCreateTunnel web form in AOT and did try to add records to the worksheet line table by clicking on the Add item button, but an error message is shown – “Cannot edit one or more form data records. Another user changed one or more fields in the records.”. This error message is from the layout method in the WebFormHtml class when the _updateconflict value is true. (when was it set up to true? I could not get the answer in the this class).

Ans:
The variable _updateConflite is set to true in the checkVersion method (class WebFromHtml)

dsos = this.controlDataSource(ctrl);
if (dsos.cursor().RecVersion != str2int(_webrun.viewStateItem(recversionid)))
{
_updateconflict = true;
}

If you are updating the datasource record directly in the table through SQL you properly need to call ds.reread()

Q:I did try to create an Axapta enterprise portal web site (selected Microsoft Dynamics Enterprise Portal template) using sharepoint central administration on the web server. But the created web site is shown without web menu as attached. Is it because of incorrect security settings?

Ans:
Once the site is created , you need to add the user to the site using
Administration->Setup->User Relations. In the Web Sites tab of this dialog , select the site that you created and pick a Site Group.
You might have received the need to do this step as information displayed on the last page of site creation.
You can also check the Application Event log for any login error.