我需要在BQL中包含一个字符串,因此,我在一个类中创建了一个私有类来定义在BQL中使用的常量字符串。
我面临的问题是,我发布时此代码未通过验证。
我收到以下错误: “ \ App_RuntimeCode \ PX_Objects_SO_AddSOFilter_extensions.cs(48):错误CS0246:找不到类型或名称空间名称'TypeCS'(您是否缺少using指令或程序集引用?)
\ App_RuntimeCode \ PX_Objects_SO_AddSOFilter_extensions.cs(60):错误CS0246:找不到类型或名称空间名称“ TypeCS”(您是否缺少using指令或程序集引用?)
\ App_RuntimeCode \ PX_Objects_SO_AddSOFilter_extensions.cs(48):错误CS0246:找不到类型或名称空间名称'TypeCS'(是否缺少using指令或程序集引用?) ” 任何帮助或建议将不胜感激。
namespace PX.Objects.SO
{
[PXNonInstantiatedExtension]
public class SO_AddSOFilter_ExistingColumn : PXCacheExtension<PX.Objects.SO.AddSOFilter>
{
private class TypeCS : Constant<string>
{
public TypeCS() : base("CS")
{
}
}
#region OrderType
[PXDBString(2, IsFixed = true, InputMask = ">aa")]
[PXSelector(typeof(Search2<SOOrderType.orderType,
InnerJoin<SOOrderTypeOperation, On<SOOrderTypeOperation.orderType, Equal<SOOrderType.orderType>>>,
Where<SOOrderType.active, Equal<True>,
And<SOOrderType.requireShipping, Equal<True>, Or<SOOrderType.orderType, Equal<TypeCS>,
...
[PXDefault(typeof(Search2<SOOrderType.orderType,
InnerJoin<SOOrderTypeOperation, On<SOOrderTypeOperation.orderType, Equal<SOOrderType.orderType>>,
LeftJoin<SOSetup, On<SOSetup.defaultOrderType, Equal<SOOrderType.orderType>>>>,
Where<SOOrderType.active, Equal<True>,
And<SOOrderType.requireShipping, Equal<True>, Or<SOOrderType.orderType, Equal<TypeCS>,
... [PXUIField(DisplayName = "Order Type")]
[PXFormula(typeof(Default<AddSOFilter.operation>))]
public string OrderType { get; set; }
#endregion
}
}
答案 0 :(得分:2)
将bql常量设为公开,因为框架无法看到该常量被声明为私有。
public class TypeCS : Constant<string>
{
public TypeCS() : base("CS")
{
}
}