C# 对于acumatica,我如何着手抓取与所选客户相关的人员(联系人)?
您好:)我试图实现的是创建一个联系人选择器,当您单击选择器图标时,它将显示联系人表的筛选结果,该表仅显示与特定公司相关的联系人,如下所示: 上面的图片是在销售订单屏幕上,我的目标是在项目屏幕上。所以当我试着把它移过去,确保有相同的设置时,它似乎在项目屏幕中不起作用 当我尝试打开选择器时,框是空的。我想问题可能是我试图在PMProject表和BAccount表之间匹配的值不匹配,所以我使用Description字段输出我得到的值,它们看起来是相同的 这是我用来创建选择器的设置:C# 对于acumatica,我如何着手抓取与所选客户相关的人员(联系人)?,c#,acumatica,C#,Acumatica,您好:)我试图实现的是创建一个联系人选择器,当您单击选择器图标时,它将显示联系人表的筛选结果,该表仅显示与特定公司相关的联系人,如下所示: 上面的图片是在销售订单屏幕上,我的目标是在项目屏幕上。所以当我试着把它移过去,确保有相同的设置时,它似乎在项目屏幕中不起作用 当我尝试打开选择器时,框是空的。我想问题可能是我试图在PMProject表和BAccount表之间匹配的值不匹配,所以我使用Description字段输出我得到的值,它们看起来是相同的 这是我用来创建选择器的设置: [PXUIFi
[PXUIField(DisplayName="Contact")]
[PXSelector(typeof(Search2<Contact.displayName,
LeftJoin<BAccount, On<BAccount.bAccountID, Equal<Contact.bAccountID>>>,
Where<Contact.contactType, Equal<ContactTypesAttribute.person>>>))]
[PXRestrictor(typeof(
Where<Current<PMContact.customerID>,
Like<BAccount.bAccountID>>), "")]
[PXUIField(DisplayName=“Contact”)]
[PXSelector(typeof(Search2))]
[PX限流器(类型)(
其中,“)]
这与我在销售订单屏幕上使用的设置完全相同,很明显现在它使用的是PMProject的CustomerID
我有没有做错什么?任何帮助都将不胜感激:D
更新
谢谢你的回答,约瑟夫!当我点击联系人字段时,它仍然显示为空。见下文:
以下是我添加解决方案的方式:
您似乎不需要加入BAccount。
另外,在“Search2中,你在哪里使用displayname?我设法解决了这个问题。Joseph的回答让我重新思考如何将联系人与当前项目相匹配,因为我可以使用联系人表而不是BAccount表 我发现我只需要将Contact.bAccountID字段与PMContact.customerID字段的值进行比较,这将为我提供所有关联的联系人 将此比较添加到PXRestrictor为我解决了此问题:)
[PXDBString(50)]
[PXUIField(DisplayName=“Contact”)]
[PXSelector(typeof(Search2))]
[PX限流器(类型)(
其中,“)]
感谢您的回答Joseph!我尝试了您的解决方案,但似乎不起作用。我已更新了我的问题,说明了如何添加您的代码以及结果:)
[PXSelector(typeof(Search<Contact.contactID, Where<Contact.contactType, Equal<ContactTypesAttribute.person>,
And<Where<Contact.contactID, Equal<Current<PMContact.customerID>>>>>>))]
[PXDBString(50)]
[PXUIField(DisplayName="Contact")]
[PXSelector(typeof(Search2<Contact.displayName,
LeftJoin<BAccount, On<BAccount.bAccountID, Equal<Contact.bAccountID>>>,
Where<Contact.contactType, Equal<ContactTypesAttribute.person>>>))]
[PXRestrictor(typeof(
Where<Current<PMContact.customerID>,
Like<Contact.bAccountID>>), "")]