MARX#36974 Waarschuwing geven bij verlegd factuur zonder G-bedrag in Mareon

svn path=/Website/trunk/; revision=30333
This commit is contained in:
Erik Groener
2016-08-17 13:18:42 +00:00
parent 0cf4dd25c3
commit 2b47d0e94f
5 changed files with 69 additions and 1 deletions

View File

@@ -395,6 +395,7 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
+ " , f.bes_bestelopdr_key"
+ " , f.fin_factuur_totaal"
+ " , f.fin_factuur_totaal_btw"
+ " , f.fin_factuur_gbedrag"
+ " , f.prs_perslid_key_user"
+ " , f.prs_perslid_key_goedkeur"
+ " , f.fin_factuur_opmerking"
@@ -437,6 +438,7 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
besopdr_key: oRs("bes_bestelopdr_key").Value,
fin_totaal: oRs("fin_factuur_totaal").Value,
fin_totaal_btw: oRs("fin_factuur_totaal_btw").Value,
fin_gbedrag: oRs("fin_factuur_gbedrag").Value,
perslid_key_user: oRs("prs_perslid_key_user").Value,
perslid_key_goedkeur: oRs("prs_perslid_key_goedkeur").Value,
fin_opm: oRs("fin_factuur_opmerking").Value,

View File

@@ -78,6 +78,7 @@ else // nieuwe factuur. Defaults bepalen
bes_volgnr: "",
fin_totaal: 0,
fin_totaal_btw: 0,
fin_gbedrag: 0,
perslid_key_user: user_key,
perslid_key_goedkeur: -1,
perslid_key_fiat: null,
@@ -236,6 +237,7 @@ var fin_btwtabel_key = oRs("fin_btwtabel_key").value; // Standaard btw tabel key
var fin_btw_default = <%=S("fin_btw_default")%>;
var btwtabel = new Array();
var verlegdmode = <%=S("fin_factuur_verlegdmode")%>;
<% if (ref_info.btwtabel) // Is er een uitvoerende gedefinieeerd
{
serversidebtwtabel = ref_info.btwtabel;
@@ -244,7 +246,7 @@ var fin_btwtabel_key = oRs("fin_btwtabel_key").value; // Standaard btw tabel key
{ // Kies default btwtabel m.b.v. setting S("fin_btw_default") als er geen referentie is geselecteerd (komt voor bij facturen die zijn geimporteerd)
serversidebtwtabel = fin.btwtabel_info(fin_btwtabel_key); // default tabel hadden we al
}
%>
%>
var JSONdata = '(<%=safe.jsstring(JSON.stringify(serversidebtwtabel))%>)';
window.btwtabel = eval('(' + JSONdata + ')');
window.btwtabel_key = <%= ref_info.btwtabel_key? ref_info.btwtabel_key : fin_btwtabel_key %>;
@@ -455,6 +457,10 @@ var fin_btwtabel_key = oRs("fin_btwtabel_key").value; // Standaard btw tabel key
// Totaal bedrag van het aantal facturen met dezelfde factuurnummer
RWFIELDTR("finsom", "fldfinsom", L("lcl_fin_totaal_bedrag"), S("currency_pref") + safe.curr(ref_info.totaalbedrag? ref_info.totaalbedrag : "0") + S("currency_suff"), { readonly: true }); // Totaal bedrag van het aantal facturen met dezelfde factuurnummer
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") );
BLOCK_END();
BLOCK_START("finFlex"+(S("fin_flexcolumns")!=1?"2":""), L("lcl_mld_flexblok"));

View File

@@ -52,10 +52,63 @@ function checkInput()
return true;
}
function checkVerlegd()
{
var valid = true;
if (verlegdmode & 1 == 1)
{
var is_required = false; // voor verlegdmode = 2
var key_shift = 0; // voor verlegdmode = 4
$("table#sel_items select[id^=BTW]").each(function()
{
var tarief_key = $(this).val();
var has_shift = false;
for (var j = 0; j < window.btwtabel.length; j++)
{
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;
}
}
is_required = is_required || has_shift;
});
if ((verlegdmode & 2) == 2)
{
// Is er een factuurregel die een verlegd btw-tarief heeft?
// Zet dan het veld g-bedrag op verplicht.
if (is_required)
$("#fingbedrag").addClass("required");
}
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)
{
alert(L("lcl_fin_gbedrag_validate"));
valid = false;
}
}
}
return valid;
}
function fin_submit()
{
document.activeElement.blur(); // trigger laatste onChanges
if (!checkVerlegd())
return false;
// Standaard checks op verplichte velden, datum formaat, numeriek en float formaat, currency formaat.
if (!validateForm("u2"))
return false;

View File

@@ -62,6 +62,9 @@ var fields = [ { dbs: "prs_perslid_key_user", typ: "key", val: user_k
{ dbs: "prs_kostensoort_key", typ: "key", frm: "fincostsrt", track: L("lcl_shared_charge_type"), foreign: "prs_kostensoort" }
];
if (S("fin_factuur_verlegdmode") & 1 == 1)
fields.push({ dbs: "fin_factuur_gbedrag", typ: "float", frm: "fingbedrag", track: L("lcl_fin_gbedrag") });
// Alle drie de waarden mldopdr_key, cnt_key en besopdr_key altijd op de juiste waarde zetten (waarde of NULL) bij update (en insert)
fields.push({ dbs: "mld_opdr_key", typ: "key", val: (referentiegegevens.mldopdr_key? referentiegegevens.mldopdr_key : ""), track: L("lcl_fin_mld_opdr"), foreign: "mld_opdr" });
fields.push({ dbs: "cnt_contract_key", typ: "key", val: (referentiegegevens.cnt_key? referentiegegevens.cnt_key : ""), track: L("lcl_fin_cnt_contract"), foreign: "cnt_contract" });

View File

@@ -233,6 +233,10 @@ var urlMail = "../shared/queuemail.asp?pcode=FINMAI&defemail_key=-1&key=" + fin_
ROFIELDTR("fldfinsom", L("lcl_fin_totaal_bedrag"), S("currency_pref") + safe.curr(ref_info.totaalbedrag? ref_info.totaalbedrag : "0") + S("currency_suff")); // Totaal bedrag van het aantal facturen met dezelfde factuurnummer
// Totaal bedrag inclusief BTW van het aantal facturen met dezelfde factuurnummer
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") );
BLOCK_END();
}