Solved

How to stop JIT Debugging

  • 15 December 2021
  • 7 replies
  • 114 views

Userlevel 2
Badge

Hi Everyone, I am learning Acumatica. Please help me on below issue.

 

Whenever ,I open Stock Item Form. I am Getting the below issue.

I’m unable to stop the debugging.

 

 

icon

Best answer by Naveen Boga 16 December 2021, 11:39

View original

7 replies

Userlevel 3
Badge +1

Try this below steps

  1. open run Window + R
  2. Type ‘regedit.exe
  3. Expand HKEY_LOCAL_MACHINE
  4. Expand Software 
  5. Expand WOW6432Node
  6. Expand .NETFramework
  7. Find DbgManagedDebugger

If you find above delete “DbgManagedDebugger”

As same as 

DELETE THIS TOO

 

  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger

     

Userlevel 2
Badge

Try this below steps

  1. open run Window + R
  2. Type ‘regedit.exe
  3. Expand HKEY_LOCAL_MACHINE
  4. Expand Software 
  5. Expand WOW6432Node
  6. Expand .NETFramework
  7. Find DbgManagedDebugger

If you find above delete “DbgManagedDebugger”

As same as 

DELETE THIS TOO

 

  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger

     

Hi @ShahidaValiSyed04  already tried this scenario, It’s not working.

Userlevel 7
Badge +17

Hi @NageswaraRaoAddanki60  Do you have any customizations on the Stock Items screen?

Userlevel 2
Badge

Hi @Naveen B ,yes I had added Custom Field called Override on the Stock Item Screen.

Userlevel 7
Badge +17

Okay! @NageswaraRaoAddanki60  This might be issue your code. Can you please share you code here.

Userlevel 2
Badge

Okey@Naveen B,This is my Implemented code

 public class InventoryItemMaint_Extension : PXGraphExtension<InventoryItemMaint>

    {

        #region Event Handlers

        protected void _(Events.RowSelected<InventoryItem> e)

        {

            InventoryItem row = e.Row;

            InventoryItemExt inventoryItem = PXCache<InventoryItem>.GetExtension<InventoryItemExt>(row);

            AMRPSetup MRP = SelectFrom<AMRPSetup>.View.Select(this.Base);

            AMRPSetupExt aMRPSetup = PXCache<AMRPSetup>.GetExtension<AMRPSetupExt>(MRP);

            bool flag = aMRPSetup.UsrUseDaysSupplytoConsolidateOrders.GetValueOrDefault();

            PXUIFieldAttribute.SetVisible<InventoryItemMfgOnly.aMGroupWindow>(e.Cache, row, flag);

            if (inventoryItem.UsrSTOverride == null || inventoryItem.UsrSTOverride == false)

            {

                INItemClass itemClass = SelectFrom<INItemClass>.Where<INItemClass.itemClassID.IsEqual<@P.AsInt>>.View.Select(this.Base, row.ItemClassID == null ? 1 : row.ItemClassID);

                InventoryItemMfgOnly inventoryItemMfg = SelectFrom<InventoryItemMfgOnly>.Where<InventoryItemMfgOnly.inventoryID.IsEqual<@P.AsInt>>.View.Select(this.Base, row.InventoryID == null ? 33 : row.InventoryID);

                INItemClassExt iNItemClass = PXCache<INItemClass>.GetExtension<INItemClassExt>(itemClass);

                if (inventoryItemMfg != null)

                    inventoryItemMfg.AMGroupWindow = iNItemClass.UsrDaysSupply;

            }

        }

        protected void _(Events.FieldVerifying<InventoryItem, InventoryItemMfgOnly.aMGroupWindow> e)

        {

            if (e.Row == null || e.NewValue == null) return;

            if ((int)e.NewValue <= 0)

            {

                //Throwing an exception to cancel the assignment of the new value to the field

                throw new PXSetPropertyException(Message.DaysSupplymorethanone);

            }

        }

        //-------------------------------------------------

        protected void _(Events.FieldDefaulting<InventoryItem, InventoryItemMfgOnly.aMGroupWindow> e)

        {

            InventoryItem row = e.Row;

            var ItemClassID = row.ClassID == null ? 1 : row.ClassID;

            InventoryItemExt inventoryItem = PXCache<InventoryItem>.GetExtension<InventoryItemExt>(row);

            if (inventoryItem.UsrSTOverride == null || inventoryItem.UsrSTOverride == false)

            {

                INItemClass itemClass = SelectFrom<INItemClass>.Where<INItemClass.itemClassID.IsEqual<@P.AsInt>>.View.Select(this.Base, ItemClassID);

                INItemClassExt iNItemClass = PXCache<INItemClass>.GetExtension<INItemClassExt>(itemClass);

                // e.NewValue = iNItemClass.UsrDaysSupply;

                // Acuminator disable once PX1047 RowChangesInEventHandlersForbiddenForArgs [Justification]

                e.Cache.SetDefaultExt<InventoryItemMfgOnly.aMGroupWindow>(e.Row);

            }

        }

        #endregion

    }

 

