public static void SetComponentControlsState(PXCache cache, INComponent component) { bool disabledFixedAmtAndPercentage = false; if (PXAccess.FeatureInstalled <FeaturesSet.aSC606>()) { disabledFixedAmtAndPercentage = true; PXUIFieldAttribute.SetEnabled <INComponent.amtOption>(cache, null, false); PXUIFieldAttribute.SetEnabled <INComponent.fixedAmt>(cache, null, false); PXUIFieldAttribute.SetEnabled <INComponent.percentage>(cache, null, false); PXDefaultAttribute.SetPersistingCheck <INComponent.amtOption>(cache, null, PXPersistingCheck.Nothing); PXDefaultAttribute.SetPersistingCheck <INComponent.fixedAmt>(cache, null, PXPersistingCheck.Nothing); PXDefaultAttribute.SetPersistingCheck <INComponent.percentage>(cache, null, PXPersistingCheck.Nothing); } if (component == null) { return; } bool isResidual = component.AmtOption == INAmountOption.Residual; PXDefaultAttribute.SetPersistingCheck <INComponent.deferredCode>(cache, component, isResidual ? PXPersistingCheck.Nothing : PXPersistingCheck.NullOrBlank); PXUIFieldAttribute.SetEnabled <INComponent.deferredCode>(cache, component, isResidual == false); PXUIFieldAttribute.SetEnabled <INComponent.fixedAmt>(cache, component, disabledFixedAmtAndPercentage == false && component.AmtOption == INAmountOption.FixedAmt); PXUIFieldAttribute.SetEnabled <INComponent.percentage>(cache, component, disabledFixedAmtAndPercentage == false && component.AmtOption == INAmountOption.Percentage); var code = (DRDeferredCode)PXSelectorAttribute.Select <INComponent.deferredCode>(cache, component); bool enableTerms = DeferredMethodType.RequiresTerms(code) && isResidual == false; PXUIFieldAttribute.SetEnabled <INComponent.defaultTerm>(cache, component, enableTerms); PXUIFieldAttribute.SetEnabled <INComponent.defaultTermUOM>(cache, component, enableTerms); }
protected virtual void INComponent_Percentage_FieldDefaulting(PXCache sender, PXFieldDefaultingEventArgs e) { INComponent row = e.Row as INComponent; if (row != null && row.AmtOption == INAmountOption.Percentage) { row.Percentage = GetRemainingPercentage(); } }
protected virtual void INComponent_ComponentID_FieldUpdated(PXCache sender, PXFieldUpdatedEventArgs e) { INComponent row = e.Row as INComponent; if (row != null) { InventoryItem item = InventoryItem.PK.FindDirty(this, row.ComponentID); var deferralCode = (DRDeferredCode)PXSelectorAttribute.Select <InventoryItem.deferredCode>(Item.Cache, item); bool useDeferralFromItem = deferralCode != null && deferralCode.MultiDeliverableArrangement != true; if (item != null) { row.SalesAcctID = item.SalesAcctID; row.SalesSubID = item.SalesSubID; row.UOM = item.SalesUnit; row.DeferredCode = useDeferralFromItem ? item.DeferredCode : null; row.DefaultTerm = item.DefaultTerm; row.DefaultTermUOM = item.DefaultTermUOM; } } }
protected virtual void INComponent_AmtOption_FieldUpdated(PXCache sender, PXFieldUpdatedEventArgs e) { INComponent row = e.Row as INComponent; if (row != null) { if (row.AmtOption == INAmountOption.Percentage) { row.FixedAmt = null; row.Percentage = GetRemainingPercentage(); } else { row.Percentage = 0; } if (row.AmtOption == INAmountOption.Residual) { sender.SetValueExt <INComponent.deferredCode>(row, null); sender.SetDefaultExt <INComponent.fixedAmt>(row); sender.SetDefaultExt <INComponent.percentage>(row); } } }