當前位置: 首頁>>代碼示例>>PHP>>正文


PHP lastinvid函數代碼示例

本文整理匯總了PHP中lastinvid函數的典型用法代碼示例。如果您正苦於以下問題:PHP lastinvid函數的具體用法?PHP lastinvid怎麽用?PHP lastinvid使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了lastinvid函數的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: create_dummy

function create_dummy($deptid)
{
    db_connect();
    # Insert purchase to DB
    $sql = "INSERT INTO nons_invoices(cusname, cusaddr, cusvatno, chrgvat, sdate, subtot, balance, vat,\n\t\t\ttotal, done, username, prd, invnum, div)";
    $sql .= " VALUES('', '', '', 'yes', CURRENT_DATE, 0, 0, 0, 0, 'n', '" . USER_NAME . "', '" . PRD_DB . "',\n\t\t\t0,'" . USER_DIV . "')";
    $rslt = db_exec($sql) or errDie("Unable to create template Non-Stock Invoice.", SELF);
    # Get next ordnum
    $invid = lastinvid();
    return $purid;
}
開發者ID:andrecoetzee,項目名稱:accounting-123.com,代碼行數:11,代碼來源:nons-invoice-new.php

示例2: invoice

function invoice()
{
    extract($_REQUEST);
    pglib_transaction("BEGIN");
    $invnum = divlastid("inv");
    $sql = "INSERT INTO cubit.invoices(deptid, chrgvat, odate, printed, done, \n\t\t\t\tusername, prd, invnum, div, systime, pslip_sordid, cusnum, ordno)\n\t\t\tVALUES ('" . USER_DIV . "', 'inc', current_date, 'n', 'n',\n\t\t\t\t'" . USER_NAME . "', '" . PRD_DB . "', '{$invnum}', '" . USER_DIV . "',\n\t\t\t\tcurrent_date, '{$sordid}', '{$cusnum}', '{$sordid}')";
    $inv_rslt = db_exec($sql) or errDie("Unable to retrieve invoice.");
    $invid = lastinvid();
    $sql = "SELECT stock.stkid, stock.whid, qty, sorders_items.vatcode, amt, unitcost\n\t\t\tFROM cubit.sorders_items\n\t\t\t\tLEFT JOIN cubit.stock ON sorders_items.stkid=stock.stkid\n\t\t\tWHERE sordid='{$sordid}'";
    $stock_rslt = db_exec($sql) or errDie("Unable to retrieve stock.");
    while (list($stkid, $whid, $qty, $vatcode, $amt, $unitcost) = pg_fetch_array($stock_rslt)) {
        $sql = "INSERT INTO cubit.inv_items (invid, whid, stkid, qty, div,\n\t\t\t\t\tvatcode, amt, unitcost)\n\t\t\t\tVALUES ('{$invid}', '{$whid}', '{$stkid}', '{$qty}', '" . USER_DIV . "',\n\t\t\t\t\t'{$vatcode}', '{$amt}', '{$unitcost}')";
        db_exec($sql) or errDie("Unable to add inventory items.");
    }
    $OUTPUT = "\n\t<script>\n\t\tmove(\"../cust-credit-stockinv-no-neg.php?invid={$invid}&cont=true\");\n\t</script>";
    pglib_transaction("COMMIT");
    return $OUTPUT;
}
開發者ID:andrecoetzee,項目名稱:accounting-123.com,代碼行數:18,代碼來源:picking_slip_invoice.php

示例3: create_dummy

function create_dummy($deptid)
{
    $trans_date_setting = getCSetting("USE_TRANSACTION_DATE");
    if (isset($trans_date_setting) and $trans_date_setting == "yes") {
        $trans_date_value = getCSetting("TRANSACTION_DATE");
        $date_arr = explode("-", $trans_date_value);
        $date_year = $date_arr[0];
        $date_month = $date_arr[1];
        $date_day = $date_arr[2];
    } else {
        $date_year = date("Y");
        $date_month = date("m");
        $date_day = date("d");
    }
    $odate = "{$date_year}-{$date_month}-{$date_day}";
    db_connect();
    # Insert purchase to DB
    $sql = "\n\t\tINSERT INTO nons_invoices (\n\t\t\tcusname, cusaddr, cusvatno, chrgvat, sdate, odate, subtot, balance, vat, total, done, username, prd, invnum, \n\t\t\ttyp, div, multiline \n\t\t) VALUES (\n\t\t\t'', '', '', 'yes', CURRENT_DATE, '{$odate}', 0, 0, 0, 0, 'n', '" . USER_NAME . "', '" . PRD_DB . "', 0, \n\t\t\t'quo', '" . USER_DIV . "', 'yes'\n\t\t)";
    $rslt = db_exec($sql) or errDie("Unable to create template Non-Stock Quote.", SELF);
    return lastinvid();
}
開發者ID:andrecoetzee,項目名稱:accounting-123.com,代碼行數:21,代碼來源:nons-multiline-quote-new.php

示例4: create_dummy

function create_dummy($deptid)
{
    db_connect();
    # Dummy Vars
    $cusnum = 0;
    $salespn = "";
    $comm = "";
    $salespn = "";
    $chrgvat = getSetting("SELAMT_VAT");
    //	$odate = date("Y-m-d");
    $ordno = "";
    $delchrg = "0.00";
    $cordno = "";
    $terms = 0;
    $traddisc = 0;
    $SUBTOT = 0;
    $vat = 0;
    $total = 0;
    $vatnum = "";
    $cusacc = "";
    $telno = "";
    $trans_date_setting = getCSetting("USE_TRANSACTION_DATE");
    if (isset($trans_date_setting) and $trans_date_setting == "yes") {
        $trans_date_value = getCSetting("TRANSACTION_DATE");
        $date_arr = explode("-", $trans_date_value);
        $date_year = $date_arr[0];
        $date_month = $date_arr[1];
        $date_day = $date_arr[2];
    } else {
        $date_year = date("Y");
        $date_month = date("m");
        $date_day = date("d");
    }
    $odate = "{$date_year}-{$date_month}-{$date_day}";
    // $invid = divlastid('pinv', USER_DIV);
    # insert invoice to DB
    $sql = "\n\t\tINSERT INTO cubit.pinvoices (\n\t\t\tdeptid, cusnum, cordno, ordno, chrgvat, terms, traddisc, salespn, odate, \n\t\t\tdelchrg, subtot, vat, total, balance, comm, username, printed, done, prd, \n\t\t\tvatnum, cusacc, telno, div\n\t\t) VALUES (\n\t\t\t'{$deptid}', '{$cusnum}',  '{$cordno}', '{$ordno}', '{$chrgvat}', '{$terms}', '{$traddisc}', '{$salespn}', '{$odate}', \n\t\t\t'{$delchrg}', '{$SUBTOT}', '{$vat}' , '{$total}', '{$total}', '{$comm}', '" . USER_NAME . "', 'n', 'n', '" . PRD_DB . "', \n\t\t\t'{$vatnum}', '{$cusacc}', '{$telno}', '" . USER_DIV . "'\n\t\t)";
    $rslt = db_exec($sql) or errDie("Unable to insert invoice to Cubit.", SELF);
    # get next ordnum
    $invid = lastinvid();
    return $invid;
}
開發者ID:kumarsivarajan,項目名稱:accounting-123,代碼行數:42,代碼來源:pos-invoice-new.php

