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;
}
Esempio n. 2
0
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;
    }
}