configureSO::configureSO(QWidget* parent, const char* name, bool /*modal*/, Qt::WindowFlags fl) : XAbstractConfigure(parent, fl) { XSqlQuery configureconfigureSO; setupUi(this); if (name) setObjectName(name); connect(_creditLimit, SIGNAL(editingFinished()), this, SLOT(sEditCreditLimit())); connect(_askUpdatePrice, SIGNAL(toggled(bool)), _ignoreCustDisc, SLOT(setEnabled(bool))); _nextSoNumber->setValidator(omfgThis->orderVal()); _nextQuNumber->setValidator(omfgThis->orderVal()); _nextRaNumber->setValidator(omfgThis->orderVal()); _nextCmNumber->setValidator(omfgThis->orderVal()); _nextInNumber->setValidator(omfgThis->orderVal()); _creditLimit->setValidator(omfgThis->moneyVal()); _orderNumGeneration->setMethod(_metrics->value("CONumberGeneration")); _quoteNumGeneration->setMethod(_metrics->value("QUNumberGeneration")); _creditMemoNumGeneration->setMethod(_metrics->value("CMNumberGeneration")); _invoiceNumGeneration->setMethod(_metrics->value("InvcNumberGeneration")); QString metric; metric = _metrics->value("InvoiceDateSource"); if (metric == "scheddate") _invcScheddate->setChecked(true); else if (metric == "shipdate") _invcShipdate->setChecked(true); else _invcCurrdate->setChecked(true); configureconfigureSO.exec( "SELECT sonumber.orderseq_number AS sonumber," " qunumber.orderseq_number AS qunumber," " cmnumber.orderseq_number AS cmnumber," " innumber.orderseq_number AS innumber " "FROM orderseq AS sonumber," " orderseq AS qunumber," " orderseq AS cmnumber," " orderseq AS innumber " "WHERE ( (sonumber.orderseq_name='SoNumber')" " AND (qunumber.orderseq_name='QuNumber')" " AND (cmnumber.orderseq_name='CmNumber')" " AND (innumber.orderseq_name='InvcNumber') );" ); if (configureconfigureSO.first()) { _nextSoNumber->setText(configureconfigureSO.value("sonumber")); _nextQuNumber->setText(configureconfigureSO.value("qunumber")); _nextCmNumber->setText(configureconfigureSO.value("cmnumber")); _nextInNumber->setText(configureconfigureSO.value("innumber")); } else if (ErrorReporter::error(QtCriticalMsg, this, tr("Error Retrieving SO Setting Information"), configureconfigureSO, __FILE__, __LINE__)) { return; } _allowDiscounts->setChecked(_metrics->boolean("AllowDiscounts")); _allowASAP->setChecked(_metrics->boolean("AllowASAPShipSchedules")); _customerChangeLog->setChecked(_metrics->boolean("CustomerChangeLog")); _salesOrderChangeLog->setChecked(_metrics->boolean("SalesOrderChangeLog")); _restrictCreditMemos->setChecked(_metrics->boolean("RestrictCreditMemos")); _autoSelectForBilling->setChecked(_metrics->boolean("AutoSelectForBilling")); _saveAndAdd->setChecked(_metrics->boolean("AlwaysShowSaveAndAdd")); _firmAndAdd->setChecked(_metrics->boolean("FirmSalesOrderPackingList")); _priceOverride->setChecked(_metrics->boolean("DisableSalesOrderPriceOverride")); _autoAllocateCM->setChecked(_metrics->boolean("AutoAllocateCreditMemos")); _hideSOMiscChrg->setChecked(_metrics->boolean("HideSOMiscCharge")); _enableSOShipping->setChecked(_metrics->boolean("EnableSOShipping")); _printSO->setChecked(_metrics->boolean("DefaultPrintSOOnSave")); _creditCheckSO->setChecked(_metrics->boolean("CreditCheckSOOnSave")); _lineItemsSO->setChecked(_metrics->boolean("DefaultSOLineItemsTab")); _enablePromiseDate->setChecked(_metrics->boolean("UsePromiseDate")); _calcFreight->setChecked(_metrics->boolean("CalculateFreight")); _includePkgWeight->setChecked(_metrics->boolean("IncludePackageWeight")); _quoteafterSO->setChecked(_metrics->boolean("ShowQuotesAfterSO")); _itemPricingPrecedence->setChecked(_metrics->boolean("ItemPricingPrecedence")); _useListPriceSchedules->setChecked(_metrics->boolean("AllowListPriceSchedules")); _wholesalePriceCosting->setChecked(_metrics->boolean("WholesalePriceCosting")); _long30Markups->setChecked(_metrics->boolean("Long30Markups")); _shipform->setId(_metrics->value("DefaultShipFormId").toInt()); _shipvia->setId(_metrics->value("DefaultShipViaId").toInt()); _shipchrg->setId(_metrics->value("DefaultShipChrgId").toInt()); _sellingWarehouse->setId(_metrics->value("DefaultSellingWarehouseId").toInt()); if (_metrics->value("DefaultBalanceMethod") == "B") _balanceMethod->setCurrentIndex(0); else if (_metrics->value("DefaultBalanceMethod") == "O") _balanceMethod->setCurrentIndex(1); _custtype->setId(_metrics->value("DefaultCustType").toInt()); _salesrep->setId(_metrics->value("DefaultSalesRep").toInt()); _terms->setId(_metrics->value("DefaultTerms").toInt()); _partial->setChecked(_metrics->boolean("DefaultPartialShipments")); _backorders->setChecked(_metrics->boolean("DefaultBackOrders")); _freeFormShiptos->setChecked(_metrics->boolean("DefaultFreeFormShiptos")); _creditLimit->setText(_metrics->value("SOCreditLimit")); _creditRating->setText(_metrics->value("SOCreditRate")); if (_metrics->value("soPriceEffective") == "OrderDate") _priceOrdered->setChecked(true); else if (_metrics->value("soPriceEffective") == "ScheduleDate") _priceScheduled->setChecked(true); if(_metrics->value("UpdatePriceLineEdit").toInt() == 1) _dontUpdatePrice->setChecked(true); else if (_metrics->value("UpdatePriceLineEdit").toInt() == 2) _askUpdatePrice->setChecked(true); else if(_metrics->value("UpdatePriceLineEdit").toInt() == 3) _updatePrice->setChecked(true); _ignoreCustDisc->setChecked(_askUpdatePrice->isChecked() && _metrics->boolean("IgnoreCustDisc")); this->setWindowTitle("Sales Configuration"); //Set status of Returns Authorization and Reservations based on context if(_metrics->value("Application") == "PostBooks") { _authNumGenerationLit->setVisible(false); _returnAuthorizationNumGeneration->setVisible(false); _nextRaNumberLit->setVisible(false); _nextRaNumber->setVisible(false); _tab->removeTab(_tab->indexOf(_returns)); _enableReturns->setChecked(false); _enableReservations->hide(); _enableReservations->setChecked(false); _requireReservations->hide(); _requireReservations->setChecked(false); _locationGroup->hide(); _locationGroup->setChecked(false); _lowest->setChecked(false); _highest->setChecked(false); _alpha->setChecked(false); _manualReservations->setChecked(false); } else { configureconfigureSO.exec("SELECT rahead_id FROM rahead LIMIT 1;"); if (configureconfigureSO.first()) _enableReturns->setCheckable(false); else _enableReturns->setChecked(_metrics->boolean("EnableReturnAuth")); configureconfigureSO.exec( "SELECT ranumber.orderseq_number AS ranumber " "FROM orderseq AS ranumber " "WHERE (ranumber.orderseq_name='RaNumber');" ); if (configureconfigureSO.first()) { _nextRaNumber->setText(configureconfigureSO.value("ranumber")); } else _nextRaNumber->setText("10000"); metric = _metrics->value("RANumberGeneration"); if (metric == "M") _returnAuthorizationNumGeneration->setCurrentIndex(0); else if (metric == "A") _returnAuthorizationNumGeneration->setCurrentIndex(1); else if (metric == "O") _returnAuthorizationNumGeneration->setCurrentIndex(2); metric = _metrics->value("DefaultRaDisposition"); if (metric == "C") _disposition->setCurrentIndex(0); else if (metric == "R") _disposition->setCurrentIndex(1); else if (metric == "P") _disposition->setCurrentIndex(2); else if (metric == "V") _disposition->setCurrentIndex(3); else if (metric == "M") _disposition->setCurrentIndex(4); else _disposition->setCurrentIndex(5); metric = _metrics->value("DefaultRaTiming"); if (metric == "I") _timing->setCurrentIndex(0); else if (metric == "R") _timing->setCurrentIndex(1); else _timing->setCurrentIndex(2); metric = _metrics->value("DefaultRaCreditMethod"); if (metric == "N") _creditBy->setCurrentIndex(0); else if (metric == "M") _creditBy->setCurrentIndex(1); else if (metric == "K") _creditBy->setCurrentIndex(2); else if (metric == "C") _creditBy->setCurrentIndex(3); else _creditBy->setCurrentIndex(4); _returnAuthChangeLog->setChecked(_metrics->boolean("ReturnAuthorizationChangeLog")); _printRA->setChecked(_metrics->boolean("DefaultPrintRAOnSave")); _closeRA->setChecked(_metrics->boolean("CloseRAOnCredit")); _enableReservations->setChecked(_metrics->boolean("EnableSOReservations")); _requireReservations->setChecked(_metrics->boolean("RequireSOReservations")); _locationGroup->setChecked(_metrics->boolean("EnableSOReservationsByLocation")); _manualReservations->setChecked(_metrics->boolean("SOManualReservations")); if(_metrics->value("SOReservationLocationMethod").toInt() == 1) _lowest->setChecked(true); else if (_metrics->value("SOReservationLocationMethod").toInt() == 2) _highest->setChecked(true); else if(_metrics->value("SOReservationLocationMethod").toInt() == 3) _alpha->setChecked(true); } _ssosCust->setType(CLineEdit::ActiveCustomers); _enableSSOS->setChecked(_metrics->boolean("SSOSEnabled")); if (_enableSSOS->isChecked()) { _ssosCust->setId(_metrics->value("SSOSDefaultCustId").toInt()); _ssosSaleType->setId(_metrics->value("SSOSDefaultSaleTypeId").toInt()); _ssosRequireInv->setChecked(_metrics->boolean("SSOSRequireInv")); _ssosPrintSOAck->setChecked(_metrics->boolean("SSOSPrintSOAck")); _ssosPrintPackList->setChecked(_metrics->boolean("SSOSPrintPackList")); _ssosPrintInvoice->setChecked(_metrics->boolean("SSOSPrintInvoice")); } else _ssosGroup->setEnabled(false); adjustSize(); }
configureSO::configureSO(QWidget* parent, const char* name, bool modal, Qt::WFlags fl) : XDialog(parent, name, modal, fl) { setupUi(this); connect(_invoiceNumOfCopies, SIGNAL(valueChanged(int)), this, SLOT(sHandleInvoiceCopies(int))); connect(_creditMemoNumOfCopies, SIGNAL(valueChanged(int)), this, SLOT(sHandleCreditMemoCopies(int))); connect(_invoiceWatermarks, SIGNAL(itemSelected(int)), this, SLOT(sEditInvoiceWatermark())); connect(_creditLimit, SIGNAL(editingFinished()), this, SLOT(sEditCreditLimit())); connect(_creditMemoWatermarks, SIGNAL(itemSelected(int)), this, SLOT(sEditCreditMemoWatermark())); connect(_askUpdatePrice, SIGNAL(toggled(bool)), _ignoreCustDisc, SLOT(setEnabled(bool))); _invoiceWatermarks->addColumn( tr("Copy #"), _dateColumn, Qt::AlignCenter ); _invoiceWatermarks->addColumn( tr("Watermark"), -1, Qt::AlignLeft ); _invoiceWatermarks->addColumn( tr("Show Prices"), _dateColumn, Qt::AlignCenter ); _creditMemoWatermarks->addColumn( tr("Copy #"), _dateColumn, Qt::AlignCenter ); _creditMemoWatermarks->addColumn( tr("Watermark"), -1, Qt::AlignLeft ); _creditMemoWatermarks->addColumn( tr("Show Prices"), _dateColumn, Qt::AlignCenter ); _nextSoNumber->setValidator(omfgThis->orderVal()); _nextQuNumber->setValidator(omfgThis->orderVal()); _nextRaNumber->setValidator(omfgThis->orderVal()); _nextCmNumber->setValidator(omfgThis->orderVal()); _nextInNumber->setValidator(omfgThis->orderVal()); _creditLimit->setValidator(omfgThis->moneyVal()); QString metric = _metrics->value("CONumberGeneration"); if (metric == "M") _orderNumGeneration->setCurrentIndex(0); else if (metric == "A") _orderNumGeneration->setCurrentIndex(1); else if (metric == "O") _orderNumGeneration->setCurrentIndex(2); metric = _metrics->value("QUNumberGeneration"); if (metric == "M") _quoteNumGeneration->setCurrentIndex(0); else if (metric == "A") _quoteNumGeneration->setCurrentIndex(1); else if (metric == "O") _quoteNumGeneration->setCurrentIndex(2); else if (metric == "S") _quoteNumGeneration->setCurrentIndex(3); metric = _metrics->value("CMNumberGeneration"); if (metric == "M") _creditMemoNumGeneration->setCurrentIndex(0); else if (metric == "A") _creditMemoNumGeneration->setCurrentIndex(1); else if (metric == "O") _creditMemoNumGeneration->setCurrentIndex(2); else if (metric == "S") _creditMemoNumGeneration->setCurrentIndex(3); metric = _metrics->value("InvcNumberGeneration"); if (metric == "M") _invoiceNumGeneration->setCurrentIndex(0); else if (metric == "A") _invoiceNumGeneration->setCurrentIndex(1); else if (metric == "O") _invoiceNumGeneration->setCurrentIndex(2); metric = _metrics->value("InvoiceDateSource"); if (metric == "scheddate") _invcScheddate->setChecked(true); else if (metric == "shipdate") _invcShipdate->setChecked(true); else _invcCurrdate->setChecked(true); q.exec( "SELECT sonumber.orderseq_number AS sonumber," " qunumber.orderseq_number AS qunumber," " cmnumber.orderseq_number AS cmnumber," " innumber.orderseq_number AS innumber " "FROM orderseq AS sonumber," " orderseq AS qunumber," " orderseq AS cmnumber," " orderseq AS innumber " "WHERE ( (sonumber.orderseq_name='SoNumber')" " AND (qunumber.orderseq_name='QuNumber')" " AND (cmnumber.orderseq_name='CmNumber')" " AND (innumber.orderseq_name='InvcNumber') );" ); if (q.first()) { _nextSoNumber->setText(q.value("sonumber")); _nextQuNumber->setText(q.value("qunumber")); _nextCmNumber->setText(q.value("cmnumber")); _nextInNumber->setText(q.value("innumber")); } else if (q.lastError().type() != QSqlError::NoError) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); return; } _allowDiscounts->setChecked(_metrics->boolean("AllowDiscounts")); _allowASAP->setChecked(_metrics->boolean("AllowASAPShipSchedules")); _customerChangeLog->setChecked(_metrics->boolean("CustomerChangeLog")); _salesOrderChangeLog->setChecked(_metrics->boolean("SalesOrderChangeLog")); _restrictCreditMemos->setChecked(_metrics->boolean("RestrictCreditMemos")); _autoSelectForBilling->setChecked(_metrics->boolean("AutoSelectForBilling")); _saveAndAdd->setChecked(_metrics->boolean("AlwaysShowSaveAndAdd")); _firmAndAdd->setChecked(_metrics->boolean("FirmSalesOrderPackingList")); _priceOverride->setChecked(_metrics->boolean("DisableSalesOrderPriceOverride")); _autoAllocateCM->setChecked(_metrics->boolean("AutoAllocateCreditMemos")); _hideSOMiscChrg->setChecked(_metrics->boolean("HideSOMiscCharge")); _enableSOShipping->setChecked(_metrics->boolean("EnableSOShipping")); _printSO->setChecked(_metrics->boolean("DefaultPrintSOOnSave")); _enablePromiseDate->setChecked(_metrics->boolean("UsePromiseDate")); _calcFreight->setChecked(_metrics->boolean("CalculateFreight")); _includePkgWeight->setChecked(_metrics->boolean("IncludePackageWeight")); _quoteafterSO->setChecked(_metrics->boolean("ShowQuotesAfterSO")); _invoiceNumOfCopies->setValue(_metrics->value("InvoiceCopies").toInt()); if (_invoiceNumOfCopies->value()) { for (int counter = 0; counter < _invoiceWatermarks->topLevelItemCount(); counter++) { _invoiceWatermarks->topLevelItem(counter)->setText(1, _metrics->value(QString("InvoiceWatermark%1").arg(counter))); _invoiceWatermarks->topLevelItem(counter)->setText(2, ((_metrics->value(QString("InvoiceShowPrices%1").arg(counter)) == "t") ? tr("Yes") : tr("No"))); } } _creditMemoNumOfCopies->setValue(_metrics->value("CreditMemoCopies").toInt()); if (_invoiceNumOfCopies->value()) { for (int counter = 0; counter < _creditMemoWatermarks->topLevelItemCount(); counter++) { _creditMemoWatermarks->topLevelItem(counter)->setText(1, _metrics->value(QString("CreditMemoWatermark%1").arg(counter))); _creditMemoWatermarks->topLevelItem(counter)->setText(2, ((_metrics->value(QString("CreditMemoShowPrices%1").arg(counter)) == "t") ? tr("Yes") : tr("No"))); } } _shipform->setId(_metrics->value("DefaultShipFormId").toInt()); _shipvia->setId(_metrics->value("DefaultShipViaId").toInt()); if (_metrics->value("DefaultBalanceMethod") == "B") _balanceMethod->setCurrentIndex(0); else if (_metrics->value("DefaultBalanceMethod") == "O") _balanceMethod->setCurrentIndex(1); _custtype->setId(_metrics->value("DefaultCustType").toInt()); _salesrep->setId(_metrics->value("DefaultSalesRep").toInt()); _terms->setId(_metrics->value("DefaultTerms").toInt()); _partial->setChecked(_metrics->boolean("DefaultPartialShipments")); _backorders->setChecked(_metrics->boolean("DefaultBackOrders")); _freeFormShiptos->setChecked(_metrics->boolean("DefaultFreeFormShiptos")); _creditLimit->setText(_metrics->value("SOCreditLimit")); _creditRating->setText(_metrics->value("SOCreditRate")); if (_metrics->value("soPriceEffective") == "OrderDate") _priceOrdered->setChecked(true); else if (_metrics->value("soPriceEffective") == "ScheduleDate") _priceScheduled->setChecked(true); if(_metrics->value("UpdatePriceLineEdit").toInt() == 1) _dontUpdatePrice->setChecked(true); else if (_metrics->value("UpdatePriceLineEdit").toInt() == 2) _askUpdatePrice->setChecked(true); else if(_metrics->value("UpdatePriceLineEdit").toInt() == 3) _updatePrice->setChecked(true); _ignoreCustDisc->setChecked(_askUpdatePrice->isChecked() && _metrics->boolean("IgnoreCustDisc")); this->setWindowTitle("Sales Configuration"); //Set status of Returns Authorization based on context if(_metrics->value("Application") == "PostBooks") { _authNumGenerationLit->setVisible(false); _returnAuthorizationNumGeneration->setVisible(false); _nextRaNumberLit->setVisible(false); _nextRaNumber->setVisible(false); _tab->removeTab(_tab->indexOf(_returns)); _enableReturns->setChecked(false); _enableReservations->hide(); _enableReservations->setChecked(false); _locationGroup->hide(); _locationGroup->setChecked(false); _lowest->setChecked(false); _highest->setChecked(false); _alpha->setChecked(false); } else { q.exec("SELECT rahead_id FROM rahead LIMIT 1;"); if (q.first()) _enableReturns->setCheckable(false); else _enableReturns->setChecked(_metrics->boolean("EnableReturnAuth")); q.exec( "SELECT ranumber.orderseq_number AS ranumber " "FROM orderseq AS ranumber " "WHERE (ranumber.orderseq_name='RaNumber');" ); if (q.first()) { _nextRaNumber->setText(q.value("ranumber")); } else _nextRaNumber->setText("10000"); metric = _metrics->value("RANumberGeneration"); if (metric == "M") _returnAuthorizationNumGeneration->setCurrentIndex(0); else if (metric == "A") _returnAuthorizationNumGeneration->setCurrentIndex(1); else if (metric == "O") _returnAuthorizationNumGeneration->setCurrentIndex(2); metric = _metrics->value("DefaultRaDisposition"); if (metric == "C") _disposition->setCurrentIndex(0); else if (metric == "R") _disposition->setCurrentIndex(1); else if (metric == "P") _disposition->setCurrentIndex(2); else if (metric == "V") _disposition->setCurrentIndex(3); else if (metric == "M") _disposition->setCurrentIndex(4); else _disposition->setCurrentIndex(5); metric = _metrics->value("DefaultRaTiming"); if (metric == "I") _timing->setCurrentIndex(0); else if (metric == "R") _timing->setCurrentIndex(1); else _timing->setCurrentIndex(2); metric = _metrics->value("DefaultRaCreditMethod"); if (metric == "N") _creditBy->setCurrentIndex(0); else if (metric == "M") _creditBy->setCurrentIndex(1); else if (metric == "K") _creditBy->setCurrentIndex(2); else if (metric == "C") _creditBy->setCurrentIndex(3); else _creditBy->setCurrentIndex(4); _returnAuthChangeLog->setChecked(_metrics->boolean("ReturnAuthorizationChangeLog")); _printRA->setChecked(_metrics->boolean("DefaultPrintRAOnSave")); _enableReservations->setChecked(_metrics->boolean("EnableSOReservations")); _locationGroup->setChecked(_metrics->boolean("EnableSOReservationsByLocation")); if(_metrics->value("SOReservationLocationMethod").toInt() == 1) _lowest->setChecked(true); else if (_metrics->value("SOReservationLocationMethod").toInt() == 2) _highest->setChecked(true); else if(_metrics->value("SOReservationLocationMethod").toInt() == 3) _alpha->setChecked(true); } adjustSize(); }