JSON file format to generate for outbound:
Class: formJsonSerializer
Contract class: pickListHeaderContract , need to pass all required values to contract class.
This blog is for Dynamics AX (AXAPTA) Developers,this will help you for your development issues. This site contains some Microsoft Dynamics AX X++ Codes for use in your day to day use.
Class: formJsonSerializer
Contract class: pickListHeaderContract , need to pass all required values to contract class.
x++ code to set bold of field value based on the modification in D365FO Form control
Form : PurchVendorPortalResponses
private void registerForChangeTracking()
{
viewManager = VersioningDocumentViewManager::construct();
viewManager.registerDataContainerForDataSource(PurchaseOrderResponseHeader_DS,
VersioningDocumentViewDataContainer::constructFromDataSource(
PurchaseOrderResponseHeader_DS,
[fieldStr(PurchaseOrderResponseHeaderAllVersions, PurchTableVersion)],
fieldStr(PurchaseOrderResponseHeaderAllVersions, VersionDateTime),
new PurchaseOrderResponseHeaderMapper()));
viewManager.registerDataContainerForDataSource(PurchaseOrderResponseLine_DS,
VersioningDocumentViewDataContainer::constructFromDataSource(
PurchaseOrderResponseLine_DS,
[fieldStr(PurchaseOrderResponseLineAllVersions, PurchTableVersion),
fieldStr(PurchaseOrderResponseLineAllVersions, PurchaseOrderResponseLine)],
fieldStr(PurchaseOrderResponseLineAllVersions, VersionDateTime),
new PurchaseOrderResponseLineMapper()));
viewManager.registerControlForTracking(PurchaseOrderResponseHeader_DlvTerm);
viewManager.registerControlForTracking(PurchaseOrderResponseHeader_DlvMode);
viewManager.registerControlForTracking(PurchaseOrderResponseHeader_VendorRef);
viewManager.registerControlForTracking(PurchaseOrderResponseLine_PurchQty);
viewManager.registerControlForTracking(PurchaseOrderResponseLine_ConfirmedDlv);
viewManager.registerControlForTracking(PurchaseOrderResponseLine_ExternalItemId);
viewManager.registerControlForTracking(PurchaseOrderResponseLine_Name);
}
=====
Extension to add extra feild.
/// <summary>
///
/// </summary>
[ExtensionOf(formstr(PurchVendorPortalResponses))]
final class TestPurchVendorPortalResponses_Extension
{
/// <summary>
///
/// </summary>
public void init()
{
next init();
viewManager.registerControlForTracking(PurchaseOrderResponseLine_PurchPrice);
}
}
====
Similarly:
Form: PurchVendorPortalAllResponse
Method: registerForChangeTracking()
Extenion to add new control for tracking and bold:
[ExtensionOf(formstr(PurchVendorPortalAllResponse))]
final class TestPurchVendorPortalAllResponse_Extension
{
public void init()
{
next init();
VersioningDocumentViewManager viewManager = this.getViewManager();
viewManager.registerControlForTracking(PurchaseOrderResponseLineAllVersions_PurchPrice);
}
}
class ClassParmData
{
CustTable
custTable;// table buffer declaration
}
public static void main(Args args)
{
ClassParmData
parmData;
Table1
table1;
FormDataSource
fds;
if(args.record().TableId
== tablenum(CustTable))
{
custTable
= args.record(); // assigning the selected record
}
fds
= custTable.dataSource();// getting the datasource
parmData=
new ClassParmData(fds); //passing the form datasource to New() method
}
void new(FormDataSource fdst) //
receving the datasource to fdst-FormDataSource
{
//
1st optoin to do this
MultiSelectionHelper
helper = MultiSelectionHelper::construct();
helper.parmDatasource(fdst);
custTable
= helper.getFirst();
while
(custTable.RecId != 0)
{
custTable
= helper.getNext();
}
//
second way
for(custTable
= fdst.getFirst(true); custTable; custTable = fdst.getNext()) //
fdst.getFirst(True) to select marked records
{
info(strfmt(custTable.Field1));
}
//if
you are updating some records in the form write the below line to refresh the
data in form.
//fdst.research();
}
void
parmFormDataSource(formDataSource fdst)
{
for(custTable
= fdst.getFirst(true); custTable; custTable = fdst.getNext()) //
fdst.getFirst(True) to select marked records
{
info(strfmt(custTable.Field1));
}
//if
you are updating some records in the form write the below line to refresh the
data in form.
//fdst.research();
}
[DataContractAttribute] class ABCUserProfilesBulkDeleteContract { UserId userId; [DataMemberAttribute('UserId')] pu...