0

Error validating customization due to conflict between projects.

I set the level to 99 for one project.

My code is very simple. I am flipping the Status in Vendor Maintenance to "H" if certain fields are updated within Vendor Maintenance, but it is conflicting with a project with customizations to a few CS screens.

<Graph ClassName="VendorMaint" Source="#CDATA" IsNew="True" FileType="ExistingGraph">
<CDATA name="Source"><![CDATA[
using PX.Data;
using PX.Objects.CS;

namespace PX.Objects.AP
{
    public class VendorMaint_Extension : PXGraphExtension<VendorMaint>
    {
        protected void CSAnswers_Value_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e)
        {
            Base.BAccount.SetValueExt<VendorR.status>(Base.BAccount.Current, "H");
        }
        protected void Address_AddressLine1_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e)
        {
            Base.BAccount.SetValueExt<VendorR.status>(Base.BAccount.Current, "H");
        }
    }
}]]></CDATA>
    </Graph>
    <DAC type="PX.Objects.CR.BAccount">
        <Field FieldName="Status" TypeName="string" OverrideClassName="PX.Objects.AP.Vendor" StorageName="ExistingColumn" />
    </DAC>
</Customization>

Error: there is a conflict between customization projects. Thay are trying to customize the same DataField Status from PX.Objects.CR.BAccount

Validation failed.

I am new to Acumatica and the posts i've found all seem to be for earlier versions. Any guidance would be greatly appreciated.

Rowan
  • 55
  • 1
  • 5
  • I would suggest the addition of the base method handlers to your event handlers and the invocation of them before your code. Also, do you the code of the second customization? – Samvel Petrosov Aug 13 '19 at 03:22

1 Answers1

0

You did not upload the code from the second customization project, but looking at your code it seems you don't need to change anything in the BAccount DAC so you could simplify your project by removing that customization, this should solve the conflict being reported. Also it would make sense to keep any existing events by telling your overrides to invoke base handlers before setting the new status value.

Try changing your project like this (take note the first line should match your description and Acumatica version):

<Customization level="99" description="" product-version="18.212">
<Graph ClassName="VendorMaint" Source="#CDATA" IsNew="True" FileType="ExistingGraph">
<CDATA name="Source"><![CDATA[
using PX.Data;
using PX.Objects.CS;

namespace PX.Objects.AP
{
    public class VendorMaint_Extension : PXGraphExtension<VendorMaint>
    {
        protected void CSAnswers_Value_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e, PXFieldUpdated InvokeBaseHandler)
        {
            if (InvokeBaseHandler != null) InvokeBaseHandler(cache, e);

            Base.BAccount.SetValueExt<VendorR.status>(Base.BAccount.Current, "H");
        }
        protected void Address_AddressLine1_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e, PXFieldUpdated InvokeBaseHandler)
        {
            if (InvokeBaseHandler != null) InvokeBaseHandler(cache, e);

            Base.BAccount.SetValueExt<VendorR.status>(Base.BAccount.Current, "H");
        }
    }
}]]></CDATA>
</Graph>
</Customization>
markoan
  • 498
  • 5
  • 14