function GetCustomerBranch($DebtorNumber, $BranchCode, $user, $password) { $Errors = array(); $db = db($user, $password); if (gettype($db) == 'integer') { $Errors[0] = NoAuthorisation; return $Errors; } $Errors = VerifyBranchNoExists($DebtorNumber, $BranchCode, sizeof($Errors), $Errors, $db); if (sizeof($Errors) != 0) { return $Errors; } $sql = "SELECT * FROM custbranch\n WHERE debtorno='" . $DebtorNumber . "'\n AND branchcode='" . $BranchCode . "'"; $result = api_DB_Query($sql, $db); if (DB_error_no() != 0) { $Errors[0] = DatabaseUpdateFailed; } else { $Errors[0] = 0; if (DB_num_rows($result) > 0) { $Errors += DB_fetch_array($result); } } return $Errors; }
function GetSalesOrderLine($OrderNo, $user, $password) { $Errors = array(); $db = db($user, $password); if (gettype($db) == 'integer') { $Errors[0] = NoAuthorisation; return $Errors; } $Errors = VerifyOrderHeaderExists($OrderNo, sizeof($Errors), $Errors, $db); if (sizeof($Errors) != 0) { return $Errors; } $sql = 'SELECT * FROM salesorderdetails WHERE orderno="' . $OrderNo . '"'; $result = api_DB_Query($sql, $db); if (sizeof($Errors) == 0) { return DB_fetch_array($result); } else { return $Errors; } }
function InsertSalesInvoice($InvoiceDetails, $user, $password) { $Errors = array(); $db = db($user, $password); if (gettype($db) == 'integer') { $Errors[0] = NoAuthorisation; return $Errors; } foreach ($InvoiceDetails as $key => $value) { $InvoiceDetails[$key] = DB_escape_string($value); } $PartCode = $InvoiceDetails['partcode']; $Errors = VerifyStockCodeExists($PartCode, sizeof($Errors), $Errors, $db); unset($InvoiceDetails['partcode']); $SalesArea = $InvoiceDetails['salesarea']; unset($InvoiceDetails['salesarea']); $InvoiceDetails['transno'] = GetNextTransactionNo(10, $db); $InvoiceDetails['type'] = 10; $Errors = VerifyDebtorExists($InvoiceDetails['debtorno'], sizeof($Errors), $Errors, $db); $Errors = VerifyBranchNoExists($InvoiceDetails['debtorno'], $InvoiceDetails['branchcode'], sizeof($Errors), $Errors, $db); $Errors = VerifyTransNO($InvoiceDetails['transno'], 10, sizeof($Errors), $Errors, $db); $Errors = VerifyTransactionDate($InvoiceDetails['trandate'], sizeof($Errors), $Errors, $db); if (isset($InvoiceDetails['settled'])) { $Errors = VerifySettled($InvoiceDetails['settled'], sizeof($Errors), $Errors); } if (isset($InvoiceDetails['reference'])) { $Errors = VerifyReference($InvoiceDetails['reference'], sizeof($Errors), $Errors); } if (isset($InvoiceDetails['tpe'])) { $Errors = VerifyTpe($InvoiceDetails['tpe'], sizeof($Errors), $Errors); } if (isset($InvoiceDetails['order_'])) { $Errors = VerifyOrderNumber($InvoiceDetails['order_'], sizeof($Errors), $Errors); } if (isset($InvoiceDetails['rate'])) { $Errors = VerifyExchangeRate($InvoiceDetails['rate'], sizeof($Errors), $Errors); } if (isset($InvoiceDetails['ovamount'])) { $Errors = VerifyOVAmount($InvoiceDetails['ovamount'], sizeof($Errors), $Errors); } if (isset($InvoiceDetails['ovgst'])) { $Errors = VerifyOVGst($InvoiceDetails['ovgst'], sizeof($Errors), $Errors); } if (isset($InvoiceDetails['ovfreight'])) { $Errors = VerifyOVFreight($InvoiceDetails['ovfreight'], sizeof($Errors), $Errors); } if (isset($InvoiceDetails['ovdiscount'])) { $Errors = VerifyOVDiscount($InvoiceDetails['ovdiscount'], sizeof($Errors), $Errors); } if (isset($InvoiceDetails['diffonexch'])) { $Errors = VerifyDiffOnExchange($InvoiceDetails['diffonexch'], sizeof($Errors), $Errors); } if (isset($InvoiceDetails['alloc'])) { $Errors = VerifyAllocated($InvoiceDetails['alloc'], sizeof($Errors), $Errors); } if (isset($InvoiceDetails['invtext'])) { $Errors = VerifyInvoiceText($InvoiceDetails['invtext'], sizeof($Errors), $Errors); } if (isset($InvoiceDetails['shipvia'])) { $Errors = VerifyShipVia($InvoiceDetails['shipvia'], sizeof($Errors), $Errors); } if (isset($InvoiceDetails['edisent'])) { $Errors = VerifyEdiSent($InvoiceDetails['edisent'], sizeof($Errors), $Errors); } if (isset($InvoiceDetails['consignment'])) { $Errors = VerifyConsignment($InvoiceDetails['consignment'], sizeof($Errors), $Errors); } $FieldNames = ''; $FieldValues = ''; $InvoiceDetails['trandate'] = ConvertToSQLDate($InvoiceDetails['trandate']); $InvoiceDetails['prd'] = GetPeriodFromTransactionDate($InvoiceDetails['trandate'], sizeof($Errors), $Errors, $db); foreach ($InvoiceDetails as $key => $value) { $FieldNames .= $key . ', '; $FieldValues .= '"' . $value . '", '; } if (sizeof($Errors) == 0) { $result = DB_Txn_Begin($db); $sql = "INSERT INTO debtortrans (" . mb_substr($FieldNames, 0, -2) . ")\n\t\t\t\t\t\t\t\t\tVALUES ('" . mb_substr($FieldValues, 0, -2) . "') "; $result = DB_Query($sql, $db); $sql = "UPDATE systypes SET typeno='" . GetNextTransactionNo(10, $db) . "' WHERE typeid=10"; $result = DB_Query($sql, $db); $SalesGLCode = GetSalesGLCode($SalesArea, $PartCode, $db); $DebtorsGLCode = GetDebtorsGLCode($db); $sql = "INSERT INTO gltrans VALUES(null,\n\t\t\t\t\t\t\t\t\t\t\t10,\n\t\t\t\t\t\t\t\t\t\t\t'" . GetNextTransactionNo(10, $db) . "',\n\t\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t\t'" . $InvoiceDetails['trandate'] . "',\n\t\t\t\t\t\t\t\t\t\t\t'" . $InvoiceDetails['prd'] . "',\n\t\t\t\t\t\t\t\t\t\t\t'" . $DebtorsGLCode . "',\n\t\t\t\t\t\t\t\t\t\t\t'" . _('Invoice for') . ' -' . $InvoiceDetails['debtorno'] . ' ' . _('Total') . ' - ' . $InvoiceDetails['ovamount'] . "',\n\t\t\t\t\t\t\t\t\t\t\t'" . $InvoiceDetails['ovamount'] . "',\n\t\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t\t'" . $InvoiceDetails['jobref'] . "',\n\t\t\t\t\t\t\t\t\t\t\t1)"; $result = api_DB_Query($sql, $db); $sql = "INSERT INTO gltrans VALUES(null,\n\t\t\t\t\t\t\t\t\t\t\t10,\n\t\t\t\t\t\t\t\t\t\t\t'" . GetNextTransactionNo(10, $db) . "',\n\t\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t\t'" . $InvoiceDetails['trandate'] . "',\n\t\t\t\t\t\t\t\t\t\t\t'" . $InvoiceDetails['prd'] . "',\n\t\t\t\t\t\t\t\t\t\t\t'" . $SalesGLCode . "',\n\t\t\t\t\t\t\t\t\t\t\t'" . _('Invoice for') . ' -' . $InvoiceDetails['debtorno'] . ' ' . _('Total') . ' - ' . $InvoiceDetails['ovamount'] . "',\n\t\t\t\t\t\t\t\t\t\t\t'" . -intval($InvoiceDetails['ovamount']) . "',\n\t\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t\t'" . $InvoiceDetails['jobref'] . "',\n\t\t\t\t\t\t\t\t\t\t\t1)"; $result = api_DB_Query($sql, $db); $result = DB_Txn_Commit($db); if (DB_error_no($db) != 0) { $Errors[0] = DatabaseUpdateFailed; } else { $Errors[0] = 0; // Return invoice number too $Errors[] = $InvoiceDetails['transno']; } return $Errors; } else { return $Errors; } }