Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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();
            }
        }
Esempio n. 3
0
        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;
                }
            }
        }
Esempio n. 4
0
        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);
                }
            }
        }