我需要在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
}
}
将bql常量设为公共常量,因为框架无法看到该常量被声明为私有常量。
public class TypeCS : Constant<string>
{
public TypeCS() : base("CS")
{
}
}