MARX#56469: Default wel/geen BTW-verlegd bij kopie van opdracht naar factuurregels.

svn path=/Website/branches/v2019.1/; revision=41695
This commit is contained in:
Maykel Geerdink
2019-03-20 13:58:43 +00:00
parent cc6c7d271b
commit 3c9c04f7fd
3 changed files with 71 additions and 33 deletions

View File

@@ -712,6 +712,12 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
+ " FROM prs_bedrijf_bedrijf bb"
+ " WHERE bb.prs_bedrijf_key1 = ab.prs_bedrijf_key"
+ " AND bb.prs_bedrijf_key2 = COALESCE(o.mld_uitvoerende_keys, -1)) defaultbtw"
+ " , (SELECT fin_btwtabelwaarde_verlegd"
+ " FROM fin_btwtabelwaarde"
+ " WHERE fin_btwtabelwaarde_key = (SELECT bb.fin_btwtabelwaarde_key"
+ " FROM prs_bedrijf_bedrijf bb"
+ " WHERE bb.prs_bedrijf_key1 = ab.prs_bedrijf_key"
+ " AND bb.prs_bedrijf_key2 = COALESCE(o.mld_uitvoerende_keys, -1))) defaultbtw_verlegd"
+ " , (SELECT bb.prs_bedrijf_bedrijf_g_pct"
+ " FROM prs_bedrijf_bedrijf bb"
+ " WHERE bb.prs_bedrijf_key1 = ab.prs_bedrijf_key"
@@ -769,6 +775,7 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
typeopdr_omschr: oRs("mld_typeopdr_omschrijving").Value,
btwtabel_key: oRs("btwtabel_key").Value,
defaultbtw: oRs("defaultbtw").Value,
defaultbtw_verlegd: oRs("defaultbtw_verlegd").Value,
gpercentage: oRs("gpercentage").Value
};
}
@@ -902,6 +909,7 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
btwtabel_key: oRs("btwtabel_key").Value,
bestelling_key: oRs("bes_bestelling_key").Value,
defaultbtw: oRs("defaultbtw").Value,
//defaultbtw_verlegd: oRs("defaultbtw_verlegd").Value, // Niet nodig omdat bestellingen geen materiaalregels heeft.
gpercentage: oRs("gpercentage").Value
};
oRs.MoveNext();
@@ -987,34 +995,34 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
+ " , c.cnt_contract_status"
+ " , c.prs_kostenplaats_key"
+ " , (SELECT dp.cnt_srtcontract_type"
+ " FROM cnt_disc_params dp"
+ " WHERE dp.cnt_ins_discipline_key = c.ins_discipline_key) cnt_srtcontract_typ"
+ " FROM cnt_disc_params dp"
+ " WHERE dp.cnt_ins_discipline_key = c.ins_discipline_key) cnt_srtcontract_typ"
+ " , (SELECT bb.fin_btwtabelwaarde_key"
+ " FROM prs_bedrijf_bedrijf bb"
+ " WHERE bb.prs_bedrijf_key1 = ab.prs_bedrijf_key"
+ " AND bb.prs_bedrijf_key2 = COALESCE(c.cnt_prs_bedrijf_key"
+ " , (SELECT ab1.prs_bedrijf_key"
+ " FROM prs_v_afdeling_boom ab1"
+ " WHERE ab1.prs_afdeling_key = c.cnt_prs_afdeling_key)"
+ " , (SELECT ab.prs_bedrijf_key"
+ " FROM prs_perslid p,"
+ " prs_v_afdeling_boom ab"
+ " WHERE p.prs_afdeling_key = ab.prs_afdeling_key"
+ " AND p.prs_perslid_key = c.cnt_prs_perslid_key)"
+ " , -1)) defaultbtw"
+ " FROM prs_bedrijf_bedrijf bb"
+ " WHERE bb.prs_bedrijf_key1 = ab.prs_bedrijf_key"
+ " AND bb.prs_bedrijf_key2 = COALESCE(c.cnt_prs_bedrijf_key"
+ " , (SELECT ab1.prs_bedrijf_key"
+ " FROM prs_v_afdeling_boom ab1"
+ " WHERE ab1.prs_afdeling_key = c.cnt_prs_afdeling_key)"
+ " , (SELECT ab.prs_bedrijf_key"
+ " FROM prs_perslid p,"
+ " prs_v_afdeling_boom ab"
+ " WHERE p.prs_afdeling_key = ab.prs_afdeling_key"
+ " AND p.prs_perslid_key = c.cnt_prs_perslid_key)"
+ " , -1)) defaultbtw"
+ " , (SELECT bb.prs_bedrijf_bedrijf_g_pct"
+ " FROM prs_bedrijf_bedrijf bb"
+ " WHERE bb.prs_bedrijf_key1 = ab.prs_bedrijf_key"
+ " AND bb.prs_bedrijf_key2 = COALESCE(c.cnt_prs_bedrijf_key"
+ " , (SELECT ab1.prs_bedrijf_key"
+ " FROM prs_v_afdeling_boom ab1"
+ " WHERE ab1.prs_afdeling_key = c.cnt_prs_afdeling_key)"
+ " , (SELECT ab.prs_bedrijf_key"
+ " FROM prs_perslid p,"
+ " prs_v_afdeling_boom ab"
+ " WHERE p.prs_afdeling_key = ab.prs_afdeling_key"
+ " AND p.prs_perslid_key = c.cnt_prs_perslid_key)"
+ " , -1)) gpercentage"
+ " FROM prs_bedrijf_bedrijf bb"
+ " WHERE bb.prs_bedrijf_key1 = ab.prs_bedrijf_key"
+ " AND bb.prs_bedrijf_key2 = COALESCE(c.cnt_prs_bedrijf_key"
+ " , (SELECT ab1.prs_bedrijf_key"
+ " FROM prs_v_afdeling_boom ab1"
+ " WHERE ab1.prs_afdeling_key = c.cnt_prs_afdeling_key)"
+ " , (SELECT ab.prs_bedrijf_key"
+ " FROM prs_perslid p,"
+ " prs_v_afdeling_boom ab"
+ " WHERE p.prs_afdeling_key = ab.prs_afdeling_key"
+ " AND p.prs_perslid_key = c.cnt_prs_perslid_key)"
+ " , -1)) gpercentage"
+ " FROM cnt_v_aanwezigcontract c"
+ " , prs_v_afdeling_boom ab"
+ " WHERE ab.prs_afdeling_key = c.prs_afdeling_key_eig"
@@ -1049,6 +1057,7 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
disc_key: oRs("ins_discipline_key").Value,
srtcontract_type: oRs("cnt_srtcontract_typ").Value,
defaultbtw: oRs("defaultbtw").Value,
//defaultbtw_verlegd: oRs("defaultbtw_verlegd").Value, // Niet nodig omdat bestellingen geen materiaalregels heeft.
gpercentage: oRs("gpercentage").Value
};
}
@@ -1152,6 +1161,8 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
+ " , b.fin_btwtabelwaarde_oms"
+ " , (ud.mld_opdr_materiaal_aantal * ud.mld_opdr_materiaal_prijs * (100+b.fin_btwtabelwaarde_perc)/100) totaalincbtw"
+ " , b.fin_btwtabelwaarde_key"
+ " , b.fin_btwtabelwaarde_verlegd"
+ " , b.fin_btwtabelwaarde_perc"
+ " FROM mld_opdr_materiaal ud"
+ " , fac_usrdata fu"
+ " , fin_btwtabelwaarde b"
@@ -1181,7 +1192,9 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
info: oRs("mld_opdr_materiaal_info").Value,
usrdata_oms: oRs("fac_usrdata_omschr").Value,
btw_key: oRs("fin_btwtabelwaarde_key").Value,
btw_oms: oRs("fin_btwtabelwaarde_oms").Value
btw_oms: oRs("fin_btwtabelwaarde_oms").Value,
btw_verlegd: oRs("fin_btwtabelwaarde_verlegd").Value == 1,
btw_perc: oRs("fin_btwtabelwaarde_perc").Value
});
oRs.MoveNext();
}

