在使用向导创建文档服务时,在Dynamics AX 2012 R3 CU8上,系统会为服务中的不同操作生成架构。有没有办法控制生成的内容?
例如,如果我创建一个HcmWorker作为父查询而DirPerson作为孩子只有几个我感兴趣的字段的查询,那么系统会生成一些我不喜欢的模式。比如,我将在下面提到几个:
它添加了像AxdEntity_DirPerson_DirParty.Name这样的字段,即使我明确没有在查询中包含此字段
此字段的minOccurs是1,由于它是计算字段,因此无法工作。我更喜欢这个领域不包括在内。如果那是不可能的,至少我想有minOccurs = 0
为了使问题更加有趣,导入工作者的标准服务(HcmWorkerImportService)对于Name字段具有minOccurs = 0。
我试图弄清楚如何控制这些值。
答案 0 :(得分:0)
查看initMandatoryFieldsMap
课程中的AxdBase
方法,并在HcmWorkerImportService
中根据需要覆盖该方法。
initMandatoryFieldsMap方法指定哪些字段是必填字段 在文档类发送或接收的XML中。这个方法是 用于指定文档的必填字段而不指定 他们在桌面上。
请参阅:MSDN: Walkthrough: Creating a Service Using the AIF Document Service Wizard("要覆盖initMandatoryFieldsMap方法" )
示例:
protected void initMandatoryFieldsMap()
{
super();
this.setParmMethodAsMandatory(classnum(AxdSalesOrder),
methodstr(AxdBase,parmDocPurpose));
}