Example #1
0
        protected virtual void INItemSite_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
        {
            INItemSite row = (INItemSite)e.Row;

            bool isTransfer        = (e.Row != null) && INReplenishmentSource.IsTransfer(row.ReplenishmentSource);
            bool isFixedReorderQty = (e.Row != null) && (row.ReplenishmentMethod == INReplenishmentMethod.FixedReorder);

            PXUIFieldAttribute.SetEnabled <INItemSite.pendingStdCost>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).StdCostOverride));
            PXUIFieldAttribute.SetEnabled <INItemSite.pendingStdCostDate>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).StdCostOverride));

            PXUIFieldAttribute.SetEnabled <INItemSite.pendingBasePrice>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).BasePriceOverride));
            PXUIFieldAttribute.SetEnabled <INItemSite.pendingBasePriceDate>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).BasePriceOverride));

            PXUIFieldAttribute.SetEnabled <INItemSite.aBCCodeID>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).ABCCodeOverride));
            PXUIFieldAttribute.SetEnabled <INItemSite.aBCCodeIsFixed>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).ABCCodeOverride));

            PXUIFieldAttribute.SetEnabled <INItemSite.movementClassID>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).MovementClassOverride));
            PXUIFieldAttribute.SetEnabled <INItemSite.movementClassIsFixed>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).MovementClassOverride));

            PXUIFieldAttribute.SetEnabled <INItemSite.preferredVendorID>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).PreferredVendorOverride));
            PXUIFieldAttribute.SetEnabled <INItemSite.preferredVendorLocationID>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).PreferredVendorOverride));

            PXUIFieldAttribute.SetEnabled <INItemSite.replenishmentPolicyID>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).ReplenishmentPolicyOverride));
            PXUIFieldAttribute.SetEnabled <INItemSite.replenishmentMethod>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).ReplenishmentPolicyOverride));
            PXUIFieldAttribute.SetEnabled <INItemSite.replenishmentSource>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).ReplenishmentPolicyOverride));
            PXUIFieldAttribute.SetEnabled <INItemSite.replenishmentSourceSiteID>(sender, e.Row,
                                                                                 (e.Row != null && (bool)((INItemSite)e.Row).ReplenishmentPolicyOverride) && INReplenishmentSource.IsTransfer(((INItemSite)e.Row).ReplenishmentSource));

            PXUIFieldAttribute.SetEnabled <INItemSite.maxShelfLife>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).MaxShelfLifeOverride));
            PXUIFieldAttribute.SetEnabled <INItemSite.launchDate>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).LaunchDateOverride));
            PXUIFieldAttribute.SetEnabled <INItemSite.terminationDate>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).TerminationDateOverride));
            PXUIFieldAttribute.SetEnabled <INItemSite.serviceLevel>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).ServiceLevelOverride));
            PXUIFieldAttribute.SetEnabled <INItemSite.serviceLevelPct>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).ServiceLevelOverride));
            PXUIFieldAttribute.SetEnabled <INItemSite.safetyStock>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).SafetyStockOverride));
            PXUIFieldAttribute.SetEnabled <INItemSite.minQty>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).MinQtyOverride));
            PXUIFieldAttribute.SetEnabled <INItemSite.maxQty>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).MaxQtyOverride));
            PXUIFieldAttribute.SetEnabled <INItemSite.transferERQ>(sender, e.Row, (row != null && row.TransferERQOverride == true && isTransfer == true && isFixedReorderQty));
            PXUIFieldAttribute.SetEnabled <INItemSite.transferERQOverride>(sender, e.Row, (row != null && isTransfer == true && isFixedReorderQty));
            PXUIFieldAttribute.SetEnabled <INItemSite.markupPct>(sender, e.Row, (e.Row != null && ((INItemSite)e.Row).MarkupPctOverride == true));
            PXUIFieldAttribute.SetEnabled <INItemSite.recPrice>(sender, e.Row, (e.Row != null && ((INItemSite)e.Row).RecPriceOverride == true));


            this.subitemrecords.Cache.AllowInsert         =
                this.subitemrecords.Cache.AllowUpdate     =
                    this.subitemrecords.Cache.AllowDelete = ((INItemSite)e.Row).SubItemOverride == true;
            this.updateReplenishment.SetEnabled(this.subitemrecords.Cache.AllowInsert);
            if (isTransfer && row.ReplenishmentSourceSiteID == row.SiteID)
            {
                sender.RaiseExceptionHandling <INItemSite.replenishmentSourceSiteID>(e.Row, row.ReplenishmentSourceSiteID, new PXSetPropertyException(Messages.ReplenishmentSourceSiteMustBeDifferentFromCurrenSite, PXErrorLevel.Warning));
            }
            else
            {
                sender.RaiseExceptionHandling <INItemSite.replenishmentSourceSiteID>(e.Row, row.ReplenishmentSourceSiteID, null);
            }
            this.itemrecord.Cache.IsDirty = false;
        }
        protected virtual void INItemSite_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
        {
            INItemSite row = (INItemSite)e.Row;

            bool isTransfer        = (e.Row != null) && INReplenishmentSource.IsTransfer(row.ReplenishmentSource);
            bool isFixedReorderQty = (e.Row != null) && (row.ReplenishmentMethod == INReplenishmentMethod.FixedReorder);

            PXUIFieldAttribute.SetEnabled <INItemSite.pendingStdCost>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).StdCostOverride));
            PXUIFieldAttribute.SetEnabled <INItemSite.pendingStdCostDate>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).StdCostOverride));

            PXUIFieldAttribute.SetEnabled <INItemSite.pendingBasePrice>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).BasePriceOverride));
            PXUIFieldAttribute.SetEnabled <INItemSite.pendingBasePriceDate>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).BasePriceOverride));

            PXUIFieldAttribute.SetEnabled <INItemSite.aBCCodeID>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).ABCCodeOverride));
            PXUIFieldAttribute.SetEnabled <INItemSite.aBCCodeIsFixed>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).ABCCodeOverride));

            PXUIFieldAttribute.SetEnabled <INItemSite.movementClassID>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).MovementClassOverride));
            PXUIFieldAttribute.SetEnabled <INItemSite.movementClassIsFixed>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).MovementClassOverride));

            PXUIFieldAttribute.SetEnabled <INItemSite.preferredVendorID>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).PreferredVendorOverride));
            PXUIFieldAttribute.SetEnabled <INItemSite.preferredVendorLocationID>(sender, e.Row, (e.Row != null && (bool)((INItemSite)e.Row).PreferredVendorOverride));

            bool ReplenishmentPolicyOverride = row != null && (bool)row.ReplenishmentPolicyOverride;

            PXUIFieldAttribute.SetEnabled <INItemSite.replenishmentPolicyID>(sender, e.Row, ReplenishmentPolicyOverride);
            PXUIFieldAttribute.SetEnabled <INItemSite.replenishmentSource>(sender, e.Row, ReplenishmentPolicyOverride);
            PXUIFieldAttribute.SetEnabled <INItemSite.replenishmentMethod>(sender, e.Row, (ReplenishmentPolicyOverride && row.ReplenishmentSource != INReplenishmentSource.PurchaseToOrder && row.ReplenishmentSource != INReplenishmentSource.DropShipToOrder));
            PXUIFieldAttribute.SetEnabled <INItemSite.replenishmentSourceSiteID>(sender, e.Row,
                                                                                 (ReplenishmentPolicyOverride && (row.ReplenishmentSource == INReplenishmentSource.PurchaseToOrder || row.ReplenishmentSource == INReplenishmentSource.DropShipToOrder || row.ReplenishmentSource == INReplenishmentSource.Transfer || row.ReplenishmentSource == INReplenishmentSource.Purchased)));

            PXUIFieldAttribute.SetRequired <INItemSite.replenishmentSourceSiteID>(sender, isTransfer);

            bool ReplenishmentMethodNone = row != null && row.ReplenishmentMethod != INReplenishmentMethod.None;

            #region Override Replenishment CheckBox SetEnabled
            PXUIFieldAttribute.SetEnabled <INItemSite.maxShelfLifeOverride>(sender, e.Row, ReplenishmentMethodNone);
            PXUIFieldAttribute.SetEnabled <INItemSite.launchDateOverride>(sender, e.Row, ReplenishmentMethodNone);
            PXUIFieldAttribute.SetEnabled <INItemSite.terminationDateOverride>(sender, e.Row, ReplenishmentMethodNone);
            PXUIFieldAttribute.SetEnabled <INItemSite.serviceLevelOverride>(sender, e.Row, ReplenishmentMethodNone);
            PXUIFieldAttribute.SetEnabled <INItemSite.safetyStockOverride>(sender, e.Row, ReplenishmentMethodNone);
            PXUIFieldAttribute.SetEnabled <INItemSite.minQtyOverride>(sender, e.Row, ReplenishmentMethodNone);
            PXUIFieldAttribute.SetEnabled <INItemSite.maxQtyOverride>(sender, e.Row, ReplenishmentMethodNone);
            #endregion

            PXUIFieldAttribute.SetEnabled <INItemSite.maxShelfLife>(sender, e.Row, (row != null && row.MaxShelfLifeOverride == true && ReplenishmentMethodNone));
            PXUIFieldAttribute.SetEnabled <INItemSite.launchDate>(sender, e.Row, (row != null && row.LaunchDateOverride == true && ReplenishmentMethodNone));
            PXUIFieldAttribute.SetEnabled <INItemSite.terminationDate>(sender, e.Row, (row != null && row.TerminationDateOverride == true && ReplenishmentMethodNone));
            PXUIFieldAttribute.SetEnabled <INItemSite.serviceLevel>(sender, e.Row, (row != null && row.ServiceLevelOverride == true && ReplenishmentMethodNone));
            PXUIFieldAttribute.SetEnabled <INItemSite.serviceLevelPct>(sender, e.Row, (row != null && row.ServiceLevelOverride == true && ReplenishmentMethodNone));
            PXUIFieldAttribute.SetEnabled <INItemSite.safetyStock>(sender, e.Row, (row != null && row.SafetyStockOverride == true && ReplenishmentMethodNone));
            PXUIFieldAttribute.SetEnabled <INItemSite.minQty>(sender, e.Row, (row != null && row.MinQtyOverride == true && ReplenishmentMethodNone));
            PXUIFieldAttribute.SetEnabled <INItemSite.maxQty>(sender, e.Row, (row != null && row.MaxQtyOverride == true && ReplenishmentMethodNone));
            PXUIFieldAttribute.SetEnabled <INItemSite.transferERQ>(sender, e.Row, (row != null && row.TransferERQOverride == true && isTransfer && isFixedReorderQty && ReplenishmentMethodNone));
            PXUIFieldAttribute.SetEnabled <INItemSite.transferERQOverride>(sender, e.Row, (row != null && isTransfer && isFixedReorderQty));
            PXUIFieldAttribute.SetEnabled <INItemSite.markupPct>(sender, e.Row, (row != null && row.MarkupPctOverride == true));
            PXUIFieldAttribute.SetEnabled <INItemSite.recPrice>(sender, e.Row, (row != null && row.RecPriceOverride == true));


            this.subitemrecords.Cache.AllowInsert         =
                this.subitemrecords.Cache.AllowUpdate     =
                    this.subitemrecords.Cache.AllowDelete = ((INItemSite)e.Row).SubItemOverride == true;
            this.updateReplenishment.SetEnabled(this.subitemrecords.Cache.AllowInsert);

            if (String.Equals(INReplenishmentSource.Transfer, row.ReplenishmentSource) && row.ReplenishmentSourceSiteID == null)
            {
                sender.RaiseExceptionHandling <INItemSite.replenishmentSourceSiteID>(e.Row, row.ReplenishmentSourceSiteID,
                                                                                     new PXSetPropertyException(IN.Messages.ReplenishmentSourceSiteRequiredInTransfer, PXErrorLevel.Error));
            }
            else if (isTransfer && row.ReplenishmentSourceSiteID == row.SiteID)
            {
                sender.RaiseExceptionHandling <INItemSite.replenishmentSourceSiteID>(e.Row, row.ReplenishmentSourceSiteID, new PXSetPropertyException(Messages.ReplenishmentSourceSiteMustBeDifferentFromCurrenSite, PXErrorLevel.Warning));
            }
            else
            {
                sender.RaiseExceptionHandling <INItemSite.replenishmentSourceSiteID>(e.Row, row.ReplenishmentSourceSiteID, null);
            }
            this.itemrecord.Cache.IsDirty = false;

            if (row != null && row.InvtAcctID == null)
            {
                try
                {
                    INItemSiteMaint.DefaultInvtAcctSub(this, row, itemrecord.Current, insite.Current, postclass.Current);
                }
                catch (PXMaskArgumentException) { }
            }
        }