protected virtual void CATransfer_RowSelected(PXCache sender, PXRowSelectedEventArgs e) { CATransfer transfer = (CATransfer)e.Row; if (transfer == null) { return; } transfer.RGOLAmt = transfer.TranIn - transfer.TranOut; bool transferOnHold = (transfer.Hold == true); bool transferNotReleased = (transfer.Released != true); bool transferReleased = (transfer.Released == true); PXUIFieldAttribute.SetVisible <CATransfer.inGLBalance>(sender, transfer, transferNotReleased); PXUIFieldAttribute.SetVisible <CATransfer.outGLBalance>(sender, transfer, transferNotReleased); PXUIFieldAttribute.SetVisible <CATransfer.cashBalanceIn>(sender, transfer, transferNotReleased); PXUIFieldAttribute.SetVisible <CATransfer.cashBalanceOut>(sender, transfer, transferNotReleased); PXUIFieldAttribute.SetVisible <CATransfer.tranIDIn_CATran_batchNbr>(sender, transfer, transferReleased); PXUIFieldAttribute.SetVisible <CATransfer.tranIDOut_CATran_batchNbr>(sender, transfer, transferReleased); PXUIFieldAttribute.SetEnabled(sender, transfer, false); sender.AllowDelete = transferNotReleased; sender.AllowUpdate = transferNotReleased; Expenses.Cache.SetAllEditPermissions(transferNotReleased); CashAccount cashaccountOut = (CashAccount)PXSelectorAttribute.Select <CATransfer.outAccountID>(sender, e.Row); CashAccount cashaccountIn = (CashAccount)PXSelectorAttribute.Select <CATransfer.inAccountID>(sender, e.Row); bool clearEnabledIn = transferNotReleased && (cashaccountIn != null) && (cashaccountIn.Reconcile == true); bool clearEnabledOut = transferNotReleased && (cashaccountOut != null) && (cashaccountOut.Reconcile == true); PXUIFieldAttribute.SetEnabled <CATransfer.hold>(sender, transfer, transferNotReleased); PXUIFieldAttribute.SetEnabled <CATransfer.transferNbr>(sender, transfer, true); PXUIFieldAttribute.SetEnabled <CATransfer.descr>(sender, transfer, transferNotReleased); PXUIFieldAttribute.SetEnabled <CATransfer.curyTranIn>(sender, transfer, transferNotReleased); PXUIFieldAttribute.SetEnabled <CATransfer.inAccountID>(sender, transfer, transferNotReleased); PXUIFieldAttribute.SetEnabled <CATransfer.inDate>(sender, transfer, transferNotReleased); PXUIFieldAttribute.SetEnabled <CATransfer.inExtRefNbr>(sender, transfer, transferNotReleased); PXUIFieldAttribute.SetEnabled <CATransfer.curyTranOut>(sender, transfer, transferNotReleased); PXUIFieldAttribute.SetEnabled <CATransfer.outAccountID>(sender, transfer, transferNotReleased); PXUIFieldAttribute.SetEnabled <CATransfer.outDate>(sender, transfer, transferNotReleased); PXUIFieldAttribute.SetEnabled <CATransfer.outExtRefNbr>(sender, transfer, transferNotReleased); PXUIFieldAttribute.SetEnabled <CATransfer.clearedOut>(sender, transfer, clearEnabledOut); PXUIFieldAttribute.SetEnabled <CATransfer.clearDateOut>(sender, transfer, clearEnabledOut && transfer.ClearedOut == true); PXUIFieldAttribute.SetEnabled <CATransfer.clearedIn>(sender, transfer, clearEnabledIn); PXUIFieldAttribute.SetEnabled <CATransfer.clearDateIn>(sender, transfer, clearEnabledIn && transfer.ClearedIn == true); Release.SetEnabled(transferNotReleased && !transferOnHold); Reverse.SetEnabled(transferReleased); UIState.RaiseOrHideErrorByErrorLevelPriority <CATransfer.inDate>(sender, transfer, transfer.Released != true && transfer.OutDate > transfer.InDate, Messages.EarlyInDate, PXErrorLevel.Warning); SetAdjRefNbrVisibility(); }