echo "<font class='error'>" . t("Suoritus katosi") . "!</font><br>";
        exit;
    }
    $query = "SELECT *\n            FROM lasku\n            WHERE tunnus = '{$tunnus}'\n            and yhtio    = '{$kukarow['yhtio']}'\n            and tila     = 'Q'";
    $result = pupe_query($query);
    if (mysql_num_rows($result) == 0) {
        echo "<font class='error'>" . t("Lasku katosi, tai sen on joku jo suorittanut") . "!</font><br>";
        exit;
    }
    $laskurow = mysql_fetch_assoc($result);
    list($kustp_ins, $kohde_ins, $projekti_ins) = kustannuspaikka_kohde_projekti($yhtiorow["ostovelat"]);
    // Oletustiliöinnit
    // Ostovelat
    $query = "INSERT INTO tiliointi SET\n            yhtio    = '{$kukarow['yhtio']}',\n            ltunnus  = '{$laskurow['tunnus']}',\n            tilino   = '{$yhtiorow['ostovelat']}',\n            kustp    = '{$kustp_ins}',\n            kohde    = '{$kohde_ins}',\n            projekti = '{$projekti_ins}',\n            tapvm    = '{$tiliointirow['tapvm']}',\n            summa    = '{$laskurow['summa']}',\n            vero     = 0,\n            lukko    = '',\n            laatija  = '{$kukarow['kuka']}',\n            laadittu = now()";
    $xresult = pupe_query($query);
    list($kustp_ins, $kohde_ins, $projekti_ins) = kustannuspaikka_kohde_projekti($yhtiorow["selvittelytili"]);
    // Rahatili
    $query = "INSERT INTO tiliointi SET\n            yhtio    = '{$kukarow['yhtio']}',\n            ltunnus  = '{$laskurow['tunnus']}',\n            tilino   = '{$yhtiorow['selvittelytili']}',\n            kustp    = '{$kustp_ins}',\n            kohde    = '{$kohde_ins}',\n            projekti = '{$projekti_ins}',\n            tapvm    = '{$tiliointirow['tapvm']}',\n            summa    = -1 * {$laskurow['summa']},\n            vero     = 0,\n            lukko    = '',\n            laatija  = '{$kukarow['kuka']}',\n            laadittu = now()";
    $xresult = pupe_query($query);
    $query = "UPDATE lasku set\n            tila         = 'Y',\n            mapvm        = '{$tiliointirow['tapvm']}',\n            maksu_kurssi = 1\n            WHERE tunnus = '{$tunnus}'";
    $xresult = pupe_query($query);
    $tee = '';
}
//Näytetään kohdistamattomat
if ($tee == '') {
    echo "<table>";
    // katotaan jos meillä on jotain selvittelytilejä pankkitilien takana
    $query = "SELECT group_concat(concat('\\'',oletus_selvittelytili,'\\'')) oletus_selvittelytilit\n            FROM yriti\n            WHERE yhtio                = '{$kukarow['yhtio']}'\n            AND oletus_selvittelytili != ''";
    $result = pupe_query($query);
    $trow = mysql_fetch_assoc($result);
    $selvittelytilit = "'{$yhtiorow['selvittelytili']}'";
Example #2
0
     if (substr($ytunnus, 0, 1) == "£") {
         $asiakasid = $row['liitostunnus'];
     }
 }
 // tehdään dummy-lasku johon liitetään kirjaukset
 $tapvm = $vva . "-" . $kka . "-" . $ppa;
 $query = "INSERT into lasku\n            SET yhtio   = '{$kukarow['yhtio']}',\n            tapvm      = '{$tapvm}',\n            tila       = 'X',\n            laatija    = '{$kukarow['kuka']}',\n            luontiaika = now()";
 $result = pupe_query($query);
 $ltunnus = mysql_insert_id($GLOBALS["masterlink"]);
 $selite = pupesoft_cleanstring($selite);
 list($kustp_ins, $kohde_ins, $projekti_ins) = kustannuspaikka_kohde_projekti($myyntisaamiset);
 // Myyntisaamiset
 $query = "INSERT INTO tiliointi SET\n            yhtio            = '{$kukarow['yhtio']}',\n            laatija          = '{$kukarow['kuka']}',\n            laadittu         = now(),\n            tapvm            = '{$tapvm}',\n            ltunnus          = '{$ltunnus}',\n            tilino           = '{$myyntisaamiset}',\n            summa            = {$omasumma} * -1,\n            summa_valuutassa = {$pistesumma} * -1,\n            valkoodi         = '{$tilivaluutta}',\n            selite           = 'Käsin syötetty suoritus {$asiakas_nimi} {$selite}',\n            lukko            = '1',\n            kustp            = '{$kustp_ins}',\n            kohde            = '{$kohde_ins}',\n            projekti         = '{$projekti_ins}'";
 $result = pupe_query($query);
 $ttunnus = mysql_insert_id($GLOBALS["masterlink"]);
 list($kustp_ins, $kohde_ins, $projekti_ins) = kustannuspaikka_kohde_projekti($kassatili, $kustannuspaikka);
 // Rahatili
 $query = "INSERT INTO tiliointi SET\n            yhtio            = '{$kukarow['yhtio']}',\n            laatija          = '{$kukarow['kuka']}',\n            laadittu         = now(),\n            tapvm            = '{$tapvm}',\n            ltunnus          = '{$ltunnus}',\n            tilino           = '{$kassatili}',\n            summa            = '{$omasumma}',\n            summa_valuutassa = '{$pistesumma}',\n            valkoodi         = '{$tilivaluutta}',\n            selite           = 'Käsin syötetty suoritus {$asiakas_nimi} {$selite}',\n            aputunnus        = '{$ttunnus}',\n            lukko            = '1',\n            kustp            = '{$kustp_ins}',\n            kohde            = '{$kohde_ins}',\n            projekti         = '{$projekti_ins}'";
 $result = pupe_query($query);
 // Näin kaikki tiliöinnit ovat kauniisti linkitetty toisiinsa
 $query = "INSERT INTO suoritus SET\n            yhtio          = '{$kukarow['yhtio']}',\n            tilino         = '{$tilistr}',\n            nimi_maksaja   = '{$asiakasstr}',\n            summa          = '{$pistesumma}',\n            maksupvm       = '{$tapvm}',\n            kirjpvm        = '{$tapvm}',\n            asiakas_tunnus = '{$asiakasid}',\n            ltunnus        = '{$ttunnus}',\n            viesti         = '{$selite}',\n            valkoodi       = '{$tilivaluutta}',\n            kurssi         = '{$tilikurssi}'";
 $result = pupe_query($query);
 $suoritus_tunnus = mysql_insert_id($GLOBALS["masterlink"]);
 echo "<font class='message'>" . t("Suoritus tallennettu") . ".</font><br>";
 // tulostetaan suorituksesta kuitti
 if ($tulostakuitti != "") {
     $query = "SELECT *\n              FROM asiakas\n              WHERE yhtio = '{$kukarow['yhtio']}'\n              and tunnus  = '{$asiakasid}'";
     $result = pupe_query($query);
     $asiakasrow = mysql_fetch_assoc($result);
     $summa = $pistesumma;
     require "tilauskasittely/tulosta_kuitti.inc";
Example #3
0
                 // haetaan seuraava vapaa keikkaid
                 $query = "SELECT max(laskunro)+1 keikkanro\n                           FROM lasku\n                           WHERE yhtio = '{$kukarow['yhtio']}'\n                           AND tila    = 'K'";
                 $result = pupe_query($query);
                 $row = mysql_fetch_assoc($result);
                 $id = $row["keikkanro"];
                 $query = "INSERT into lasku set\n                          yhtio        = '{$kukarow['yhtio']}',\n                          laskunro     = '{$id}',\n                          ytunnus      = '{$sarjarow['tunnus']}',\n                          nimi         = 'Sisäinen työmääräys: {$tilausnumero}',\n                          liitostunnus = '{$sarjarow['tunnus']}',\n                          tila         = 'K',\n                          alatila      = 'S',\n                          luontiaika   = now(),\n                          laatija      = '{$kukarow['kuka']}'";
                 $result = pupe_query($query);
                 $otunnus = mysql_insert_id($GLOBALS["masterlink"]);
             }
             $query = "INSERT into lasku set\n                        yhtio         = '{$kukarow['yhtio']}',\n                        tapvm         = now(),\n                        tila          = 'X',\n                        laskunro      = '{$id}',\n                        maksu_kurssi  = '1',\n                        vienti_kurssi = '1',\n                        laatija       = '{$kukarow['kuka']}',\n                        vanhatunnus   = '{$otunnus}',\n                        arvo          = {$tyokulut},\n                        summa         = {$tyokulut},\n                        vienti        = 'B',\n                        luontiaika    = now()";
             $result = pupe_query($query);
             $laskuid = mysql_insert_id($GLOBALS["masterlink"]);
             list($kustp_ins, $kohde_ins, $projekti_ins) = kustannuspaikka_kohde_projekti($yhtiorow["varasto"]);
             $query = "INSERT into tiliointi set\n                        yhtio    = '{$kukarow['yhtio']}',\n                        ltunnus  = '{$laskuid}',\n                        tilino   = '{$yhtiorow['varasto']}',\n                        kustp    = '{$kustp_ins}',\n                        kohde    = '{$kohde_ins}',\n                        projekti = '{$projekti_ins}',\n                        tapvm    = now(),\n                        summa    = '{$tyokulut}',\n                        vero     = 0,\n                        lukko    = '',\n                        selite   = 'Varastonmuutos sisäinen työmääräys {$tilausnumero}: {$srow['tuoteno']} ({$sarjarow['sarjanumero']})',\n                        laatija  = '{$kukarow['kuka']}',\n                        laadittu = now()";
             $result = pupe_query($query);
             list($kustp_ins, $kohde_ins, $projekti_ins) = kustannuspaikka_kohde_projekti($yhtiorow["varastonmuutos_valmistuksesta"]);
             $query = "INSERT into tiliointi set\n                        yhtio    = '{$kukarow['yhtio']}',\n                        ltunnus  = '{$laskuid}',\n                        tilino   = '{$yhtiorow['varastonmuutos_valmistuksesta']}',\n                        kustp    = '{$kustp_ins}',\n                        kohde    = '{$kohde_ins}',\n                        projekti = '{$projekti_ins}',\n                        tapvm    = now(),\n                        summa    = {$tyokulut} * -1,\n                        vero     = 0,\n                        lukko    = '',\n                        selite   = 'Varastonmuutos sisäinen työmääräys {$tilausnumero}: {$srow['tuoteno']} ({$sarjarow['sarjanumero']})',\n                        laatija  = '{$kukarow['kuka']}',\n                        laadittu = now()";
             $result = pupe_query($query);
         }
     }
     //Päivitetään varmuuden vuoksi alkuperäisen ostorivin perheid2 (se voi olla nolla)
     $query = "UPDATE tilausrivi\n                    SET perheid2 = '{$sarjarow['ostorivitunnus']}'\n                    WHERE yhtio = '{$kukarow['yhtio']}'\n                    and tunnus  = '{$sarjarow['ostorivitunnus']}'";
     $sarjares = pupe_query($query);
     if ($lisarow["sarjanumeroseuranta"] != '') {
         //Varataan sarjanumero jatkojalostettavalle tuotteelle
         $query = "UPDATE sarjanumeroseuranta\n                      SET siirtorivitunnus   = {$sarjarow['ostorivitunnus']}\n                      WHERE yhtio          = '{$kukarow['yhtio']}'\n                      and tuoteno          = '{$lisarow['tuoteno']}'\n                      and siirtorivitunnus = '{$lisarow['rivitunnus']}'";
         $sarjares = pupe_query($query);
     }
 }
 //Irroitetaan jatkojalostettavan tuotteen sarjanumero
 $query = "UPDATE sarjanumeroseuranta\n                  SET siirtorivitunnus = 0\n                  WHERE yhtio='{$kukarow['yhtio']}' and tuoteno='{$srow['tuoteno']}' and siirtorivitunnus='{$srow['tunnus']}'";
