У меня есть свой собственный класс PXGraph для моей собственной таблицы, который при создании CreateInstance () выдает ошибку.Ошибка «System.NullReferenceException: ссылка на объект не установлена на экземпляр объекта».По какой-то причине этого также не происходит в моей среде разработки - только в производственной среде после развертывания.
Стек вызовов:
at PX.Data.PXSelectorAttribute.populateFields(PXCache sender, Boolean bypassInit)
at PX.Data.PXSelectorAttribute.CacheAttached(PXCache sender)
at PX.Data.PXEventSubscriberAttribute.InvokeCacheAttached(PXCache cache)
at PX.Data.PXCache`1..ctor(PXGraph graph)
at PX.Data.PXCacheCollection.get_Item(Type key)
at PX.Data.PXView.get_Cache()
at PX.Data.PXRestrictorAttribute.AlterCommand(PXCache sender)
at PX.Data.PXRestrictorAttribute.CacheAttached(PXCache sender)
at PX.Data.PXAggregateAttribute.CacheAttached(PXCache sender)
at PX.TM.PXOwnerSelectorAttribute.CacheAttached(PXCache sender)
at PX.Data.PXEventSubscriberAttribute.InvokeCacheAttached(PXCache cache)
at PX.Data.PXCache`1..ctor(PXGraph graph)
at PX.Data.PXCacheCollection.get_Item(Type key)
at PX.Data.PXView..ctor(PXGraph graph, Boolean isReadOnly, BqlCommand select)
at PX.Data.PXSelect`2..ctor(PXGraph graph)
at _Initialize(PXGraph )
at PX.Data.PXGraph._InitializeDelegate.Invoke(PXGraph graph)
at PX.Data.PXGraph..ctor()
at PX.Data.PXGraph`1..ctor()
at Aktion.Acumatica.RoyalBay.Customizations.SubscribeTRGData.Graphs.AKTRGItemClassMapMaint..ctor()
at PX.Data.PXGraph.CreateInstance(Type graphType, String prefix)
at PX.Data.PXGraph.CreateInstance(Type graphType)
at PX.Data.PXGraph.CreateInstance[Graph]()
Класс графика:
public class AKTRGItemClassMapMaint : PXGraph<AKTRGItemClassMapMaint>
{
public PXSelect<AKTRGItemClassMap,
Where<AKTRGItemClassMap.trgItemClassCD, Equal<Required<AKTRGItemClassMap.trgItemClassCD>>>> TRGItemClassMaps;
public PXSelect<INSetup> Settings;
public PXSelect<INItemClass,
Where<INItemClass.itemClassID, Equal<Required<INItemClass.itemClassID>>>> ClassItems;
}
Вызов CreateInstance:
var classMapGraph = PXGraph.CreateInstance<AKTRGItemClassMapMaint>();
Структура таблицы:
CREATE TABLE [dbo].[AKTRGItemClassMap](
[CompanyID] [int] NOT NULL,
[ItemClassID] [int] NOT NULL,
[ItemClassCD] [nvarchar](30) NOT NULL,
[TRGItemClassCD] [nvarchar](30) NOT NULL,
CONSTRAINT [PK_EEdiDocType] PRIMARY KEY CLUSTERED
(
[CompanyID] ASC,
[ItemClassID] ASC,
[TRGItemClassCD] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
И класс DAC:
[System.SerializableAttribute()]
public class AKTRGItemClassMap : PX.Data.IBqlTable
{
public abstract class itemClassID : IBqlField { }
[PXDBInt]
public virtual int? ItemClassID { get; set; }
public abstract class itemClassCD : IBqlField { }
[PXDBString(30, IsUnicode = true)]
public virtual string ItemClassCD { get; set; }
public abstract class trgItemClassCD : IBqlField { }
[PXDBString(30, IsUnicode = true)]
public virtual string TRGItemClassCD { get; set; }
}
Есть идеи?