示例5: fintInvoice

/**
 * @ignore
 */
function fintInvoice($cusnum, $total, $rate)
{
    $ftotal = sprint($total * $rate);
    db_connect();
    $sql = "SELECT * FROM customers WHERE cusnum = '{$cusnum}' AND div = '" . USER_DIV . "'";
    $custRslt = db_exec($sql) or errDie("Unable to view customer");
    $cus = pg_fetch_array($custRslt);
    $curr = getSymbol($cus['fcid']);
    $xrate = getRate($cus['fcid']);
    # Default data
    $sdate = date("Y-m-d");
    $invnum = divlastid('inv', USER_DIV);
    db_connect();
    # Insert purchase to DB
    $sql = "\n\t\tINSERT INTO nons_invoices (\n\t\t\tcusid, cusname, cusaddr, cusvatno, chrgvat, \n\t\t\tfcid, currency, xrate, sdate, subtot, \n\t\t\tbalance, fbalance, vat, total, done, \n\t\t\tusername, prd, invnum, typ, ctyp, \n\t\t\ttval, location, descrip, div, odate\n\t\t) VALUES (\n\t\t\t'{$cus['cusnum']}', '{$cus['cusname']} {$cus['surname']}', '{$cus['addr1']}', '{$cus['vatnum']}', 'none', \n\t\t\t'{$cus['fcid']}', '{$curr['symbol']}', '{$xrate}', '{$sdate}', '{$total}', \n\t\t\t'{$ftotal}', '{$total}', 0, '{$total}', 'y', \n\t\t\t'" . USER_NAME . "', '" . PRD_DB . "', '{$invnum}', 'inv', 's', \n\t\t\t'{$cusnum}', 'int', 'Interest Charged', '" . USER_DIV . "', '{$sdate}'\n\t\t)";
    $rslt = db_exec($sql) or errDie("Unable to create Interest Invoice.", SELF);
    # Get next ordnum
    $invid = lastinvid();
    # Insert purchase items
    $sql = "\n\t\tINSERT INTO nons_inv_items (\n\t\t\tinvid, qty, amt, cunitcost, unitcost, \n\t\t\tdescription, div\n\t\t) VALUES (\n\t\t\t'{$invid}', '1', '{$total}', '{$ftotal}', '{$total}', \n\t\t\t'Interest on Outstanding Invoices.', '" . USER_DIV . "'\n\t\t)";
    $rslt = db_exec($sql) or errDie("Unable to insert invoice items to Cubit.", SELF);
    return $invnum;
}
開發者ID:andrecoetzee,項目名稱:accounting-123.com,代碼行數:26,代碼來源:core-settings.php

示例6: accept

function accept($_POST)
{
    extract($_POST);
    # Validate input
    require_lib("validate");
    $v = new validate();
    $v->isOk($invid, "num", 1, 20, "Invalid Sales Order number.");
    # display errors, if any
    if ($v->isError()) {
        $err = "";
        $errors = $v->getErrors();
        foreach ($errors as $e) {
            $err .= "<li class=err>" . $e["msg"];
        }
        $confirm .= "<p><input type=button onClick='JavaScript:history.back();' value='&laquo; Correct submission'>";
        return $confirm;
    }
    # Get Sales Order info
    db_connect();
    $sql = "SELECT * FROM nons_invoices WHERE invid = '{$invid}' AND div = '" . USER_DIV . "'";
    $invRslt = db_exec($sql) or errDie("Unable to get -sorder- information");
    if (pg_numrows($invRslt) < 1) {
        return "<i class=err>Not Found</i>";
    }
    $inv = pg_fetch_array($invRslt);
    db_connect();
    /* - Start Copying - */
    pglib_transaction("BEGIN") or errDie("Unable to start a database transaction.", SELF);
    $sql = "INSERT INTO nons_invoices(cusname,cusaddr,cusvatno,chrgvat,sdate,odate,done,username,\n\t\t\t\tprd,invnum,div,remarks,cusid,age,typ,subtot,balance,vat,total,descrip,ctyp,\n\t\t\t\taccid,tval,docref,jobid,jobnum,labid,location,fcid,currency,xrate,fbalance,\n\t\t\t\tfsubtot)\n\tVALUES('{$inv['cusname']}','{$inv['cusaddr']}','{$inv['cusvatno']}','{$inv['chrgvat']}','{$inv['sdate']}',\n\t\t\t'{$inv['odate']}', '{$inv['done']}','{$inv['username']}','{$inv['prd']}','{$inv['invnum']}','{$inv['div']}',\n\t\t\t'{$inv['remarks']}','{$inv['cusid']}','{$inv['age']}','inv','{$inv['subtot']}','{$inv['balance']}',\n\t\t\t'{$inv['vat']}','{$inv['total']}','{$inv['descrip']}', '{$inv['ctyp']}','{$inv['accid']}','{$inv['tval']}',\n\t\t\t'{$inv['docref']}','{$inv['jobid']}','{$inv['jobnum']}','{$inv['labid']}','{$inv['location']}',\n\t\t\t'{$inv['fcid']}','{$inv['currency']}','{$inv['xrate']}','{$inv['fbalance']}', '{$inv['fsubtot']}')";
    $upRslt = db_exec($sql) or errDie("Unable to update -sorder- information");
    # get next ordnum
    $ninvid = lastinvid();
    # Get selected stock in this Sales Order
    db_connect();
    $sql = "SELECT * FROM nons_inv_items  WHERE invid = '{$invid}' AND div = '" . USER_DIV . "'";
    $stkdRslt = db_exec($sql);
    while ($stkd = pg_fetch_array($stkdRslt)) {
        $stkd['cunitcost'] += 0;
        $sql = "INSERT INTO nons_inv_items(invid, qty, description, div, amt, unitcost, accid, rqty, vatex, cunitcost)\n\t\tVALUES('{$ninvid}', '{$stkd['qty']}', '{$stkd['description']}', '{$stkd['div']}', '{$stkd['amt']}', '{$stkd['unitcost']}', '{$stkd['accid']}', '{$stkd['rqty']}', '{$stkd['vatex']}', '{$stkd['cunitcost']}')";
        $upRslt = db_exec($sql) or errDie("Unable to update -sorder- information");
    }
    # Set to not serialised
    $sql = "UPDATE nons_invoices SET done = 'y' WHERE invid = '{$invid}' AND div = '" . USER_DIV . "'";
    $rslt = db_exec($sql) or errDie("Unable to update -sorder-s in Cubit.", SELF);
    /* - End Copying - */
    pglib_transaction("COMMIT") or errDie("Unable to commit a database transaction.", SELF);
    header("Location: nons-invoice-new.php?invid={$ninvid}&cont=1");
    exit;
    # Final Laytout
    $write = "\n\t<table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "'>\n\t\t<tr><th>Non-Stock Sales Orders accepted</th></tr>\n\t\t<tr class='bg-even'><td>Non-Stock Sales Orders for Customer <b>{$inv['cusname']}</b> has been accepted.</td></tr>\n\t</table>\n\t<p>\n\t<table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "'>\n\t\t<tr><th>Quick Links</th></tr>\n\t\t<tr class='bg-odd'><td><a href='nons-sorder-view.php'>View Non-Stock Sales Orders</a></td></tr>\n\t\t<script>document.write(getQuicklinkSpecial());</script>\n\t</table>";
    return $write;
}
開發者ID:andrecoetzee,項目名稱:accounting-123.com,代碼行數:52,代碼來源:nons-sorder-acc.php

