private void TurnOffInvoiceOptions(PXCache cache, FSQuickProcessParameters fsQuickProcessParametersRow)
 {
     cache.SetValueExt <FSQuickProcessParameters.prepareInvoice>(fsQuickProcessParametersRow, false);
     cache.SetValueExt <FSQuickProcessParameters.emailSalesOrder>(fsQuickProcessParametersRow, false);
     cache.SetValueExt <FSQuickProcessParameters.releaseInvoice>(fsQuickProcessParametersRow, false);
     cache.SetValueExt <FSQuickProcessParameters.emailInvoice>(fsQuickProcessParametersRow, false);
     cache.SetValueExt <FSQuickProcessParameters.sOQuickProcess>(fsQuickProcessParametersRow, false);
 }
        protected virtual void FSQuickProcessParameters_RowSelected(PXCache cache, PXRowSelectedEventArgs e)
        {
            if (e.Row == null)
            {
                return;
            }

            FSQuickProcessParameters fsQuickProcessParametersRow = (FSQuickProcessParameters)e.Row;

            SetQuickProcessSettingsVisibility(cache, CurrentSrvOrdTypeRecord.Current, fsQuickProcessParametersRow);
        }
Esempio n. 3
0
        protected virtual void _(Events.RowSelected <FSQuickProcessParameters> e)
        {
            if (e.Row == null)
            {
                return;
            }

            FSQuickProcessParameters fsQuickProcessParametersRow = (FSQuickProcessParameters)e.Row;

            SetQuickProcessSettingsVisibility(e.Cache, CurrentSrvOrdTypeRecord.Current, fsQuickProcessParametersRow);
        }
        protected virtual void FSQuickProcessParameters_GenerateInvoiceFromAppointment_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e)
        {
            if (e.Row == null)
            {
                return;
            }

            FSQuickProcessParameters fsQuickProcessParametersRow = (FSQuickProcessParameters)e.Row;

            if ((bool)e.OldValue != fsQuickProcessParametersRow.GenerateInvoiceFromAppointment &&
                fsQuickProcessParametersRow.GenerateInvoiceFromServiceOrder == false)
            {
                TurnOffInvoiceOptions(cache, fsQuickProcessParametersRow);
            }
        }
Esempio n. 5
0
        protected virtual void _(Events.FieldUpdated <FSQuickProcessParameters, FSQuickProcessParameters.generateInvoiceFromAppointment> e)
        {
            if (e.Row == null)
            {
                return;
            }

            FSQuickProcessParameters fsQuickProcessParametersRow = (FSQuickProcessParameters)e.Row;

            if ((bool)e.OldValue != fsQuickProcessParametersRow.GenerateInvoiceFromAppointment &&
                fsQuickProcessParametersRow.GenerateInvoiceFromServiceOrder == false)
            {
                TurnOffInvoiceOptions(e.Cache, fsQuickProcessParametersRow);
            }
        }
        private void SetQuickProcessSettingsVisibility(PXCache cache, FSSrvOrdType fsSrvOrdTypeRow, FSQuickProcessParameters fsQuickProcessParametersRow)
        {
            if (fsSrvOrdTypeRow != null)
            {
                bool isInvoiceBehavior     = false;
                bool isQuickProcessChecked = false;
                bool isGeneratingInvoice   = fsQuickProcessParametersRow.GenerateInvoiceFromServiceOrder.Value || fsQuickProcessParametersRow.GenerateInvoiceFromAppointment.Value;
                bool postToSO = fsSrvOrdTypeRow.PostTo == ID.SrvOrdType_PostTo.SALES_ORDER_MODULE;

                if (postToSO == true)
                {
                    SOOrderType soOrderTypeRow = PXSelect <SOOrderType,
                                                           Where <
                                                               SOOrderType.orderType, Equal <Required <SOOrderType.orderType> > > >
                                                 .Select(this, fsSrvOrdTypeRow.PostOrderType);

                    if (soOrderTypeRow != null)
                    {
                        isInvoiceBehavior     = soOrderTypeRow.Behavior == SOBehavior.IN;
                        isQuickProcessChecked = (bool)soOrderTypeRow.AllowQuickProcess;
                    }
                }

                PXUIFieldAttribute.SetVisible <FSQuickProcessParameters.sOQuickProcess>(cache, fsQuickProcessParametersRow, postToSO && isQuickProcessChecked);
                PXUIFieldAttribute.SetVisible <FSQuickProcessParameters.prepareInvoice>(cache, fsQuickProcessParametersRow, postToSO && isInvoiceBehavior && fsQuickProcessParametersRow.SOQuickProcess == false);
                PXUIFieldAttribute.SetVisible <FSQuickProcessParameters.releaseInvoice>(cache, fsQuickProcessParametersRow, postToSO && isInvoiceBehavior && fsQuickProcessParametersRow.SOQuickProcess == false);
                PXUIFieldAttribute.SetVisible <FSQuickProcessParameters.emailInvoice>(cache, fsQuickProcessParametersRow, postToSO && isInvoiceBehavior && fsQuickProcessParametersRow.SOQuickProcess == false);
                PXUIFieldAttribute.SetVisible <FSQuickProcessParameters.emailSalesOrder>(cache, fsQuickProcessParametersRow, postToSO);

                //@TODO
                PXUIFieldAttribute.SetVisible <FSQuickProcessParameters.releaseBill>(cache, fsQuickProcessParametersRow, false);
                PXUIFieldAttribute.SetVisible <FSQuickProcessParameters.payBill>(cache, fsQuickProcessParametersRow, false);

                PXUIFieldAttribute.SetEnabled <FSQuickProcessParameters.sOQuickProcess>(cache, fsQuickProcessParametersRow, fsQuickProcessParametersRow.PrepareInvoice.Value == false && isGeneratingInvoice);
            }
        }