Example #4
0
     $result = pupe_query($query);
 }
 // Alkuperäisen rahatiliöinnin kustannuspaikka
 $query = "SELECT kustp, kohde, projekti\n                       FROM tiliointi\n                       WHERE yhtio   = '{$kukarow['yhtio']}'\n                       and aputunnus = '{$tiliointi2row['tunnus']}'";
 $result = pupe_query($query);
 $raha2row = mysql_fetch_assoc($result);
 // Tarkenteet kopsataan alkuperäiseltä tiliöinniltä, mutta jos alkuperäinen tiliöinti on ilman tarkenteita, niin mennään tilin defaulteilla
 list($kustp_ins, $kohde_ins, $projekti_ins) = kustannuspaikka_kohde_projekti($yhtiorow["selvittelytili"], $raha2row["kustp"], $raha2row["kohde"], $raha2row["projekti"]);
 $query = "INSERT INTO tiliointi SET\n                      yhtio    = '{$kukarow['yhtio']}',\n                      ltunnus  = '{$tiliointi2row['ltunnus']}',\n                      tapvm    = '{$tapvm}',\n                      summa    = {$tiliointi2row['summa']},\n                      tilino   = '{$yhtiorow['selvittelytili']}',\n                      selite   = '" . t('Suoritettu päittäin') . "',\n                      lukko    = 1,\n                      laatija  = '{$kukarow['kuka']}',\n                      laadittu = now(),\n                      kustp    = '{$kustp_ins}',\n                      kohde    = '{$kohde_ins}',\n                      projekti = '{$projekti_ins}'";
 if ($debug == 1) {
     echo "{$query}<br>";
 } else {
     $result = pupe_query($query);
 }
 // Tarkenteet kopsataan alkuperäiseltä tiliöinniltä, mutta jos alkuperäinen tiliöinti on ilman tarkenteita, niin mennään tilin defaulteilla
 list($kustp_ins, $kohde_ins, $projekti_ins) = kustannuspaikka_kohde_projekti($tiliointi1row["tilino"], $tiliointi2row["kustp"], $tiliointi2row["kohde"], $tiliointi2row["projekti"]);
 $query = "INSERT INTO tiliointi SET\n                      yhtio    = '{$kukarow['yhtio']}',\n                      ltunnus  = '{$tiliointi2row['ltunnus']}',\n                      tapvm    = '{$tapvm}',\n                      summa    = {$tiliointi2row['summa']} * -1,\n                      tilino   = '{$tiliointi1row['tilino']}',\n                      selite   = '" . t('Suoritettu päittäin') . "',\n                      lukko    = 1,\n                      laatija  = '{$kukarow['kuka']}',\n                      laadittu = now(),\n                      kustp    = '{$kustp_ins}',\n                      kohde    = '{$kohde_ins}',\n                      projekti = '{$projekti_ins}'";
 if ($debug == 1) {
     echo "{$query}<br>";
 } else {
     $result = pupe_query($query);
 }
 //Kirjataan suoritukset käytetyksi
 $query = "UPDATE suoritus\n                      SET kohdpvm = '{$tapvm}'\n                      WHERE tunnus = '{$suoritus1row['tunnus']}'";
 if ($debug == 1) {
     echo "{$query}<br>";
 } else {
     $result = pupe_query($query);
 }
 $query = "UPDATE suoritus\n                      SET kohdpvm = '{$tapvm}'\n                      WHERE tunnus = '{$suoritus2row['tunnus']}'";
 if ($debug == 1) {
Example #5
0
function korjaa_ostovelka($tilausnumero)
{
    global $yhtiorow, $kukarow, $toim, $muokkauslukko, $laskurow;
    if ($muokkauslukko or $tilausnumero != $laskurow["tunnus"]) {
        echo "<font class='error'>" . t("VIRHE: Matkalaskua ei voi muokata") . "!</font><br>";
        return false;
    }
    $debug = 0;
    if ($debug == 1) {
        echo "Korjataan ostovelka laskulle {$tilausnumero}<br>";
    }
    if ($yhtiorow["ostovelat"] == "") {
        echo t("VIRHE: Yhtiön ostovelkatili puuttuu") . "!<br>";
        return false;
    }
    // haetaan tiliöinti tilauskohtaisesti
    $query = "SELECT sum((-1*tiliointi.summa)) summa, count(*) kpl\n            FROM tiliointi\n            WHERE tiliointi.yhtio   = '{$kukarow['yhtio']}'\n            AND tiliointi.ltunnus   = '{$tilausnumero}'\n            AND tiliointi.korjattu  = ''\n            AND tiliointi.tilino   != '{$yhtiorow['ostovelat']}'";
    $summares = pupe_query($query);
    $summarow = mysql_fetch_assoc($summares);
    if ($yhtiorow["kirjanpidon_tarkenteet"] == "K") {
        // Etsitään kulutiliöinnit
        $query = "SELECT tiliointi.kustp, tiliointi.kohde, tiliointi.projekti\n              FROM tiliointi\n              JOIN tili ON (tiliointi.yhtio = tili.yhtio and tiliointi.tilino = tili.tilino)\n              LEFT JOIN taso ON (tili.yhtio = taso.yhtio and tili.ulkoinen_taso = taso.taso and taso.tyyppi = 'U')\n              WHERE tiliointi.yhtio  = '{$kukarow['yhtio']}'\n              AND tiliointi.ltunnus  = '{$tilausnumero}'\n              AND tiliointi.korjattu = ''\n              AND tiliointi.tilino   not in ('{$yhtiorow['ostovelat']}', '{$yhtiorow['alv']}', '{$yhtiorow['konserniostovelat']}', '{$yhtiorow['matkalla_olevat']}', '{$yhtiorow['varasto']}', '{$yhtiorow['varastonmuutos']}', '{$yhtiorow['raaka_ainevarasto']}', '{$yhtiorow['raaka_ainevarastonmuutos']}', '{$yhtiorow['varastonmuutos_inventointi']}', '{$yhtiorow['varastonmuutos_epakurantti']}')\n              AND (taso.kayttotarkoitus is null or taso.kayttotarkoitus  in ('','O'))\n              ORDER BY abs(tiliointi.summa) DESC\n              LIMIT 1";
        $kpres = pupe_query($query);
        $kprow = mysql_fetch_assoc($kpres);
        list($kustp_ins, $kohde_ins, $projekti_ins) = kustannuspaikka_kohde_projekti($yhtiorow["ostovelat"], $kprow["kustp"], $kprow["kohde"], $kprow["projekti"]);
    } else {
        list($kustp_ins, $kohde_ins, $projekti_ins) = kustannuspaikka_kohde_projekti($yhtiorow["ostovelat"]);
    }
    //  Onko meillä jo ostovelkatiliöinti vai perustetaanko uusi?
    $query = "SELECT tiliointi.tunnus\n            FROM tiliointi\n            WHERE tiliointi.yhtio  = '{$kukarow['yhtio']}'\n            and tiliointi.ltunnus  = '{$tilausnumero}'\n            and tiliointi.tilino   = '{$yhtiorow['ostovelat']}'\n            and tiliointi.korjattu = ''";
    $velkares = pupe_query($query);
    if (mysql_num_rows($velkares) == 1) {
        $velkarow = mysql_fetch_assoc($velkares);
        if ($debug == 1) {
            echo "Löydettiin ostovelkatiliöinti tunnuksella {$velkarow['tunnus']} tiliöintejä ({$summarow['kpl']}) kpl<br>";
        }
        $query = "UPDATE tiliointi SET\n              summa       = '{$summarow['summa']}',\n              tapvm       = '{$laskurow['tapvm']}',\n              kustp       = '{$kustp_ins}',\n              kohde       = '{$kohde_ins}',\n              projekti    = '{$projekti_ins}',\n              vero        = 0,\n              tosite      = '{$tositenro}'\n              WHERE yhtio = '{$kukarow['yhtio']}'\n              and tunnus  = '{$velkarow['tunnus']}'";
        $updres = pupe_query($query);
    } else {
        if ($debug == 1) {
            echo "Luodaan uusi ostovelkatiliöinti<br>";
        }
        // Ostovelka
        $query = "INSERT into tiliointi SET\n              yhtio    = '{$kukarow['yhtio']}',\n              ltunnus  = '{$tilausnumero}',\n              lukko    = '1',\n              tilino   = '{$yhtiorow['ostovelat']}',\n              summa    = '{$summarow['summa']}',\n              kustp    = '{$kustp_ins}',\n              kohde    = '{$kohde_ins}',\n              projekti = '{$projekti_ins}',\n              tapvm    = '{$laskurow['tapvm']}',\n              vero     = 0,\n              tosite   = '{$tositenro}',\n              selite   = '" . t("Ostovelka") . "',\n              laatija  = '{$kukarow['kuka']}',\n              laadittu = now()";
        $updres = pupe_query($query);
    }
    if ($debug == 1) {
        echo "Korjattiin ostovelkatiliöinti uusi summa on {$summarow['summa']}";
    }
    //  Päivitetään laskun summa
    if ($laskurow["tilaustyyppi"] == "M") {
        $query = "UPDATE lasku\n              set summa = '" . -1 * $summarow["summa"] . "'\n              WHERE yhtio = '{$kukarow['yhtio']}'\n              and tunnus  = '{$tilausnumero}'";
        $updres = pupe_query($query);
    }
    //haetaan matkalaskuun liittyvän tiliöinnen kokosumma
    $query = "SELECT sum((-1*summa)) summa, count(*) kpl\n            FROM tiliointi\n            WHERE yhtio   = '{$kukarow['yhtio']}'\n            AND ltunnus   = '{$tilausnumero}'\n            AND korjattu  = ''\n            AND tilino   != '{$yhtiorow['ostovelat']}'";
    $result = pupe_query($query);
    $tiliointi_summa = mysql_fetch_assoc($result);
    //  Ollaanko vielä synkissä?
    $query = "SELECT sum(rivihinta) summa\n            FROM tilausrivi\n            WHERE yhtio = '{$kukarow['yhtio']}'\n            and otunnus = '{$tilausnumero}'\n            and tyyppi  = 'M'";
    $result = pupe_query($query);
    $rivisumma = mysql_fetch_assoc($result);
    $ero = round($rivisumma["summa"], 2) + round($tiliointi_summa["summa"], 2);
    if ($ero != 0) {
        echo "  <font class='error'>" . t("VIRHE: Matkalasku ja kirjanpito ei täsmää!!!") . "</font><br>\n        <font class='message'>" . t("Heitto on") . " {$ero} [rivit {$rivirow['summa']}] (kp {$tiliointi_summa['summa']})</font><br>";
    }
}
Example #6
0
            $query = "INSERT INTO tiliointi SET\n                yhtio    = '{$kukarow['yhtio']}',\n                ltunnus  = '{$laskuid}',\n                tilino   = '{$kassalipasrow['kassa']}',\n                kustp    = '{$kustp_ins}',\n                kohde    = '{$kohde_ins}',\n                projekti = '{$projekti_ins}',\n                tapvm    = '{$vv}-{$kk}-{$pp}',\n                summa    = {$arvo} * -1,\n                vero     = 0,\n                lukko    = '',\n                selite   = '{$kassalipas} " . t("Käteistilitys pankkiin kassasta") . "',\n                laatija  = '{$kukarow['kuka']}',\n                laadittu = now()";
            $result = pupe_query($query);
        }
        // Jos kenttä on käteisotto, niin toinen tiliöidään käteisotto-tilille ja se summa myös miinustetaan kassasta
        if (abs(str_replace(",", ".", $arvo)) > 0 and stristr($kentta, "kateisotto")) {
            $arvo = (double) str_replace(",", ".", $arvo);
            if ($kassalipasrow["kateisotto"] == "") {
                $kassalipasrow["kateisotto"] = $yhtiorow["kassaerotus"];
            }
            list($kustp_ins, $kohde_ins, $projekti_ins) = kustannuspaikka_kohde_projekti($kassalipasrow["kateisotto"], $kustp);
            $query = "INSERT INTO tiliointi SET\n                yhtio    = '{$kukarow['yhtio']}',\n                ltunnus  = '{$laskuid}',\n                tilino   = '{$kassalipasrow['kateisotto']}',\n                kustp    = '{$kustp}',\n                tapvm    = '{$vv}-{$kk}-{$pp}',\n                summa    = {$arvo},\n                vero     = 0,\n                lukko    = '',\n                selite   = '{$kassalipas} " . t("Käteisotto kassasta") . "',\n                laatija  = '{$kukarow['kuka']}',\n                laadittu = now()";
            $result = pupe_query($query);
            if ($kassalipasrow["kassa"] == "") {
                $kassalipasrow["kassa"] = $yhtiorow["kassa"];
            }
            list($kustp_ins, $kohde_ins, $projekti_ins) = kustannuspaikka_kohde_projekti($kassalipasrow["kassa"], $kustp);
            $query = "INSERT INTO tiliointi SET\n                yhtio    = '{$kukarow['yhtio']}',\n                ltunnus  = '{$laskuid}',\n                tilino   = '{$kassalipasrow['kassa']}',\n                kustp    = '{$kustp}',\n                tapvm    = '{$vv}-{$kk}-{$pp}',\n                summa    = {$arvo} * -1,\n                vero     = 0,\n                lukko    = '',\n                selite   = '{$kassalipas} " . t("Käteisotto kassasta") . "',\n                laatija  = '{$kukarow['kuka']}',\n                laadittu = now()";
            $result = pupe_query($query);
        }
    }
    $comments_yht .= t("Loppukassa yhteensä") . ": ";
    $comments_yht .= sprintf('%.2f', $loppukassa) . "<br>";
    $kassa_json = json_encode($kassalippaat_array);
    $kassa_json = $kassa_json . '##' . json_encode(array("loppukassa" => $loppukassa_array, "date" => "{$vv}-{$kk}-{$pp}"));
    $query = "UPDATE lasku\n            SET comments   = '{$comments}<br>" . t("Alkukassa yhteensä") . ": {$pohjakassa}<br>{$comments_yht}',\n            sisviesti2  = concat_ws('##', '{$kassa_json}', sisviesti2)\n            WHERE yhtio = '{$kukarow['yhtio']}'\n            AND tunnus  = {$laskuid}";
    $result = pupe_query($query);
    $tulosta = "kyllä";
    $lasku_id = array();
    $lasku_id["ltunnukset"] = $laskuid;
    tosite_print($vv, $kk, $pp, $lasku_id, $tulosta);
} elseif ($tee != '') {
Example #7
0
                $result = pupe_query($query);
                $isa = mysql_insert_id($GLOBALS["masterlink"]);
                // Tiliöidään alv
                if ($lasku['vero'] != 0) {
                    // jos yhtiön toimipaikka löytyy, otetaan alvtilinumero tämän takaa jos se löytyy
                    if ($lasku["yhtio_toimipaikka"] != '' and $yhtiorow["toim_alv"] != '') {
                        $alvtilino = $yhtiorow["toim_alv"];
                    } else {
                        $alvtilino = $yhtiorow["alv"];
                    }
                    $query = "INSERT INTO tiliointi SET\n                    yhtio     = '{$kukarow['yhtio']}',\n                    ltunnus   = '{$lasku['ltunnus']}',\n                    tilino    = '{$alvtilino}',\n                    kustp     = 0,\n                    kohde     = 0,\n                    projekti  = 0,\n                    tapvm     = '{$tpv}-{$tpk}-{$tpp}',\n                    summa     = {$alv} * -1,\n                    vero      = 0,\n                    selite    = '{$lasku['selite']}',\n                    lukko     = '1',\n                    tosite    = '{$lasku['tosite']}',\n                    laatija   = '{$kukarow['kuka']}',\n                    laadittu  = now(),\n                    aputunnus = '{$isa}'";
                    $result = pupe_query($query);
                }
            } else {
                // Tarkenteet kopsataan alkuperäiseltä tiliöinniltä, mutta jos alkuperäinen tiliöinti on ilman tarkenteita, niin mennään tilin defaulteilla
                list($kustp_ins, $kohde_ins, $projekti_ins) = kustannuspaikka_kohde_projekti($lasku["tilino"], $lasku["kustp"], $lasku["kohde"], $lasku["projekti"]);
                $query = "INSERT INTO tiliointi SET\n                  yhtio    = '{$kukarow['yhtio']}',\n                  ltunnus  = '{$lasku['ltunnus']}',\n                  tilino   = '{$lasku['tilino']}',\n                  kustp    = '{$kustp_ins}',\n                  kohde    = '{$kohde_ins}',\n                  projekti = '{$projekti_ins}',\n                  tapvm    = '{$tpv}-{$tpk}-{$tpp}',\n                  summa    = {$lasku['summa']} * -1,\n                  vero     = 0,\n                  selite   = '{$lasku['selite']}',\n                  lukko    = '',\n                  tosite   = '{$lasku['tosite']}',\n                  laatija  = '{$kukarow['kuka']}',\n                  laadittu = now()";
                $result = pupe_query($query);
            }
            $query = "UPDATE lasku set mapvm = '{$tpv}-{$tpk}-{$tpp}' where yhtio ='{$kukarow['yhtio']}' and tunnus = '{$lasku['ltunnus']}'";
            $result = pupe_query($query);
        }
        echo "<font class='message'>" . t("Laskut on tiliöity luottotappioksi") . "!</font><br><br>";
        $tila = "";
    } else {
        echo "<font class='message'>" . t("VIRHE: Et valinnut yhtään laskua") . "!</font><br><br>";
        $tila = "N";
    }
} elseif ($tila == 'K') {
    echo "<font class='message'>" . t("VIRHE: Et valinnut yhtään laskua") . "!</font><br><br>";
    $tila = "N";
                                    $toimipaikkares = pupe_query($query);
                                    $toimipaikkarow = mysql_fetch_assoc($toimipaikkares);
                                    // Otetaan ensisijaisesti kustannuspaikka toimipaikan takaa
                                    $kustp_ins = $toimipaikkarow["kustp"] > 0 ? $toimipaikkarow["kustp"] : $sarjarow["kustp"];
                                    $kohde_ins = $toimipaikkarow["kohde"] > 0 ? $toimipaikkarow["kohde"] : $sarjarow["kohde"];
                                    $projekti_ins = $toimipaikkarow["projekti"] > 0 ? $toimipaikkarow["projekti"] : $sarjarow["projekti"];
                                } else {
                                    // Otetaan ensisijaisesti kustannuspaikka tuotteen takaa
                                    $kustp_ins = $sarjarow["kustp"];
                                    $kohde_ins = $sarjarow["kohde"];
                                    $projekti_ins = $sarjarow["projekti"];
                                }
                                // Tiliöidään ensisijaisesti varastonmuutos tilin oletuskustannuspaikalle
                                list($kustp_ins, $kohde_ins, $projekti_ins) = kustannuspaikka_kohde_projekti($yhtiorow["varastonmuutos"], $kustp_ins, $kohde_ins, $projekti_ins);
                                // Toissijaisesti kokeillaan vielä varasto-tilin oletuskustannuspaikkaa
                                list($kustp_ins, $kohde_ins, $projekti_ins) = kustannuspaikka_kohde_projekti($yhtiorow["varasto"], $kustp_ins, $kohde_ins, $projekti_ins);
                                $query = "INSERT into tiliointi set\n                          yhtio    = '{$kukarow['yhtio']}',\n                          ltunnus  = '{$laskuid}',\n                          tilino   = '{$yhtiorow['varasto']}',\n                          kustp    = '{$kustp_ins}',\n                          kohde    = '{$kohde_ins}',\n                          projekti = '{$projekti_ins}',\n                          tapvm    = now(),\n                          summa    = '{$ero}',\n                          vero     = 0,\n                          lukko    = '',\n                          selite   = '" . t("Varastonarvon muutos") . ": {$edarvo} -> {$uuarvo}',\n                          laatija  = '{$kukarow['kuka']}',\n                          laadittu = now()";
                                $result = pupe_query($query);
                                $query = "INSERT into tiliointi set\n                          yhtio    = '{$kukarow['yhtio']}',\n                          ltunnus  = '{$laskuid}',\n                          tilino   = '{$yhtiorow['varastonmuutos']}',\n                          kustp    = '{$kustp_ins}',\n                          kohde    = '{$kohde_ins}',\n                          projekti = '{$projekti_ins}',\n                          tapvm    = now(),\n                          summa    = {$ero} * -1,\n                          vero     = 0,\n                          lukko    = '',\n                          selite   = '" . t("Varastonarvon muutos") . ": {$edarvo} -> {$uuarvo}',\n                          laatija  = '{$kukarow['kuka']}',\n                          laadittu = now()";
                                $result = pupe_query($query);
                                echo "<font class='message'>{$tuoteno}: " . t("Varastonarvon muutos") . ": {$edarvo} -> {$uuarvo}</font><br>";
                            }
                        }
                    }
                }
            }
        }
    }
    echo "<br><br>";
    $tee = "INVENTOI";
}
Example #9
0
     }
 }
 // Ostovelat
 $query = "INSERT INTO tiliointi SET\n            yhtio            = '{$kukarow['yhtio']}',\n            ltunnus          = '{$laskurow['tunnus']}',\n            tilino           = '{$ostovelkarow['tilino']}',\n            kustp            = '{$ostovelkarow['kustp']}',\n            kohde            = '{$ostovelkarow['kohde']}',\n            projekti         = '{$ostovelkarow['projekti']}',\n            tapvm            = '{$mav}-{$mak}-{$map}',\n            summa            = '{$laskurow['vietysumma']}',\n            summa_valuutassa = '{$laskurow['vietysumma_valuutassa']}',\n            valkoodi         = '{$laskurow['valkoodi']}',\n            vero             = 0,\n            lukko            = '',\n            laatija          = '{$kukarow['kuka']}',\n            laadittu         = now()";
 $xresult = pupe_query($query);
 // Rahatili
 if ($selvittely == 'on') {
     if ($yritirow["oletus_selvittelytili"] != "") {
         $rahatili = $yritirow["oletus_selvittelytili"];
     } else {
         $rahatili = $yhtiorow['selvittelytili'];
     }
 } else {
     $rahatili = $yritirow['oletus_rahatili'];
 }
 list($kustp_ins, $kohde_ins, $projekti_ins) = kustannuspaikka_kohde_projekti($rahatili);
 // Rahatili
 $query = "INSERT INTO tiliointi SET\n            yhtio            = '{$kukarow['yhtio']}',\n            ltunnus          = '{$laskurow['tunnus']}',\n            tilino           = '{$rahatili}',\n            kustp            = '{$kustp_ins}',\n            kohde            = '{$kohde_ins}',\n            projekti         = '{$projekti_ins}',\n            tapvm            = '{$mav}-{$mak}-{$map}',\n            summa            = -1 * {$rahasumma},\n            summa_valuutassa = -1 * {$rahasumma_valuutassa},\n            valkoodi         = '{$laskurow['valkoodi']}',\n            vero             = 0,\n            lukko            = '',\n            laatija          = '{$kukarow['kuka']}',\n            laadittu         = now()";
 $xresult = pupe_query($query);
 $query = "UPDATE lasku set\n            tila         = 'Y',\n            mapvm        = '{$mav}-{$mak}-{$map}',\n            maksu_kurssi = {$kurssi}\n            WHERE tunnus = '{$tunnus}'";
 $xresult = pupe_query($query);
 echo "<br><table><tr>";
 for ($i = 0; $i < 8; $i++) {
     echo "<th>" . t(mysql_field_name($result, $i)) . "</th>";
 }
 echo "</tr>";
 for ($i = 0; $i < 8; $i++) {
     if (mysql_field_name($result, $i) == 'ebid') {
         // tehdään lasku linkki
         echo "<td>" . ebid($laskurow['tunnus']) . "</td>";
     } else {
 if ($lasku["yhtio_toimipaikka"] != '') {
     $query = "SELECT toim_alv\n                        FROM yhtion_toimipaikat\n                        WHERE yhtio = '{$kukarow['yhtio']}'\n                        and tunnus  = '{$lasku['yhtio_toimipaikka']}'";
     $ytpres = pupe_query($query);
     $ytprow = mysql_fetch_assoc($ytpres);
     if ($ytprow["toim_alv"] != "") {
         $alvtili = $ytprow["toim_alv"];
     } else {
         $alvtili = $yhtiorow["alv"];
     }
 } else {
     $alvtili = $yhtiorow["alv"];
 }
 // Etsitään myynti-tiliöinnit
 $query = "SELECT tiliointi.summa, tiliointi.vero, tiliointi.kustp, tiliointi.kohde, tiliointi.projekti, tiliointi.summa_valuutassa, tiliointi.valkoodi\n                      FROM tiliointi use index (tositerivit_index)\n                      JOIN tili ON (tiliointi.yhtio = tili.yhtio and tiliointi.tilino = tili.tilino)\n                      LEFT JOIN taso ON (tili.yhtio = taso.yhtio and tili.ulkoinen_taso = taso.taso and taso.tyyppi = 'U')\n                      WHERE tiliointi.ltunnus = '{$lasku['tunnus']}'\n                      AND tiliointi.yhtio     = '{$kukarow['yhtio']}'\n                      AND tiliointi.tapvm     = '{$lasku['tapvm']}'\n                      AND abs(tiliointi.summa) <> 0\n                      AND tiliointi.tilino    not in ('{$yhtiorow['myyntisaamiset']}','{$yhtiorow['konsernimyyntisaamiset']}','{$alvtili}','{$yhtiorow['varasto']}','{$yhtiorow['varastonmuutos']}','{$yhtiorow['pyoristys']}','{$yhtiorow['myynninkassaale']}','{$yhtiorow['factoringsaamiset']}')\n                      AND tiliointi.korjattu  = ''\n                      AND (taso.kayttotarkoitus is null or taso.kayttotarkoitus  in ('','M'))";
 $tilres = pupe_query($query);
 list($kustp_ins, $kohde_ins, $projekti_ins) = kustannuspaikka_kohde_projekti($suoritus["myynninvaluuttaero_tilino"]);
 if (mysql_num_rows($tilres) == 0) {
     // Valuuttaero
     $query = "INSERT INTO tiliointi SET\n                        yhtio    = '{$kukarow['yhtio']}',\n                        laatija  = '{$kukarow['kuka']}',\n                        laadittu = now(),\n                        tapvm    = '{$laskun_maksupvm}',\n                        ltunnus  = '{$lasku['tunnus']}',\n                        tilino   = '{$suoritus['myynninvaluuttaero_tilino']}',\n                        kustp    = '{$kustp_ins}',\n                        kohde    = '{$kohde_ins}',\n                        projekti = '{$projekti_ins}',\n                        summa    = {$valero},\n                        selite   = 'Manuaalisesti kohdistettu suoritus {$suoritus['viesti']}'";
     $result = pupe_query($query);
 } else {
     while ($tiliointirow = mysql_fetch_assoc($tilres)) {
         // Kuinka paljon on tämän viennin osuus
         $summa = round($tiliointirow['summa'] * (1 + $tiliointirow['vero'] / 100) / $lasku["summa"] * $valero, 2);
         // Valuuttaero
         $query = "INSERT INTO tiliointi SET\n                          yhtio    = '{$kukarow['yhtio']}',\n                          laatija  = '{$kukarow['kuka']}',\n                          laadittu = now(),\n                          tapvm    = '{$laskun_maksupvm}',\n                          ltunnus  = '{$ltunnus}',\n                          tilino   = '{$suoritus['myynninvaluuttaero_tilino']}',\n                          kustp    = '{$kustp_ins}',\n                          kohde    = '{$kohde_ins}',\n                          projekti = '{$projekti_ins}',\n                          summa    = {$summa},\n                          selite   = 'Manuaalisesti kohdistettu suoritus (osasuoritus) {$suoritus['viesti']}'";
         $result = pupe_query($query);
         $isa = mysql_insert_id($GLOBALS["masterlink"]);
         $totvesumma += $summa;
     }
     // Hoidetaan mahdolliset pyöristykset