示例7: write

function write($_POST)
{
    # Get vars
    foreach ($_POST as $key => $value) {
        ${$key} = $value;
    }
    # validate input
    require_lib("validate");
    $v = new validate();
    $v->isOk($quoid, "num", 1, 20, "Invalid Quote number.");
    $v->isOk($cusnum, "num", 1, 20, "Invalid Customer number.");
    $v->isOk($cordno, "string", 0, 20, "Invalid Customer order number.");
    # display errors, if any
    $err = "";
    if ($v->isError()) {
        $errors = $v->getErrors();
        foreach ($errors as $e) {
            $err .= "<li class=err>" . $e["msg"];
        }
        return $err;
    }
    # Get quote info
    db_connect();
    $sql = "SELECT * FROM pos_quotes WHERE quoid = '{$quoid}' AND div = '" . USER_DIV . "'";
    $quoRslt = db_exec($sql) or errDie("Unable to get quote information");
    if (pg_numrows($quoRslt) < 1) {
        return "<li class=err>Quote Not Found</li>";
    }
    $quo = pg_fetch_array($quoRslt);
    # Get Customer info
    db_connect();
    $sql = "SELECT * FROM customers WHERE cusnum = '{$cusnum}' AND div = '" . USER_DIV . "'";
    $cusRslt = db_exec($sql) or errDie("Unable to get customer information");
    if (pg_numrows($cusRslt) < 1) {
        return "<i class=err>Customer Not Found</i>";
    }
    $cus = pg_fetch_array($cusRslt);
    /* - Start Copying - */
    pglib_transaction("BEGIN") or errDie("Unable to start a database transaction.", SELF);
    db_connect();
    # Insert invoice to DB
    $sql = "INSERT INTO pinvoices(deptid, cusnum, deptname, cusacc, cusname, surname, cusaddr, cusvatno, cordno, ordno, chrgvat, terms, traddisc, salespn, odate, delchrg, subtot, vat, total, balance, comm, printed, done, prd, div)";
    $sql .= " VALUES('{$quo['deptid']}', '{$cus['cusnum']}', '{$quo['deptname']}', '{$cus['accno']}', '{$cus['cusname']}', '{$cus['surname']}', '{$cus['addr1']}', '{$cus['vatnum']}', '{$cordno}', '{$quo['ordno']}', '{$quo['chrgvat']}', '{$quo['terms']}', '{$quo['traddisc']}', '{$quo['salespn']}', '{$quo['odate']}', '{$quo['delchrg']}', '{$quo['subtot']}', '{$quo['vat']}' , '{$quo['total']}', '{$quo['total']}', '{$quo['comm']}', 'n', 'y', '" . PRD_DB . "', '" . USER_DIV . "')";
    $rslt = db_exec($sql) or errDie("Unable to insert invoice to Cubit.", SELF);
    # get next ordnum
    $invid = lastinvid();
    # get selected stock in this quote
    db_connect();
    $sql = "SELECT * FROM pos_quote_items  WHERE quoid = '{$quoid}' AND div = '" . USER_DIV . "'";
    $stkdRslt = db_exec($sql);
    /*
    		while($stkd = pg_fetch_array($stkdRslt)){
    			# Insert one by one per quantity
    			if(ext_isSerial("stock", "stkid", $stkd['stkid'])){
    				$stkd['amt'] = sprint($stkd['amt']/$stkd['qty']);
    
    				for($i = 0; $i < $stkd['qty']; $i++){
    					# insert invoice items
    					$sql = "INSERT INTO inv_items(invid, whid, stkid, qty, unitcost, amt, disc, discp, div) VALUES('$invid', '$stkd[whid]', '$stkd[stkid]', '1', '$stkd[unitcost]', '$stkd[amt]', '$stkd[disc]', '$stkd[discp]', '".USER_DIV."')";
    					$rslt = db_exec($sql) or errDie("Unable to insert invoice items to Cubit.",SELF);
    				}
    			}else{
    				# insert invoice items
    				$sql = "INSERT INTO inv_items(invid, whid, stkid, qty, unitcost, amt, disc, discp, div) VALUES('$invid', '$stkd[whid]', '$stkd[stkid]', '$stkd[qty]', '$stkd[unitcost]', '$stkd[amt]', '$stkd[disc]', '$stkd[discp]', '".USER_DIV."')";
    				$rslt = db_exec($sql) or errDie("Unable to insert invoice items to Cubit.",SELF);
    			}
    
    			# update stock(alloc + qty)
    			$sql = "UPDATE stock SET alloc = (alloc + '$stkd[qty]') WHERE stkid = '$stkd[stkid]' AND div = '".USER_DIV."'";
    			$rslt = db_exec($sql) or errDie("Unable to update stock to Cubit.",SELF);
    		}
    
    
    		# Get selected stock in this quote
    		db_connect();
    
    		# Remove access data
    		$sql = "DELETE FROM pos_quotes WHERE quoid = '$quoid' AND div = '".USER_DIV."'";
    		$rslt = db_exec($sql) or errDie("Unable to update quotes in Cubit.",SELF);
    
    		$sql = "DELETE FROM pos_quote_items WHERE quoid = '$quoid' AND div = '".USER_DIV."'";
    		$rslt = db_exec($sql) or errDie("Unable to update quotes in Cubit.",SELF);
    
    /* - End Copying - */
    pglib_transaction("COMMIT") or errDie("Unable to commit a database transaction.", SELF);
    // Final Laytout
    $write = "\n\t<table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "'>\n\t\t<tr><th>Quote accepted</th></tr>\n\t\t<tr class='bg-even'><td>Quote for customer <b>{$cus['cusname']} {$cus['surname']}</b> has been accepted</td></tr>\n\t</table>\n\t<p>\n\t<table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "'>\n\t\t<tr><th>Quick Links</th></tr>\n\t\t<tr class='bg-odd'><td><a href='pos-quote-view.php'>View Pos Quotes</a></td></tr>\n\t\t<script>document.write(getQuicklinkSpecial());</script>\n\t</table>";
    return $write;
}
開發者ID:andrecoetzee,項目名稱:accounting-123.com,代碼行數:89,代碼來源:pos-qaccept.php

