Пример #1
0
        protected virtual void INRegister_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
        {
            if (e.Row == null)
            {
                return;
            }

            release.SetEnabled(e.Row != null && ((INRegister)e.Row).Hold == false && ((INRegister)e.Row).Released == false);
            iNEdit.SetEnabled(e.Row != null && ((INRegister)e.Row).Hold == false && ((INRegister)e.Row).Released == false);
            iNRegisterDetails.SetEnabled(e.Row != null && ((INRegister)e.Row).Released == true);

            PXUIFieldAttribute.SetEnabled(sender, e.Row, ((INRegister)e.Row).Released == false && ((INRegister)e.Row).OrigModule == GL.BatchModule.IN);
            PXUIFieldAttribute.SetEnabled <INRegister.refNbr>(sender, e.Row, true);
            PXUIFieldAttribute.SetEnabled <INRegister.totalQty>(sender, e.Row, false);
            PXUIFieldAttribute.SetEnabled <INRegister.totalAmount>(sender, e.Row, false);
            PXUIFieldAttribute.SetEnabled <INRegister.totalCost>(sender, e.Row, false);
            PXUIFieldAttribute.SetEnabled <INRegister.status>(sender, e.Row, false);

            sender.AllowInsert = true;
            sender.AllowUpdate = (((INRegister)e.Row).Released == false);
            sender.AllowDelete = (((INRegister)e.Row).Released == false && ((INRegister)e.Row).OrigModule == GL.BatchModule.IN);

            lsselect.AllowInsert = (((INRegister)e.Row).Released == false && ((INRegister)e.Row).OrigModule == GL.BatchModule.IN);
            lsselect.AllowUpdate = (((INRegister)e.Row).Released == false);
            lsselect.AllowDelete = (((INRegister)e.Row).Released == false && ((INRegister)e.Row).OrigModule == GL.BatchModule.IN);

            addInvBySite.SetEnabled(lsselect.AllowInsert);

            PXUIFieldAttribute.SetVisible <INRegister.controlQty>(sender, e.Row, (bool)insetup.Current.RequireControlTotal);
            PXUIFieldAttribute.SetVisible <INRegister.controlAmount>(sender, e.Row, (bool)insetup.Current.RequireControlTotal);
            PXUIFieldAttribute.SetVisible <INTran.projectID>(transactions.Cache, null, IsPMVisible);
            PXUIFieldAttribute.SetVisible <INTran.taskID>(transactions.Cache, null, IsPMVisible);
            PXUIFieldAttribute.SetVisible <INRegister.totalCost>(sender, e.Row, ((INRegister)e.Row).Released == true);

            /// added because IN Transfer is created via INIssueEntry in
            /// <see cref="SO.SOShipmentEntry.PostShipment(INIssueEntry, PXResult{SO.SOOrderShipment, SO.SOOrder}, DocumentList{INRegister}, AR.ARInvoice)"/>
            // TODO: move it to the Ctor or CacheAttached in 2019R1 after AC-118791
            switch (((INRegister)e.Row).DocType)
            {
            case INDocType.Issue:
                PXFormulaAttribute.SetAggregate <INTran.tranAmt>(transactions.Cache, typeof(SumCalc <INRegister.totalAmount>));
                break;

            default:
                PXFormulaAttribute.SetAggregate <INTran.tranAmt>(transactions.Cache, null);
                break;
            }
        }
Пример #2
0
 protected virtual void _(Events.RowSelected <APInvoice> e)
 {
     PXFormulaAttribute.SetAggregate <APTran.curyTranAmt>(Base.Transactions.Cache,
                                                          (e.Row.DocType == APDocType.Prepayment) ? typeof(SumCalc <POOrderPrepayment.curyLineTotal>) : null);
 }