You can modify source of this extension as per your need since Pricing Analysis is open source solution. Add additional check to exclude lines with 0 cost in InitializePreviewData and InitializeFreightPreviewData. And use this modified compiled library.
Create second level extension and exclude 0 cost lines in view delegate as below.
using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
using PX.Data;
using PX.Objects.SO;
using PX.PricingAnalysis.Ext;
namespace PXPricingAnalysisPXExt
{
publicclass SOOrderEntryPricingAnalysisExt2 :
PXGraphExtension<SOOrderEntryPricingAnalysisExt, SOOrderEntry>
{
//View Delegate of PricingAnalysisPreviewpublic IEnumerable pricingAnalysisPreview()
{
//Locate Graph implementing PricingAnalysisGraph.
SOOrderEntryPricingAnalysisExt paGraph =
Base.GetExtension<SOOrderEntryPricingAnalysisExt>();
//Get data from Base
IEnumerable<PricingAnalysisPreviewLine> datalist =
paGraph.pricingAnalysisPreview().Cast<PricingAnalysisPreviewLine>();
//Exclude zero cost preview lines.return datalist.Where(x => x.CuryExtCost.GetValueOrDefault(0) > 0);
}
}
}
Hi @ChandrasekharM With that filter, it will filter only non zero unit cost items, but we need to avoid the Unit Cost 0 items, because these items are getting involved in the average pricing calculations.
Below is sample code which I have tried to override the view delegate and added this ( if (orgLine.CuryExtCost > 0m)) condition, but still not working. :(
You can modify source of this extension as per your need since Pricing Analysis is open source solution. Add additional check to exclude lines with 0 cost in InitializePreviewData and InitializeFreightPreviewData. And use this modified compiled library.
Create second level extension and exclude 0 cost lines in view delegate as below.
using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
using PX.Data;
using PX.Objects.SO;
using PX.PricingAnalysis.Ext;
namespace PXPricingAnalysisPXExt
{
publicclass SOOrderEntryPricingAnalysisExt2 :
PXGraphExtension<SOOrderEntryPricingAnalysisExt, SOOrderEntry>
{
//View Delegate of PricingAnalysisPreviewpublic IEnumerable pricingAnalysisPreview()
{
//Locate Graph implementing PricingAnalysisGraph.
SOOrderEntryPricingAnalysisExt paGraph =
Base.GetExtension<SOOrderEntryPricingAnalysisExt>();
//Get data from Base
IEnumerable<PricingAnalysisPreviewLine> datalist =
paGraph.pricingAnalysisPreview().Cast<PricingAnalysisPreviewLine>();
//Exclude zero cost preview lines.return datalist.Where(x => x.CuryExtCost.GetValueOrDefault(0) > 0);
}
}
}
We use 3 different kinds of cookies. You can choose which cookies you want to accept. We need basic cookies to make this site work, therefore these are the minimum you can select. Learn more about our cookies.