示例8: write

function write($_POST)
{
    # Set mas execution time to 12 hours
    ini_set("max_execution_time", 43200);
    extract($_POST);
    # validate input
    require_lib("validate");
    $v = new validate();
    foreach ($invids as $key => $invid) {
        $v->isOk($invid, "num", 1, 20, "Invalid recuring invoice number.");
        $odate[$key] = mkdate($o_year[$key], $o_month[$key], $o_day[$key]);
        $v->isOk($odate[$key], "date", 1, 1, "Invalid Invoice Date for invoice: {$invid}.");
    }
    # display errors, if any
    $err = "";
    if ($v->isError()) {
        $err = $v->genErrors();
        return $err;
    }
    pglib_transaction("BEGIN") or errDie("Unable to start a database transaction.", SELF);
    $i = 0;
    $recinv = new dbSelect("rnons_invoices", "cubit");
    $recinv_i = new dbSelect("rnons_inv_items", "cubit");
    $newinv = new dbUpdate("nons_invoices", "cubit");
    $newinv_i = new dbUpdate("nons_inv_items", "cubit");
    foreach ($invids as $key => $invid) {
        /* fetch recurring invoice info */
        $recinv->setOpt(grp(m("where", "invid='{$invid}' AND div='" . USER_DIV . "'")));
        $recinv->run();
        if ($recinv->num_rows() <= 0) {
            continue;
        }
        $inv = $recinv->fetch_array();
        /* create new invoice from recurring invoice */
        $cols = grp(m("accepted", " "), m("sdate", raw("CURRENT_DATE")), m("typ", "inv"), m("cusid", $inv["cusid"]), m("cusname", $inv["cusname"]), m("cusaddr", $inv["cusaddr"]), m("cusvatno", $inv["cusvatno"]), m("cordno", $inv["cordno"]), m("chrgvat", $inv["chrgvat"]), m("terms", $inv["terms"]), m("odate", $odate[$key]), m("subtot", $inv["subtot"]), m("vat", $inv["vat"]), m("total", $inv["total"]), m("balance", $inv["total"]), m("done", "n"), m("prd", PRD_DB), m("div", USER_DIV), m("ctyp", $inv["ctyp"]), m("tval", $inv["tval"]), m("jobid", $invid), m("remarks", $inv["remarks"]));
        $newinv->setOpt($cols);
        $newinv->run(DB_INSERT);
        /* fetch last invoice id */
        $invid = lastinvid();
        /* fetch recurring invoice items */
        $recinv_i->setOpt(grp(m("where", "invid='{$inv['invid']}' AND div='" . USER_DIV . "'")));
        $recinv_i->run();
        /* add items to new non stock invoice */
        while ($stkd = $recinv_i->fetch_array()) {
            $cols = grp(m("invid", $invid), m("qty", $stkd["qty"]), m("unitcost", $stkd["unitcost"]), m("amt", $stkd["amt"]), m("accid", $stkd["account"]), m("description", $stkd["description"]), m("vatex", $stkd["vatex"]), m("div", USER_DIV));
            $newinv_i->setOpt($cols);
            $newinv_i->run(DB_INSERT);
        }
    }
    pglib_transaction("COMMIT") or errDie("Unable to commit a database transaction.", SELF);
    $OUT = "\n\t\t<table " . TMPL_tblDflts . ">\n\t\t\t<tr>\n\t\t\t\t<th>Recurring Non-stock Invoices Processed</th>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>New non-stock Invoices have been created from Recurring Invoices</td>\n\t\t\t</tr>\n\t\t</table>\n\t\t<p>\n\t\t<table " . TMPL_tblDflts . ">\n\t\t\t<tr>\n\t\t\t\t<th>Quick Links</th>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td><a href='rec-invoice-view.php'>View Recurring Invoices</a></td>\n\t\t\t</tr>\n\t\t\t<script>document.write(getQuicklinkSpecial());</script>\n\t\t</table>";
    return $OUT;
}
開發者ID:andrecoetzee,項目名稱:accounting-123.com,代碼行數:53,代碼來源:nons-rec-invoice-proc.php

示例9: create_dummy

function create_dummy($deptid)
{
    db_connect();
    # Dummy Vars
    $cusnum = 0;
    $salespn = "";
    $comm = "";
    $salespn = "";
    $chrgvat = getSetting("SELAMT_VAT");
    $odate = date("Y-m-d");
    $ordno = "";
    $delchrg = "0.00";
    $cordno = "";
    $terms = 0;
    $traddisc = 0;
    $SUBTOT = 0;
    $vat = 0;
    $total = 0;
    $branch = 0;
    $del_addr = "";
    $bankid = cust_bank_id($cusnum);
    //lock(1);
    $fcid = getDef_fcid();
    # Insert invoice to DB
    $sql = "\n\t\tINSERT INTO invoices (\n\t\t\tdeptid, cusnum, cordno, ordno, chrgvat, terms, \n\t\t\ttraddisc, salespn, odate, delchrg, subtot, vat, \n\t\t\ttotal, balance, comm, username, printed, done, \n\t\t\tprd, branch, fcid, del_addr, bankid, div\n\t\t) VALUES (\n\t\t\t'{$deptid}', '{$cusnum}',  '{$cordno}', '{$ordno}', '{$chrgvat}', '{$terms}', \n\t\t\t'{$traddisc}', '{$salespn}', '{$odate}', '{$delchrg}', '{$SUBTOT}', '{$vat}', \n\t\t\t'{$total}', '{$total}', '{$comm}', '" . USER_NAME . "', 'n', 'n', \n\t\t\t'" . PRD_DB . "','{$branch}', '{$fcid}', '{$del_addr}', '{$bankid}', '" . USER_DIV . "'\n\t\t)";
    $rslt = db_exec($sql) or errDie("Unable to insert invoice to Cubit.", SELF);
    return lastinvid();
}
開發者ID:andrecoetzee,項目名稱:accounting-123.com,代碼行數:28,代碼來源:cust-credit-stockinv-easy.php