View File

@@ -135,10 +135,12 @@ else if (ref_info.ref_type == "C")
var sql = "SELECT fin_btwtabelwaarde_perc"
+ " , fin_btwtabel_key"
+ " , fin_btwtabelwaarde_verlegd"
+ " FROM fin_btwtabelwaarde"
+ " WHERE fin_btwtabelwaarde_key = " + S("fin_btw_default");
var oRs = Oracle.Execute(sql);
var fin_btwtabel_key = oRs("fin_btwtabel_key").value; // Standaard btw tabel key
var fin_btw_default_verlegd = oRs("fin_btwtabelwaarde_verlegd").value || 0;
oRs.Close();
%>
@@ -252,6 +254,7 @@ oRs.Close();
var finboekm_jaar = '<%=safe.jsstring(fin_factuur.finboekm_jaar)%>';
var fin_btw_default = <%=S("fin_btw_default")%>;
var fin_btw_default_verlegd = <%=fin_btw_default_verlegd%>;
var btwtabel = new Array();
var verlegdmode = <%=S("fin_factuur_verlegdmode")%>;
<% if (ref_info.btwtabel) // Is er een uitvoerende gedefinieeerd
@@ -285,6 +288,7 @@ oRs.Close();
<input type="hidden" id="referentienr_old" name="referentienr_old" value="<%=fin_key > 0 && ref_info? ref_info.referentie : ""%>">
<input type="hidden" id="gpercentage" name="gpercentage" value="<%=fin_key > 0 && ref_info? ref_info.gpercentage : ""%>">
<input type="hidden" id="defaultbtw" name="defaultbtw" value="<%=S("fin_btw_default")%>">
<input type="hidden" id="defaultbtw_verlegd" name="defaultbtw_verlegd" value="<%=fin_btw_default_verlegd%>">
<% BLOCK_START("finInfo", (fin_key > 0? L("lcl_fin_info") + " " + fin_key : L("lcl_fin_new_invoice")));
@@ -340,7 +344,7 @@ oRs.Close();
+ " AND cp.cnt_plaats_key = ap.cnt_alg_plaats_key"
+ " AND cp.cnt_plaats_code = ap.cnt_alg_plaats_code "
+ "ORDER BY cp.cnt_plaats_omschrijving ";
FCLTselector("cnt_plaats_key", sql,
{ label: L("lcl_fin_location_scope"),
emptyOption: "",

View File

@@ -249,10 +249,14 @@ function FcltGetRefInfoCallback(json)
// Het percentage G-bedrag van de opdrachtgever-opdrachtnemer/uitvoerder (prs_bedrijf_bedrijf) relatie bijhouden.
$("#gpercentage").val(json.gpercentage);
// Zet alle BTW selectboxen op de waarde json.defaultbtw indien er een standaard btw is ingevuld voor de kruising woco x leverancier. Anders de default waarde.
$("#defaultbtw").val(json.defaultbtw? json.defaultbtw : "");
// Zet alle BTW selectboxen op de waarde json.defaultbtw indien er een btw is ingevuld voor de kruising woco x leverancier.
// Anders de standaard default waarde nemen.
var defaultbtw = (json.defaultbtw? json.defaultbtw : fin_btw_default);
$("#defaultbtw").val(defaultbtw); // Het veld defaultbtw is nooit leeg (btw woco x leverancier of standaard default waarde).
$("#defaultbtw_verlegd").val(json.defaultbtw? json.defaultbtw_verlegd : fin_btw_default_verlegd);
if (json.refchanged)
$("select[name^=BTW]").val(json.defaultbtw? json.defaultbtw : fin_btw_default);
$("select[name^=BTW]").val(defaultbtw);
$("#fin_type").val(json.ref_type);
$("#lev_uit").val(json.lev_uit);
@@ -691,7 +695,7 @@ function AddItem(nofocus) // als je hieronder iets aanpast controleer dan ook fi
for (var j = 0; j < btwtabel.length; j++)
{
htmlText += "<option value='" + btwtabel[j].key + "' "
+ (($("#defaultbtw").val() != ""? $("#defaultbtw").val() : fin_btw_default) == btwtabel[j].key? "selected" : "") + ">"
+ ($("#defaultbtw").val() == btwtabel[j].key? "selected" : "") + ">"
+ btwtabel[j].oms + "</option>"; // TODO: escapen
}
htmlText += "</select>";
@@ -791,7 +795,24 @@ function AddOpdrMaterial()
mat_oms = mat_oms.substr(0,58) + "..";
$("#descript" + rowIndex).val(mat_oms);
$("#sum" + rowIndex).val(num2currEditable(mat.aantal * mat.prijs));
$("#BTW" + rowIndex).val(($("#defaultbtw").val() != ""? $("#defaultbtw").val() : mat.btw_key));
var btw = mat.btw_key;
var defaultbtw_verlegd = ($("#defaultbtw_verlegd").val()? true : false); // De waarde van verlegd waaraan de btw waarde moet voldoen.
// Indien de waarde van verlegd van de btw die moet worden ingevuld niet gelijk is aan de waarde van verlegd van de btw van de geimporteerde regel,
// dan moet de btw waarde gezocht worden in dezelfde btw tabel waarbij de waarde van verlegd en percentage wel overeenkomen.
if (defaultbtw_verlegd != mat.btw_verlegd)
{ // Vind de btw waarde met dezelfde verlegd waarde en percentage in dezelfde btw tabel.
var mat_perc = mat.btw_perc; // Het huidige btw percentage van de materiaalregel.
for (var j = 0; j < window.btwtabel.length; j++)
{
if (btwtabel[j].verlegd == defaultbtw_verlegd && btwtabel[j].perc == mat_perc)
{
var btw = btwtabel[j].key;
break;
}
}
}
$("#BTW" + rowIndex).val(btw);
SumChanged($("#sum" + rowIndex)[0]);
AddItem(true);