Acumatica 6.10.0010:ARSalesPriceMaint.CalculatesAllesPrice不从扩展BLC工作

Acumatica 6.10.0010:ARSalesPriceMaint.CalculatesAllesPrice不从扩展BLC工作,acumatica,Acumatica,从扩展类调用ARSalesPriceMaint.CalculatesAllesPrice时,Acumatica升级到6.10.0010时出现错误 当通过扩展类(如SOOrderEntry、ARCashSaleEntry、others)调用ARSalesPriceMaint时,我无法判断ARSalesPriceMaint的单例方法是否会导致此错误: Index was out of range. Must be non-negative and less than the size of the

从扩展类调用ARSalesPriceMaint.CalculatesAllesPrice时,Acumatica升级到6.10.0010时出现错误

当通过扩展类(如SOOrderEntry、ARCashSaleEntry、others)调用ARSalesPriceMaint时,我无法判断ARSalesPriceMaint的单例方法是否会导致此错误:

Index was out of range. Must be non-negative and less than the size of 
the collection.
Parameter name: index

   at   
System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument 
argument, ExceptionResource resource)
  at System.Collections.Generic.List`1.InsertRange(Int32 index, 
    IEnumerable`1 collection)
   at 
    PX.Data.PXCache.AlteredDescriptor..ctor(PXEventSubscriberAttribute[] 
    attributes, HashSet`1 fields, _CacheAttachedDelegate method, Type 
    cacheType)
   at PX.Data.PXGraph.b(Type A_0)
   at PX.Data.PXGraph.CreateInstance(Type graphType, String prefix)
   at PX.Data.PXGraph.CreateInstance(Type graphType)
   at PX.Data.PXGraph.CreateInstance[Graph]()
   at System.Lazy`1.CreateValue()
   at System.Lazy`1.LazyInitValue()
   at PX.Objects.AR.ARSalesPriceMaint.get_SingleARSalesPriceMaint()
   at PX.Objects.AR.ARSalesPriceMaint.CalculateSalesPrice(PXCache sender, String custPriceClass, Nullable`1 customerID, Nullable`1 inventoryID, CurrencyInfo currencyinfo, String UOM, Nullable`1 quantity, DateTime date, Nullable`1 currentUnitPrice) 

我正在使用VS2013,希望很快升级到VS2015

有没有人遇到过这种错误类型并知道如何解决?
谢谢。

此升级错误类型最终来自我的自定义代码,特别是来自ARSalesPrice的旧DAC扩展,用于名为PriceCode的自定义字段(请注意缺少“usr”前缀)。缺少SOShipLineSplits的第二个问题与我从ACE customization获得的旧Cst_SOLine类有关。通过将其3个自定义字段移动到新的CacheExtension类中,问题得到了解决

我能够创建一个单独的公共类,该类具有SalesPriceMaint的price calc方法,并且可以很好地(目前)处理SOLine而不会出错。然而,我不再获得保存SOOrder时创建的SOLineSplits或InitTemplan(因此,CreateShipping找不到任何工作)。复制/粘贴较旧的已完成SO订单也缺少拆分/平面ID。在V6.1中,我可以在哪里查看SOLineSplit REC是如何/何时创建的?本月早些时候,V6.0(.1596)的测试没有显示这种行为。编辑:我更新到VS2015,在TargetFramework 4.6.1和C#6下重新编译,但CalculateSalesPrice错误仍然存在。当将ARSalesPriceMaint复制到我自己的公共类中以便调试到代码中时,使用的单例方法工作正常。观察到的“索引超出范围”错误可以通过在单例声明之后注释掉以下DAC覆盖代码块来解决:[PXString(30,InputMask=“>CCCCCCCC”)][PXDefault(typeof(ARSalesPriceFilter.priceCode),PersistingCheck=PXPersistingCheck.Nothing)][PXUIField(DisplayName=“价格代码”,Visibility=PXUIVisibility.SelectorVisible)][PXPriceCodeSelector(typeof(ARSalesPrice.priceCode),typeof(ARSalesPrice.priceCode),typeof(ARSalesPrice.description),ValidateValue=false,DescriptionField=typeof(ARSalesPrice.description))]公共虚拟无效ARSalesPrice\u priceCode\u缓存附加(PXCache sender){}但是,在成功地将SOLine添加到销售订单条目之后,在保存时没有SOLineSplit/InitTemplan记录,因此,CreateShipment操作没有发现任何计划。。。