示例10: invoice

function invoice()
{
    if (isset($_REQUEST["btn_back"])) {
        return enter();
    }
    extract($_REQUEST);
    // Retrieve asset
    $sql = "SELECT * FROM cubit.assets WHERE id='{$asset_id}'";
    $asset_rslt = db_exec($sql) or errDie("Unable to retrieve asset.");
    $asset_data = pg_fetch_array($asset_rslt);
    // Retrieve asset group
    $sql = "SELECT * FROM cubit.assetgrp WHERE grpid='{$asset_data['grpid']}'";
    $grp_rslt = db_exec($sql) or errDie("Unable to retrieve asset group.");
    $grp_data = pg_fetch_array($grp_rslt);
    // Retrieve customer
    $sql = "SELECT * FROM cubit.customers WHERE cusnum='{$cust_id}'";
    $cust_rslt = db_exec($sql) or errDie("Unable to retrieve customer.");
    $cust_data = pg_fetch_array($cust_rslt);
    if ($cust_id > 0) {
        $ctyp = "s";
        $tval = $cust_id;
    } else {
        if ($cust_id == "-1") {
            $ctyp = "c";
            $tval = "2";
            $cust_data["surname"] = "Cash Sale";
        } else {
            if ($cust_id == "-2") {
                $ctyp = "ac";
                $tval = "";
                $cust_data["surname"] = "Cash Sale";
            } else {
                return enter("<li class='err'>Invalid sale option selected.</li>");
            }
        }
    }
    $acc = "0";
    $vatchrg = $vatinc == "exc" ? "no" : "yes";
    $vcd = qryVatcode($vatcode);
    $va = vatcalca($price * $qty, $vatchrg, "no", 0, $vcd["vat_amount"]);
    pglib_transaction("BEGIN");
    if ($cust_data["surname"] == "Cash Sale") {
        $cust_data["paddr1"] = "";
        $cust_data["vatnum"] = "";
    }
    $sql = "INSERT INTO cubit.nons_invoices(cusname, cusaddr, cusvatno, chrgvat,\r\n\t\t\t\tsdate, odate, subtot, balance, vat, total, done, username, prd,\r\n\t\t\t\tinvnum, typ, ctyp, tval, div, accid, salespn)\r\n\t\t\tVALUES ('{$cust_data['surname']}', '{$cust_data['paddr1']}',\r\n\t\t\t\t'{$cust_data['vatnum']}', '{$vatchrg}', CURRENT_DATE, '{$date}', '{$va['subtotal']}', 0,\r\n\t\t\t\t'{$va['vat']}', '{$va['total']}', 'n', '" . USER_NAME . "', '" . extractMonth($date) . "', 0, \r\n\t\t\t\t'inv', '{$ctyp}', '{$tval}', '" . USER_DIV . "', '{$acc}', 'General')";
    db_exec($sql) or errDie("Unable to create invoice");
    $ni_id = lastinvid();
    $asset_saleacc = gethook("accnum", "salesacc", "name", "saleofassets");
    $price_all = $price * $qty;
    $sql = "INSERT INTO cubit.nons_inv_items (invid, qty, description, div,\r\n\t\t\t\tamt, unitcost, accid, rqty, vatex, cunitcost, asset_id)\r\n\t\t\tVALUES ('{$ni_id}', '{$qty}', '{$asset_data['des']}', '" . USER_DIV . "',\r\n\t\t\t\t'{$price_all}', '{$price}', '{$asset_saleacc}', '0', \r\n\t\t\t\t'{$vatcode}', '0', '{$asset_id}')";
    db_exec($sql) or errDie("Unable to create invoice.");
    pglib_transaction("COMMIT");
    header("Location: asset-invoice-print.php?invid={$ni_id}&printpage=t");
    exit;
}
開發者ID:andrecoetzee,項目名稱:accounting-123.com,代碼行數:56,代碼來源:asset-sale.php

示例11: create_dummy

function create_dummy($deptid, $cusnum)
{
    # Get selected customer info
    db_connect();
    $sql = "SELECT * FROM customers WHERE cusnum = '{$cusnum}' AND div = '" . USER_DIV . "'";
    $custRslt = db_exec($sql) or errDie("Unable to get customer information");
    $cust = pg_fetch_array($custRslt);
    $curr = getSymbol($cust['fcid']);
    $xrate = getRate($cust['fcid']);
    $trans_date_setting = getCSetting("USE_TRANSACTION_DATE");
    if (isset($trans_date_setting) and $trans_date_setting == "yes") {
        $trans_date_value = getCSetting("TRANSACTION_DATE");
        $date_arr = explode("-", $trans_date_value);
        $date_year = $date_arr[0];
        $date_month = $date_arr[1];
        $date_day = $date_arr[2];
    } else {
        $date_year = date("Y");
        $date_month = date("m");
        $date_day = date("d");
    }
    $odate = "{$date_year}-{$date_month}-{$date_day}";
    db_connect();
    # Insert purchase to DB
    $sql = "\n\t\tINSERT INTO nons_invoices (\n\t\t\tcusname, cusaddr, cusvatno, chrgvat, fcid, currency, \n\t\t\txrate, odate, sdate, subtot, balance, vat, total, done, username, prd, invnum, typ, ctyp, \n\t\t\ttval, location, div\n\t\t) VALUES (\n\t\t\t'{$cust['cusname']} {$cust['surname']}', '{$cust['addr1']}', '{$cust['vatnum']}', 'yes', '{$cust['fcid']}', '{$curr['symbol']}', \n\t\t\t'{$xrate}', '{$odate}', CURRENT_DATE, 0, 0, 0, 0, 'n', '" . USER_NAME . "', '" . PRD_DB . "', 0, 'inv', 's', \n\t\t\t'{$cusnum}', 'int', '" . USER_DIV . "'\n\t\t)";
    $rslt = db_exec($sql) or errDie("Unable to create template Non-Stock Invoice.", SELF);
    # Get next ordnum
    $invid = lastinvid();
    return $invid;
}
開發者ID:andrecoetzee,項目名稱:accounting-123.com,代碼行數:30,代碼來源:nons-intinvoice-new.php

示例12: run

