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); }
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); } }
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); } }