Acumatica 在一般查询条件中使用非持久字段
我正在建立一个通用查询,该查询将列出带有FixedRecurringPriceVal和UsrCustomFixedRecurringPriceVal的合同细节。后者是一个自定义的持久字段。现在,在这个一般查询中,我只想列出客户合同中具有不同FixedRecurringPriceVal和UsrCustomFixedRecurringPriceVal的合同细节 但是,我可以在结果网格中使用FixedRecurringPriceVal,在需要比较这些字段的情况下,似乎无法使用此字段 在查看数据字段源时,我发现了这一点Acumatica 在一般查询条件中使用非持久字段,acumatica,Acumatica,我正在建立一个通用查询,该查询将列出带有FixedRecurringPriceVal和UsrCustomFixedRecurringPriceVal的合同细节。后者是一个自定义的持久字段。现在,在这个一般查询中,我只想列出客户合同中具有不同FixedRecurringPriceVal和UsrCustomFixedRecurringPriceVal的合同细节 但是,我可以在结果网格中使用FixedRecurringPriceVal,在需要比较这些字段的情况下,似乎无法使用此字段 在查看数据字段源时
[PXDecimal(6)]
[PXFormula(typeof(GetItemPriceValue<
ContractDetail.contractID,
ContractDetail.contractItemID,
ContractDetailType.ContractDetail,
ContractDetail.fixedRecurringPriceOption,
Selector<ContractDetail.contractItemID, ContractItem.recurringItemID>,
ContractDetail.fixedRecurringPrice,
ContractDetail.basePriceVal,
ContractDetail.qty,
Switch<
Case<Where<Parent<Contract.status>, Equal<Contract.status.draft>,
Or<Parent<Contract.status>, Equal<Contract.status.pendingActivation>>>,
IsNull<Parent<Contract.activationDate>, Parent<Contract.startDate>>,
Case<Where<Parent<Contract.status>, Equal<Contract.status.active>,
Or<Parent<Contract.status>, Equal<Contract.status.inUpgrade>>>,
IsNull<Parent<ContractBillingSchedule.nextDate>, Current<AccessInfo.businessDate>>,
Case<Where<Parent<Contract.status>, Equal<Contract.status.expired>>,
IsNull<Parent<ContractBillingSchedule.nextDate>, Parent<Contract.expireDate>>,
Case<Where<Parent<Contract.status>, Equal<Contract.status.canceled>>,
IsNull<Parent<Contract.terminationDate>, Current<AccessInfo.businessDate>>>>>>,
Current<AccessInfo.businessDate>>>))]
[PXUIField(DisplayName = "Recurring Price")]
public decimal? FixedRecurringPriceVal
{
get;
set;
}
[PXDecimal(6)]
[PX公式(类型)(GetItemPriceValue<
合同细节,
ContractDetail.contractItemID,
ContractDetailType.ContractDetail,
ContractDetail.fixedRecurringPriceOption,
选择器,
合同细节。固定的固定价格,
ContractDetail.basePriceVal,
合同详细信息数量,
开关<
案例
当前>>)]
[PXUIField(DisplayName=“定期价格”)]
公共小数?固定的固定价格
{
得到;
设置
}
所以,对我来说,非持久性字段似乎不能用于一般查询条件。我做了一点谷歌搜索,但找不到任何解决方案,也查看了S130数据检索和分析,找不到这种情况的具体解决方案
我们有没有办法做到这一点
谢谢。不,您不能在条件中使用非持久性字段。
“字段”下拉列表故意将其排除在外。下面是正在加载下拉列表的GenericInquiryDesigner图中的FieldSelecting事件处理程序
protected void GIWhere_DataFieldName_FieldSelecting(PXCache cache, PXFieldSelectingEventArgs e)
{
string[] allParameters = this.GetAllParameters(true);
PXStringListAttribute.SetList(cache, e.Row, typeof(GIWhere.dataFieldName).Name, allParameters, allParameters);
this.a<GIWhere.dataFieldName>(cache, e.Row, true, (PXCache c, string f) => !PXGenericInqGrph.IsVirtualField(c, f, null));
}
protected void GIWhere\u DataFieldName\u fieldselection(PXCache缓存,PXFieldSelectingEventArgs e)
{
字符串[]allParameters=this.GetAllParameters(true);
pxstringlisttribute.SetList(缓存,例如行,typeof(GIWhere.dataFieldName).Name,allParameters,allParameters);
this.a(缓存,e.Row,true,(PXCache c,string f)=>!PXGenericInqGrph.IsVirtualField(c,f,null));
}
在这种情况下,唯一的方法是创建一个单独的页面,而不是GI。谢谢。很高兴知道,不确定我是否在文档中遗漏了这一点。