Ошибка CS0246: «Не удалось найти тип или имя пространства имен» - PullRequest
0 голосов
/ 28 марта 2019

Мне нужно включить строку в 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

    }

}

1 Ответ

2 голосов
/ 28 марта 2019

Сделайте константу bql общедоступной, поскольку каркас не может видеть константу, объявленную как частную.

public class TypeCS : Constant<string>
{
    public TypeCS() : base("CS")
    {
    }
}
...