Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Acumatica 如何将新筛选器字段添加到“按项目运行分配”屏幕_Acumatica - Fatal编程技术网

Acumatica 如何将新筛选器字段添加到“按项目运行分配”屏幕

Acumatica 如何将新筛选器字段添加到“按项目运行分配”屏幕,acumatica,Acumatica,我正在自定义“按项目运行分配”屏幕,以便将另一个字段添加到标题/过滤器部分,并使用该字段过滤网格数据。我已使用项目状态字段作为模板,为“状态”添加了一个PXString字段: public class AllocationFilterExt : PXCacheExtension<AllocationFilter> { #region UsrStatus [PXString(1, IsFixed = true)] [ProjectStatus.List()]

我正在自定义“按项目运行分配”屏幕,以便将另一个字段添加到标题/过滤器部分,并使用该字段过滤网格数据。我已使用项目状态字段作为模板,为“状态”添加了一个PXString字段:

public class AllocationFilterExt : PXCacheExtension<AllocationFilter>
{
    #region UsrStatus
    [PXString(1, IsFixed = true)]
    [ProjectStatus.List()]
    [PXDefault(ProjectStatus.Active)]
    [PXUIField(DisplayName = "Status", Required = true, Visibility = PXUIVisibility.SelectorVisible)]
    public virtual string UsrStatus { get; set; }
    public abstract class usrStatus : IBqlField { }
    #endregion
}
公共类分配过滤器ext:PXCacheExtension

有没有想过为什么会发生这种情况?为了使用用户字段,是否需要向业务逻辑中添加一些内容


非常感谢…

在您的
aspx
页面检查中,您的
CommitChanges
设置为
true。

using PX.Objects.PM;
using static PX.Objects.PM.AllocationProcessByProject;
namespace ExampleDB.DAC
{
public sealed class AllocationFilterExt : PXCacheExtension<AllocationFilter>
{
    #region UsrStatus
    [PXString(1, IsFixed = true)]
    [ProjectStatus.List()]
    [PXDefault(ProjectStatus.Active, PersistingCheck = PXPersistingCheck.Nothing)]
    [PXUIField(DisplayName = "Status", Required = true, Visibility = PXUIVisibility.SelectorVisible)]
    public string UsrStatus { get; set; }
    public abstract class usrStatus : IBqlField { }
    #endregion
}
}  
使用PX.Objects.PM;
使用静态PX.Objects.PM.AllocationProcessByProject;
命名空间ExampleDB.DAC
{
公共密封类AllocationFilterText:PXCacheExtension
{
#乌斯塔特斯地区
[PXString(1,IsFixed=true)]
[ProjectStatus.List()]
[PXDefault(ProjectStatus.Active,PersistingCheck=PXPersistingCheck.Nothing)]
[PXUIField(DisplayName=“Status”,必需=true,可见性=PXUIVisibility.SelectorVisible)]
公共字符串UsrStatus{get;set;}
公共抽象类usrStatus:IBqlField{}
#端区
}
}  
在图的扩展中

using ExampleDB.DAC;
using PX.Data;
using PX.Objects.CT;
using PX.Objects.PM;
namespace ExampleDB
{
public class AllocationProcessByProjectExt : PXGraphExtension<AllocationProcessByProject>
{
    public PXFilteredProcessingJoin<PMProject, AllocationProcessByProject.AllocationFilter, LeftJoin<AllocationProcessByProject.Customer, On<AllocationProcessByProject.Customer.bAccountID, Equal<PMProject.customerID>>>
        , Where2<Where<Current<AllocationProcessByProject.AllocationFilter.allocationID>, IsNull, Or<PMProject.allocationID, Equal<Current<AllocationProcessByProject.AllocationFilter.allocationID>>>>
            , And2<Where<Current<AllocationProcessByProject.AllocationFilter.projectID>, IsNull, Or<PMProject.contractID, Equal<Current<AllocationProcessByProject.AllocationFilter.projectID>>>>
                ,And2<Where<Current<AllocationFilterExt.usrStatus>, IsNull, Or<PMProject.status, Equal<Current<AllocationFilterExt.usrStatus>>>>
                , And2<Where<Current<AllocationProcessByProject.AllocationFilter.customerID>, IsNull, Or<PMProject.customerID, Equal<Current<AllocationProcessByProject.AllocationFilter.customerID>>>>
                    , And2<Where<Current<AllocationProcessByProject.AllocationFilter.customerClassID>, IsNull, Or<AllocationProcessByProject.Customer.customerClassID, Equal<Current<AllocationProcessByProject.AllocationFilter.customerClassID>>>>
                        , And2<Where<Current<AllocationProcessByProject.AllocationFilter.customerClassID>, IsNull, Or<AllocationProcessByProject.Customer.customerClassID, Equal<Current<AllocationProcessByProject.AllocationFilter.customerClassID>>>>
                            , And2<Match<Current<AccessInfo.userName>>, And<PMProject.nonProject, Equal<False>, And<PMProject.baseType, Equal<CTPRType.project>>>>>>>>>>> Items;
}
}
使用ExampleDB.DAC;
使用PX数据;
使用PX.Objects.CT;
使用PX.Objects.PM;
名称空间示例数据库
{
公共类分配ProcessByProjectExt:PXGrapherExtension
{
公共PXFilteredProcessingJoin项;
}
}

Sorry-在BQL视图的最后一行:“和>>>>>>>>>>项目;”-什么是CTPRType?我根本找不到任何关于这方面的参考资料…你的Acumatica版本是什么?这段代码在19R2版本17.209.0028中工作-尽管我已经让它工作了。我的错误是使用引用“使用静态PX.Objects.PM.AllocationProcess;”而不是“使用静态PX.Objects.PM.AllocationProcessByProject;”。一旦我修好了,它就工作得很好。谢谢你的帮助!
using ExampleDB.DAC;
using PX.Data;
using PX.Objects.CT;
using PX.Objects.PM;
namespace ExampleDB
{
public class AllocationProcessByProjectExt : PXGraphExtension<AllocationProcessByProject>
{
    public PXFilteredProcessingJoin<PMProject, AllocationProcessByProject.AllocationFilter, LeftJoin<AllocationProcessByProject.Customer, On<AllocationProcessByProject.Customer.bAccountID, Equal<PMProject.customerID>>>
        , Where2<Where<Current<AllocationProcessByProject.AllocationFilter.allocationID>, IsNull, Or<PMProject.allocationID, Equal<Current<AllocationProcessByProject.AllocationFilter.allocationID>>>>
            , And2<Where<Current<AllocationProcessByProject.AllocationFilter.projectID>, IsNull, Or<PMProject.contractID, Equal<Current<AllocationProcessByProject.AllocationFilter.projectID>>>>
                ,And2<Where<Current<AllocationFilterExt.usrStatus>, IsNull, Or<PMProject.status, Equal<Current<AllocationFilterExt.usrStatus>>>>
                , And2<Where<Current<AllocationProcessByProject.AllocationFilter.customerID>, IsNull, Or<PMProject.customerID, Equal<Current<AllocationProcessByProject.AllocationFilter.customerID>>>>
                    , And2<Where<Current<AllocationProcessByProject.AllocationFilter.customerClassID>, IsNull, Or<AllocationProcessByProject.Customer.customerClassID, Equal<Current<AllocationProcessByProject.AllocationFilter.customerClassID>>>>
                        , And2<Where<Current<AllocationProcessByProject.AllocationFilter.customerClassID>, IsNull, Or<AllocationProcessByProject.Customer.customerClassID, Equal<Current<AllocationProcessByProject.AllocationFilter.customerClassID>>>>
                            , And2<Match<Current<AccessInfo.userName>>, And<PMProject.nonProject, Equal<False>, And<PMProject.baseType, Equal<CTPRType.project>>>>>>>>>>> Items;
}
}