function run()
{
    extract($_REQUEST);
    pglib_transaction("BEGIN");
    // Retrieve outstanding rentals
    $sql = "\n\tSELECT id, user_id, username, order_num, subtotal, vat, total, discount,\n\t\tdelivery, customers.cusnum, surname, addr1, addr2, addr3, accno,\n\t\tvatnum, tel, discount_perc, timestamp, deposit\n\tFROM cubit.hire_trans\n\t\tLEFT JOIN cubit.customers ON hire_trans.cusnum=customers.cusnum\n\t\tLEFT JOIN cubit.users ON hire_trans.user_id=users.userid\n\tWHERE user_id='{$user_id}' AND done='y'";
    $rental_rslt = db_exec($sql) or errDie("Unable to retrieve rentals.");
    $hire_nums = array();
    while ($rental_data = pg_fetch_array($rental_rslt)) {
        $deptid = 2;
        $time = strtotime($rental_data["timestamp"]);
        $sql = "SELECT deptname FROM exten.departments WHERE deptid='{$deptid}'";
        $deptname_rslt = db_exec($sql) or errDie("Unable to retrieve department.");
        $deptname = pg_fetch_result($deptname_rslt, 0);
        // Create hire note
        $sql = "\n\t\tINSERT INTO hire.hire_invoices (deptid, cusnum, cordno, ordno,\n\t\t\tchrgvat, terms, salespn, odate, printed, comm, done, username,\n\t\t\tdeptname, cusacc, cusname, surname, cusaddr, cusordno, cusvatno,\n\t\t\tprd, invnum, div, prints, disc, discp, delchrg, subtot, traddisc,\n\t\t\tbalance, vat, total, discount, delivery, nbal, rdelchrg, serd,\n\t\t\tpcash, pcheque, pcc, rounding, pchange, delvat, pcredit, vatnum,\n\t\t\ttelno, systime, deposit_type, deposit_amt, custom_txt, collection,\n\t\t\tbranch_addr, timestamp, hire_invid, revision)\n\t\tVALUES ('{$deptid}', '{$rental_data['cusnum']}', '', '', 'inc', '0', '2',\n\t\t\t'" . date("Y-m-d", $time) . "', 'y', '', 'y', '{$rental_data['username']}',\n\t\t\t'{$deptname}', '{$rental_data['accno']}', '', '{$rental_data['surname']}',\n\t\t\t'{$rental_data['addr1']}', '{$rental_data['order_num']}',\n\t\t\t'{$rental_data['vatnum']}', '" . PRD_DB . "', '{$rental_data['id']}',\n\t\t\t'" . USER_DIV . "', '0', '{$rental_data['discount']}',\n\t\t\t'{$rental_data['discount_perc']}', '{$rental_data['delivery']}',\n\t\t\t'{$rental_data['subtotal']}', '{$rental_data['discount']}', '0.00',\n\t\t\t'{$rental_data['vat']}', '{$rental_data['total']}',\n\t\t\t'{$rental_data['discount']}', '{$rental_data['delivery']}', '0.00', '0.00',\n\t\t\t'', '100', '100', '100', '100', '100', '0', '0.00',\n\t\t\t'{$rental_data['vatnum']}', '{$rental_data['tel']}',\n\t\t\t'{$rental_data['timestamp']}', 'CSH', '{$rental_data['deposit']}', '',\n\t\t\t'Client Collect', '0', current_timestamp, '0', '0')";
        db_exec($sql) or errDie("Unable to create hire note.");
        $invid = pglib_lastid("hire.hire_invoices", "invid");
        $hire_nums[$rental_data["id"]] = $invid;
        // Do deposit transaction if required
        if ($rental_data["deposit"] > 0) {
            $cash_on_hand = qryAccountsNum("7200", "000");
            $cash_on_hand = $cash_on_hand["accid"];
            $cust_control = qryAccountsNum("6400", "000");
            $cust_control = $cust_control["accid"];
            $refnum = getRefnum();
            writetrans($cash_on_hand, $cust_control, date("Y-m-d", $time), $refnum, $rental_data["deposit"], "Cash Receipt for " . CUR . "{$rental_data['deposit']} from " . "{$rental_data['surname']} for Deposit on Hire Note {$rental_data['id']}");
            $sql = "\n\t\t\tINSERT INTO hire.cash (invid, cash)\n\t\t\tVALUES ('{$invid}', '{$rental_data['deposit']}')";
            db_exec($sql) or errDie("Unable to add cash to hire.");
            // Make ledger record
            custledger($rental_data["cusnum"], $cust_control, date("Y-m-d", $time), $invid, "Cash Receipt for " . CUR . "{$rental_data['deposit']} from " . "{$rental_data['surname']} for Deposit on Hire Note {$rental_data['id']}", $rental_data["deposit"], "c");
            custCT($rental_data["deposit"], $rental_data["cusnum"], date("Y-m-d", $time));
            // Turn the amount around to a negative
            $stmnt_amt = $rental_data["deposit"] - $rental_data["deposit"] * 2;
            // Record the payment on the statement
            $sql = "\n\t\t\tINSERT INTO cubit.stmnt(cusnum, invid, docref, amount, date, type,\n\t\t\t\tdiv)\n\t\t\tVALUES('{$rental_data['cusnum']}', '{$invid}', '{$rental_data['id']}',\n\t\t\t\t'{$stmnt_amt}', '" . date("Y-m-d", $time) . "',\n\t\t\t\t'Cash Receipt for " . CUR . "{$rental_data['deposit']} from " . "{$rental_data['surname']} for Deposit on Hire Note {$rental_data['id']}',\n\t\t\t\t'" . USER_DIV . "')";
            $stmntRslt = db_exec($sql) or errDie("Unable to add deposit to statement");
            // Update customer balance
            $sql = "\n\t\t\tUPDATE cubit.customers SET balance=balance-'{$rental_data['deposit']}'\n\t\t\tWHERE cusnum='{$rental_data['cusnum']}'";
            db_exec($sql) or errDie("Unable to update customer balance.");
            $sql = "\n\t\t\tUPDATE hire.hire_invoices SET deposit_amt='0'\n\t\t\tWHERE invid='{$invid}'";
            db_exec($sql) or errDie("Unable to retrieve hire invoices.");
        }
        // Retrieve items on this invoice
        $sql = "\n\t\tSELECT asset_id, basis, from_date, to_date, half_day, qty,\n\t\t\tweekends, total_days, total\n\t\tFROM cubit.hire_trans_items\n\t\tWHERE hire_id='{$rental_data['id']}'";
        $item_rslt = db_exec($sql) or errDie("Unable to retrieve items.");
        while ($item_data = pg_fetch_array($item_rslt)) {
            $unitcost = $item_data["total"] / $item_data["qty"];
            // Decide which basis to use
            $hours = 0;
            $weeks = 0;
            $days = 0;
            $months = 0;
            $total_days = 0;
            switch ($item_data["basis"]) {
                case "per_hour":
                    $hours = $item_data["total_days"];
                    break;
                case "per_day":
                    $days = $item_data["total_days"];
                    $total_days = $item_data["total_days"];
                    break;
                case "per_week":
                    $week = $item_data["total_days"];
                    break;
                case "per_month":
                    $months = $item_data["total_days"];
                    break;
            }
            // Convert booleans into something we can use
            $half_day = $item_data["half_day"] == "t" ? 1 : 0;
            $weekends = $item_data["weekends"] == "t" ? 1 : 0;
            $sql = "\n\t\t\tINSERT INTO hire.hire_invitems (invid, qty, amt, unitcost,\n\t\t\t\tfrom_date, to_date, asset_id, basis, hours, weeks, days,\n\t\t\t\tmonths, half_day, weekends, total_days)\n\t\t\tVALUES ('{$invid}', '{$item_data['qty']}', '{$item_data['total']}',\n\t\t\t\t'{$unitcost}', '{$item_data['from_date']}', '{$item_data['to_date']}',\n\t\t\t\t'{$item_data['asset_id']}', '{$item_data['basis']}', '{$hours}',\n\t\t\t\t'{$weeks}', '{$days}', '{$months}', '{$half_day}', '{$weekends}',\n\t\t\t\t'{$total_days}')";
            db_exec($sql) or errDie("Unable to create rental items.");
            $item_id = pglib_lastid("hire.hire_invitems", "id");
            $sql = "\n\t\t\tINSERT INTO hire.assets_hired (invid, asset_id, qty, hired_time,\n\t\t\t\tcust_id, item_id, invnum, value, basis, discount, weekends)\n\t\t\tVALUES ('{$invid}', '{$item_data['asset_id']}', '{$item_data['qty']}',\n\t\t\t\t'{$rental_data['timestamp']}', '{$rental_data['cusnum']}', '{$item_id}',\n\t\t\t\t'{$rental_data['id']}', '{$item_data['total']}', '{$item_data['basis']}',\n\t\t\t\t'0.00', '{$weekends}')";
            db_exec($sql) or errDie("Unable to add to assets hired.");
        }
    }
    // Run invoices ----------------------------------------------------------
    $sql = "\n\tSELECT id, hire_id, customers.cusnum, order_num, discount_perc, discount,\n\t\tsubtotal, total, vat, timestamp, user_id, surname, addr1, vatnum,\n\t\tusername, delivery\n\tFROM cubit.hire_invoice_trans\n\t\tLEFT JOIN cubit.customers ON hire_invoice_trans.cusnum=customers.cusnum\n\t\tLEFT JOIN cubit.users ON hire_invoice_trans.user_id=users.userid\n\tWHERE done='y' AND user_id='{$user_id}' AND hire_id > 0";
    $inv_rslt = db_exec($sql) or errDie("Unable to retrieve invoices.");
    while ($inv_data = pg_fetch_array($inv_rslt)) {
        $hire_sales = qryAccountsNum("1050", "000");
        $cust_control = qryAccountsNum("6400", "000");
        $cash_on_hand = qryAccountsNum("7200", "000");
        $hire_sales = $hire_sales["accid"];
        $cust_control = $cust_control["accid"];
        $cash_on_hand = $cash_on_hand["accid"];
        $time = strtotime($inv_data["timestamp"]);
        $sql = "\n\t\tINSERT INTO cubit.nons_invoices (cusname, cusaddr, cusvatno,\n\t\t\tchrgvat, sdate, done, username, prd, invnum, div, remarks, cusid,\n\t\t\tage, typ, subtot, balance, vat, total, descrip, ctyp, accid,\n\t\t\tfbalance, fsubtot, cordno, terms, odate, systime, bankid,\n\t\t\tcusordno, ncdate, cusnum, discount, delivery, hire_invid,\n\t\t\tcash, cheque, credit)\n\t\tVALUES ('{$inv_data['surname']}', '{$inv_data['addr1']}', '{$inv_data['vatnum']}',\n\t\t\t'yes', '" . date("Y-m-d", $time) . "', 'y', '{$inv_data['username']}',\n\t\t\t'" . PRD_DB . "', '{$inv_data['id']}', '" . USER_DIV . "', '',\n\t\t\t'{$inv_data['cusnum']}', '0', 'inv', '{$inv_data['subtotal']}',\n\t\t\t'{$inv_data['total']}', '{$inv_data['vat']}', '{$inv_data['total']}', '', 's',\n\t\t\t'{$hire_sales}', '0.00', '0.00', '{$inv_data['order_num']}', '0',\n\t\t\t'" . date("Y-m-d", $time) . "', current_timestamp,\n\t\t\t'" . cust_bank_id($inv_data["cusnum"]) . "', '{$inv_data['order_num']}',\n\t\t\t'" . date("Y-m-d", $time) . "', '{$inv_data['cusnum']}',\n\t\t\t'{$inv_data['discount']}', '{$inv_data['delivery']}',\n\t\t\t'" . $hire_nums[$inv_data["hire_id"]] . "', '{$inv_data['total']}', '0', '0')";
        db_exec($sql) or errDie("Unable to create non stock invoice.");
        $invid = lastinvid();
        $sql = "\n\t\tSELECT hire_invoice_items_trans.id, asset_id, basis, from_date,\n\t\t\tto_date, half_day, qty, weekends, total_days, total,\n\t\t\tserial, des, grpid\n\t\tFROM cubit.hire_invoice_items_trans\n\t\t\tLEFT JOIN cubit.assets\n\t\t\t\tON hire_invoice_items_trans.asset_id=assets.id\n\t\tWHERE trans_id='{$inv_data['id']}'";
        $item_rslt = db_exec($sql) or errDie("Unable to retrieve items.");
        while ($item_data = pg_fetch_array($item_rslt)) {
            $unitcost = $item_data["total"] / $item_data["qty"];
            $item_id = 0;
            $sql = "\n\t\t\tSELECT {$item_data['basis']} FROM hire.basis_prices\n\t\t\tWHERE assetid='{$item_data['asset_id']}'";
            $rate_rslt = db_exec($sql) or errDie("Unable to retrieve rate.");
//.........這裏部分代碼省略.........
開發者ID:andrecoetzee,項目名稱:accounting-123.com,代碼行數:101,代碼來源:hirepos_run.php

示例13: create_dummy

function create_dummy($deptid, $ctyp, $tval, $acc)
{
    db_connect();
    # Insert purchase to DB
    $sql = "INSERT INTO nons_invoices(cusname, cusaddr, cusvatno, chrgvat, sdate, odate, subtot,\r\n\t\t\t\tbalance, vat, total, done, username, prd, invnum, typ, ctyp, tval, div,accid)";
    $sql .= " VALUES('', '', '', 'yes', CURRENT_DATE, CURRENT_DATE, 0, 0, 0, 0, 'n', '" . USER_NAME . "', '" . PRD_DB . "',\r\n\t\t\t0, 'inv', '{$ctyp}','{$tval}','" . USER_DIV . "','{$acc}')";
    $rslt = db_exec($sql) or errDie("Unable to create template Non-Stock Invoice.", SELF);
    return lastinvid();
}
開發者ID:andrecoetzee,項目名稱:accounting-123.com,代碼行數:9,代碼來源:hireserv-invoice-new.php

示例14: invoice

function invoice()
{
    extract($_REQUEST);
    $invnum = divlastid("inv");
    $sql = "INSERT INTO cubit.invoices(deptid, chrgvat, odate, printed, done, \n\t\t\t\tusername, prd, invnum, div, systime, barcode, pickslip_id)\n\t\t\tVALUES ('" . USER_DIV . "', 'inc', current_date, 'n', 'n',\n\t\t\t\t'" . USER_NAME . "', '" . PRD_DB . "', '{$invnum}', '" . USER_DIV . "',\n\t\t\t\tcurrent_date, '{$barcode}', '{$slip_id}')";
    $inv_rslt = db_exec($sql) or errDie("Unable to retrieve invoice.");
    $invid = lastinvid();
    $sql = "SELECT stkid, whid, qty, vatcode FROM cubit.pickslip_stk\n\t\t\t\tLEFT JOIN cubit.stock ON pickslip_stk.stock_id=stock.stkid\n\t\t\t\tLEFT JOIN cubit.vatcodes WHERE stock.vatcode=vatcodes.code\n\t\t\tWHERE pickslip_id='{$slip_id}'";
    $stock_rslt = db_exec($sql) or errDie("Unable to retrieve stock.");
    while (list($stkid, $whid, $qty, $vatcode) = pg_fetch_array($stock_rslt)) {
        $sql = "INSERT INTO cubit.inv_items (invid, whid, stkid, qty, div,\n\t\t\t\t\tvatcode)\n\t\t\t\tVALUES ('{$invid}', '{$whid}', '{$stkid}', '{$qty}', '" . USER_DIV . "',\n\t\t\t\t\t'{$vatcode}')";
        db_exec($sql) or errDie("Unable to add inventory items.");
    }
    $OUTPUT = "\n\t<script>\n\t\tpopupOpen(\"cust-credit-stockinv.php?invid={$invid}&cont=true\");\n\t\tmove(\"" . SELF . "\");\n\t</script>";
    return $OUTPUT;
}
開發者ID:andrecoetzee,項目名稱:accounting-123.com,代碼行數:16,代碼來源:picking_slip.php

示例15: write

function write($_POST)
{
    #get vars
    foreach ($_POST as $key => $value) {
        ${$key} = $value;
    }
    # validate input
    require_lib("validate");
    $v = new validate();
    $v->isOk($quoid, "num", 1, 20, "Invalid quote number.");
    # display errors, if any
    $err = "";
    if ($v->isError()) {
        $errors = $v->getErrors();
        foreach ($errors as $e) {
            $err .= "<li class=err>" . $e["msg"];
        }
        return $err;
    }
    # Get quote info
    db_connect();
    $sql = "SELECT * FROM quotes WHERE quoid = '{$quoid}'";
    $quoRslt = db_exec($sql) or errDie("Unable to get quote information");
    if (pg_numrows($quoRslt) < 1) {
        return "<li class=err>Quote Not Found</li>";
    }
    $quo = pg_fetch_array($quoRslt);
    db_connect();
    /* - Start Copying - */
    pglib_transaction("BEGIN") or errDie("Unable to start a database transaction.", SELF);
    # insert invoice to DB
    $sql = "INSERT INTO invoices(deptid, cusnum, cordno, ordno, chrgvat, terms, traddisc, salespn, odate, delchrg, subtot, vat, total, balance, comm, printed)";
    $sql .= " VALUES('{$quo['deptid']}', '{$quo['cusnum']}',  '{$quo['cordno']}', '{$quo['ordno']}', '{$quo['chrgvat']}', '{$quo['terms']}', '{$quo['traddisc']}', '{$quo['salespn']}', '{$quo['odate']}', '{$quo['delchrg']}', '{$quo['subtot']}', '{$quo['vat']}' , '{$quo['total']}', '{$quo['total']}', '{$quo['comm']}', 'n')";
    $rslt = db_exec($sql) or errDie("Unable to insert invoice to Cubit.", SELF);
    # get next ordnum
    $invid = lastinvid();
    # get selected stock in this quote
    db_connect();
    $sql = "SELECT * FROM quote_items  WHERE quoid = '{$quoid}'";
    $stkdRslt = db_exec($sql);
    while ($stkd = pg_fetch_array($stkdRslt)) {
        # insert invoice items
        $sql = "INSERT INTO inv_items(invid, whid, stkid, qty, unitcost, amt, disc, discp) VALUES('{$invid}', '{$stkd['whid']}', '{$stkd['stkid']}', '{$stkd['qty']}', '{$stkd['unitcost']}', '{$stkd['amt']}', '{$stkd['disc']}', '{$stkd['discp']}')";
        $rslt = db_exec($sql) or errDie("Unable to insert invoice items to Cubit.", SELF);
        # update stock(alloc + qty)
        # $sql = "UPDATE stock SET alloc = (alloc + '$stkd[qty]') WHERE stkid = '$stkd[stkid]'";
        # $rslt = db_exec($sql) or errDie("Unable to update stock to Cubit.",SELF);
    }
    # get selected stock in this quote
    db_connect();
    $sql = "SELECT * FROM quote_data  WHERE quoid = '{$quoid}'";
    $dataRslt = db_exec($sql);
    $data = pg_fetch_array($dataRslt);
    $sql = "INSERT INTO inv_data(invid, dept, customer, addr1, addr2, addr3) VALUES('{$invid}', '{$data['dept']}', '{$data['customer']}', '{$data['addr1']}', '{$data['addr2']}', '{$data['addr3']}')";
    $rslt = db_exec($sql) or errDie("Unable to insert invoice data to Cubit.", SELF);
    $sql = "UPDATE quotes SET accepted = 'y' WHERE quoid = '{$quoid}'";
    $rslt = db_exec($sql) or errDie("Unable to update quotes in Cubit.", SELF);
    pglib_transaction("COMMIT") or errDie("Unable to commit a database transaction.", SELF);
    /* - End Copying - */
}
開發者ID:andrecoetzee,項目名稱:accounting-123.com,代碼行數:60,代碼來源:invoice-unf-cencel.php


注:本文中的lastinvid函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。