Userlevel 7
Badge +17

Hi @NageswaraRaoAddanki60  I have modified your code and commented few logic, which is not recommended in rowselected event.

You can verify with this code and check once.

  public class InventoryItemMaint_Extension : PXGraphExtension<InventoryItemMaint>
{

public PXSetup<AMRPSetup> SetupView;

#region Event Handlers

protected void _(Events.RowSelected<InventoryItem> e)

{
InventoryItem row = e.Row as InventoryItem;

if (row != null)
{
InventoryItemExt inventoryItem = row.GetExtension<InventoryItemExt>();// PXCache<InventoryItem>.GetExtension<InventoryItemExt>(row);

//AMRPSetup MRP = SelectFrom<AMRPSetup>.View.Select(this.Base);

AMRPSetupExt aMRPSetup = SetupView.Current.GetExtension<AMRPSetupExt>(); //PXCache<AMRPSetup>.GetExtension<AMRPSetupExt>(MRP);

bool flag = aMRPSetup.UsrUseDaysSupplytoConsolidateOrders.GetValueOrDefault();

PXUIFieldAttribute.SetVisible<InventoryItemMfgOnly.aMGroupWindow>(e.Cache, row, flag);

//if (inventoryItem.UsrSTOverride == null || inventoryItem.UsrSTOverride == false)

//{

// INItemClass itemClass = SelectFrom<INItemClass>.Where<INItemClass.itemClassID.IsEqual<@P.AsInt>>.View.Select(this.Base, row.ItemClassID == null ? 1 : row.ItemClassID);

// InventoryItemMfgOnly inventoryItemMfg = SelectFrom<InventoryItemMfgOnly>.Where<InventoryItemMfgOnly.inventoryID.IsEqual<@P.AsInt>>.View.Select(this.Base, row.InventoryID == null ? 33 : row.InventoryID);

// INItemClassExt iNItemClass = PXCache<INItemClass>.GetExtension<INItemClassExt>(itemClass);

// if (inventoryItemMfg != null)

// inventoryItemMfg.AMGroupWindow = iNItemClass.UsrDaysSupply;

//}
}

}

protected void _(Events.FieldVerifying<InventoryItem, InventoryItemMfgOnly.aMGroupWindow> e)

{
InventoryItem row = e.Row as InventoryItem;

if (row == null || e.NewValue == null) return;

if ((int)e.NewValue <= 0)

{

//Throwing an exception to cancel the assignment of the new value to the field

throw new PXSetPropertyException(Message.DaysSupplymorethanone);

}

}

//-------------------------------------------------

protected void _(Events.FieldDefaulting<InventoryItem, InventoryItemMfgOnly.aMGroupWindow> e)

{

InventoryItem row = e.Row as InventoryItem;

if (row != null)
{
var ItemClassID = row.ClassID == null ? 1 : row.ClassID;

InventoryItemExt inventoryItem = row.GetExtension<InventoryItemExt>(); //PXCache<InventoryItem>.GetExtension<InventoryItemExt>(row);

if (inventoryItem.UsrSTOverride == null || inventoryItem.UsrSTOverride == false)

{

INItemClass itemClass = SelectFrom<INItemClass>.Where<INItemClass.itemClassID.IsEqual<@P.AsInt>>.View.Select(this.Base, ItemClassID);

INItemClassExt iNItemClass = PXCache<INItemClass>.GetExtension<INItemClassExt>(itemClass);

// e.NewValue = iNItemClass.UsrDaysSupply;

// Acuminator disable once PX1047 RowChangesInEventHandlersForbiddenForArgs [Justification]

e.Cache.SetDefaultExt<InventoryItemMfgOnly.aMGroupWindow>(e.Row);

}
}

}

#endregion

}

 

Reply


About Acumatica ERP system
Acumatica Cloud ERP provides the best business management solution for transforming your company to thrive in the new digital economy. Built on a future-proof platform with open architecture for rapid integrations, scalability, and ease of use, Acumatica delivers unparalleled value to small and midmarket organizations. Connected Business. Delivered.
© 2008 — 2024  Acumatica, Inc. All rights reserved