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']}'";
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";
// 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']}'";
$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) {
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>"; } }
$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 != '') {
$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"; }
} } // 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