TWYN#52266 fout bij kopieren factuur

svn path=/Website/trunk/; revision=37040
This commit is contained in:
Erik Groener
2018-02-19 10:39:51 +00:00
parent cb66719ffe
commit 649d325951

View File

@@ -228,7 +228,7 @@ function model_fin_factuur()
if (!vast_facnr)
{
// Bij klonen: id=(bestaat niet), invoice=niet leeg. Dan een (volgende) volgnummer erachter zetten.
var cur_inv = (invoice.indexOf("/") > -1 ? invoice.substring(0,invoice.indexOf("/")-1) : invoice);
var cur_inv = (invoice.indexOf("/") > -1 ? invoice.substring(0,invoice.indexOf("/")) : invoice);
var cur_seq = (invoice.indexOf("/") > -1 ? invoice.substring(invoice.indexOf("/")+1) : 0);
cur_seq = parseInt(cur_seq ? cur_seq : 0);
@@ -321,7 +321,8 @@ function model_fin_factuur()
// Gebruik daarvoor die van mld_opdr.
setKostensoort(obj);
// Is het factuurnummer/volgnummer uniek binnen het project?
checkUniekFactuurnummer(-1, obj.budgetdiscipline, obj.invoice);
var v_discipline_key = (typeof obj.budgetdiscipline == "object" ? obj.budgetdiscipline.id : obj.budgetdiscipline);
checkUniekFactuurnummer(-1, v_discipline_key, obj.invoice);
// Bij een kopiefactuur van een origineel (factuurnummer zonder volgnummer)
// moet het originele factuurnummer de toevoeging "/1" krijgen.
// De vaste factuurnummers echter niet.
@@ -381,11 +382,14 @@ function model_fin_factuur()
checkUniekFactuurnummer(key, v_discipline_key, obj.invoice);
// Zet van alle facturen met hetzelfde factuurnummer binnen het project de adviesdatum gelijk.
// De vaste factuurnummers worden buiten beschouwing gelaten.
var vast_facnr = isVastFactuurnummer(obj.invoice);
var v_old_adviesdatum = toDateString(v_advies_datum, true)
var v_new_adviesdatum = toDateString(obj.advice.midnight(), true);
if (v_old_adviesdatum != v_new_adviesdatum)
if (!vast_facnr && (v_old_adviesdatum != v_new_adviesdatum))
{
// alle adviesdatums voor dit factuurnummer aanpassen.
// We moeten zoeken op factuurnummer zonder volgnummer.
var cur_invoice = (obj.invoice.indexOf("/") > -1 ? obj.invoice.substring(0, obj.invoice.indexOf("/")) : obj.invoice);
var sql_u = "UPDATE fin_factuur"
+ " SET fin_factuur_advies = " + obj.advice.toSQL()
+ " WHERE fin_factuur_key IN"
@@ -396,7 +400,7 @@ function model_fin_factuur()
+ " WHERE f.mld_opdr_key = m.mld_opdr_key"
+ " AND m.prs_kostensoort_key = p.prs_kostensoort_key"
+ " AND p.ins_discipline_key = " + v_discipline_key
+ " AND f.fin_factuur_nr = " + safe.quoted_sql(obj.invoice)
+ " AND SUBSTR(f.fin_factuur_nr, 0, INSTR(f.fin_factuur_nr,'/')-1) = " + safe.quoted_sql(cur_invoice)
+ " )";
Oracle.Execute(sql_u);
}