printInvoices::printInvoices(QWidget *parent, const char *name, bool modal, Qt::WFlags fl) : printMulticopyDocument("InvoiceCopies", "InvoiceWatermark", "InvoiceShowPrices", "PostMiscInvoices", parent, name, modal, fl) { setupUi(optionsWidget()); setWindowTitle(optionsWidget()->windowTitle()); setDoctype("IN"); setReportKey("invchead_id"); _distributeInventory = true; _shipvia->populate( "SELECT MIN(invchead_id), invchead_shipvia " " FROM invchead " " WHERE ( (NOT invchead_printed)" " AND (NOT invchead_posted) )" " GROUP BY invchead_shipvia" " ORDER BY invchead_shipvia;" ); QString errmsg; bool ok = false; MetaSQLQuery mql = MQLUtil::mqlLoad("invoices", "print", errmsg, &ok); if (ok) _docinfoQueryString = mql.getSource(); else ErrorReporter::error(QtCriticalMsg, this, tr("Getting Invoices to Print"), errmsg, __FILE__, __LINE__); _markAllPrintedQry = "UPDATE invchead" " SET invchead_printed=TRUE " " WHERE invchead_id IN (" "<? foreach('printedDocs') ?>" " <? if not isfirst('printedDocs') ?>, <? endif ?>" " <? value('printedDocs') ?>" "<? endforeach ?>" ");" ; _postFunction = "postInvoice"; _postQuery = "SELECT postInvoice(<? value('docid') ?>) AS result;" ; _askBeforePostingQry = "SELECT invoiceTotal(<? value('docid') ?>) = 0 AS ask;" ; _askBeforePostingMsg = tr("<p>Invoice %1 has a total value of 0.<br/>" "Would you like to post it anyway?</p>"); _errCheckBeforePostingQry = "SELECT EXISTS(SELECT *" " FROM curr_rate, invchead " " WHERE ((curr_id=invchead_curr_id)" " AND (invchead_invcdate BETWEEN curr_effective AND curr_expires)" " AND (invchead_id=<? value('docid') ?>))) AS ok;" ; _errCheckBeforePostingMsg = tr("Could not post Invoice %1 because of a missing exchange rate."); connect(this, SIGNAL(aboutToStart(XSqlQuery*)), this, SLOT(sHandleAboutToStart(XSqlQuery*))); connect(this, SIGNAL(finishedWithAll()), this, SLOT(sHandleFinishedWithAll())); }
printCreditMemos::printCreditMemos(QWidget* parent, const char* name, bool modal, Qt::WFlags fl) : printMulticopyDocument("CreditMemoCopies", "CreditMemoWatermark", "CreditMemoShowPrices", "PostARDocuments", parent, name, modal, fl) { setupUi(optionsWidget()); setWindowTitle(optionsWidget()->windowTitle()); setDoctype("CM"); setReportKey("cmhead_id"); _distributeInventory = true; _docinfoQueryString = "SELECT cmhead_id AS docid," " cmhead_number AS docnumber," " cmhead_printed AS printed," " cmhead_posted AS posted," " cmhead_cust_id," " findCustomerForm(cmhead_cust_id, 'C') AS reportname" " FROM cmhead " " WHERE (NOT cmhead_hold" " AND NOT COALESCE(cmhead_printed, false)" " AND checkCreditMemoSitePrivs(cmhead_id));" ; _markAllPrintedQry = "UPDATE cmhead" " SET cmhead_printed=TRUE " " WHERE cmhead_id IN (" "<? foreach('printedDocs') ?>" " <? if not isfirst('printedDocs') ?>, <? endif ?>" " <? value('printedDocs') ?>" "<? endforeach ?>" ");" ; _postFunction = "postCreditMemo"; _postQuery = "SELECT postCreditMemo(<? value('docid') ?>, 0) AS result;" ; connect(this, SIGNAL(finishedWithAll()), this, SLOT(sHandleFinishedWithAll())); }