MARX#34009 Issuelijst punt 107: Combinatie BTW en BTW verlegd gaat fout

svn path=/Website/trunk/; revision=30709
This commit is contained in:
Erik Groener
2016-09-14 13:54:22 +00:00
parent ceeb4d8972
commit 1e7b0a79d4
3 changed files with 35 additions and 29 deletions

View File

@@ -461,7 +461,7 @@ var fin_btwtabel_key = oRs("fin_btwtabel_key").value; // Standaard btw tabel key
RWFIELDTR("finsominc", "fldfinsom", L("lcl_fin_totaal_bedrag_btw"), S("currency_pref") + safe.curr(ref_info.totaalbedrag? (ref_info.totaalbedrag + ref_info.totaalbtwbedrag) : "0") + S("currency_suff"), {readonly:true}); // Totaal bedrag van het aantal facturen met dezelfde factuurnummer
if (S("fin_factuur_verlegdmode") & 1 == 1)
RWFIELDTR("fingbedrag", "fldfinsom", L("lcl_fin_gbedrag"), (fin_factuur.fin_gbedrag? fin_factuur.fin_gbedrag : "0") );
RWFIELDTR("fingbedrag", "fldfinsom", L("lcl_fin_gbedrag"), (fin_factuur.fin_gbedrag? fin_factuur.fin_gbedrag : ""));
BLOCK_END();

View File

@@ -40,25 +40,20 @@ function checkInput()
alert(L("lcl_fin_no_complete_invoice_rows"));
return false;
}
// Controle op het factuurnummer (van de leverancier) of dat dan van dezelfde leverancier(!) (debiteurnummer) al bestaat,
// Eigen factuurnummer meegeven zodat deze niet meegnomen wordt in de check
// Melding: "Factuurnr 1234 is al N keer geregistreerd met een totaalbedrag van 99999. Toch doorgaan?", bij Cancel keer je terug in het scherm
$.getJSON("check_factuur_exist.asp",
{ fac_nr: $("#finnr").val(),
lev_uit_key: $("#lev_uit_key").val(), // Via de referentie bepaald en opgeslagen. Afdeling, Persoon of Bedrijf.
fin_key: $("#fin_key").val() },
checkFactuurExistCallback);
return true;
return true;
}
function checkVerlegd()
{
var valid = true;
if (verlegdmode & 1 == 1)
valid = true;
if (verlegdmode > 0)
{
var is_required = false; // voor verlegdmode = 2
var key_shift = 0; // voor verlegdmode = 4
var mixed_mode = 0;
// key_shift = 0 als er geen verlegd-tarief in de factuurregels aanwezig is.
// key-shift > 0 bevat de key van het verlegd-tarief; is voor alle facturregels hetzelfde.
// key_shift = -1 als er verschillende verlegd-tarieven in de factuurregels staan.
$("table#sel_items select[id^=BTW]").each(function()
{
var tarief_key = $(this).val();
@@ -68,19 +63,22 @@ function checkVerlegd()
if (tarief_key == btwtabel[j].key)
{
if (btwtabel[j].verlegd)
{
has_shift = true;
else
key_shift = -1;
if (key_shift == 0)
key_shift = tarief_key;
else if (key_shift != tarief_key)
key_shift = -1;
if (key_shift == 0)
key_shift = tarief_key;
else if (key_shift != tarief_key)
key_shift = -1;
}
}
}
is_required = is_required || has_shift;
mixed_mode = mixed_mode | (has_shift?2:1);
});
if ((verlegdmode & 1) == 1)
{
// Hiervoor valt niets te controleren, alleen het veld G-bedrag moet zichtbaar zijn gemaakt.
}
if ((verlegdmode & 2) == 2)
{
// Is er een factuurregel die een verlegd btw-tarief heeft?
@@ -90,10 +88,9 @@ function checkVerlegd()
}
if ((verlegdmode & 4) == 4)
{
// Alle factuurregels moeten dezelfde BTW-verlegd-tarief hebben.
// Alleen normaal btw-tarief of verlegd- en normaal-tarief mag ook niet.
// Als dit niet het geval is, dit melden.
if (key_shift == -1)
// Alle factuurregels moeten dezelfde BTW-verlegd-tarief hebben, of alleen niet-verlegde BTW-tarieven.
// Dus een verlegd- en normaal-tarief mag niet.
if (key_shift == -1 || mixed_mode == 3)
{
alert(L("lcl_fin_gbedrag_validate"));
valid = false;
@@ -109,13 +106,22 @@ function fin_submit()
if (!checkVerlegd())
return false;
// Formulier specifieke checks, met eventuele submit
if (!checkInput())
return false;
// Standaard checks op verplichte velden, datum formaat, numeriek en float formaat, currency formaat.
if (!validateForm("u2"))
return false;
// Formulier specifieke checks, met eventuele submit
if (checkInput())
return true; // Button alvast uit
// Controle op het factuurnummer (van de leverancier) of dat dan van dezelfde leverancier(!) (debiteurnummer) al bestaat,
// Eigen factuurnummer meegeven zodat deze niet meegnomen wordt in de check
// Melding: "Factuurnr 1234 is al N keer geregistreerd met een totaalbedrag van 99999. Toch doorgaan?", bij Cancel keer je terug in het scherm
$.getJSON("check_factuur_exist.asp",
{ fac_nr: $("#finnr").val(),
lev_uit_key: $("#lev_uit_key").val(), // Via de referentie bepaald en opgeslagen. Afdeling, Persoon of Bedrijf.
fin_key: $("#fin_key").val() },
checkFactuurExistCallback);
return true;
}
function fin_cancel()

View File

@@ -235,7 +235,7 @@ var urlMail = "../shared/queuemail.asp?pcode=FINMAI&defemail_key=-1&key=" + fin_
ROFIELDTR("fldfinsom", L("lcl_fin_totaal_bedrag_btw"), S("currency_pref") + safe.curr(ref_info.totaalbedrag? (ref_info.totaalbedrag + ref_info.totaalbtwbedrag) : "0") + S("currency_suff")); // Totaal bedrag inclusief BTW van het aantal facturen met dezelfde factuurnummer
if (S("fin_factuur_verlegdmode") & 1 == 1)
ROFIELDTR("fldfinsom", L("lcl_fin_gbedrag"), (fin_factuur.fin_gbedrag? fin_factuur.fin_gbedrag : "0") );
ROFIELDTR("fldfinsom", L("lcl_fin_gbedrag"), S("currency_pref") + safe.curr(fin_factuur.fin_gbedrag? fin_factuur.fin_gbedrag : "0") + S("currency_suff"));
BLOCK_END();
}