TWYN#52228 foutmelding wijzigen factuurgegevens
svn path=/Website/trunk/; revision=37035
This commit is contained in:
@@ -321,7 +321,7 @@ function model_fin_factuur()
|
||||
// Gebruik daarvoor die van mld_opdr.
|
||||
setKostensoort(obj);
|
||||
// Is het factuurnummer/volgnummer uniek binnen het project?
|
||||
checkUniekFactuurnummer(-1, obj.budgetproject, obj.invoice);
|
||||
checkUniekFactuurnummer(-1, obj.budgetdiscipline, obj.invoice);
|
||||
// Bij een kopiefactuur van een origineel (factuurnummer zonder volgnummer)
|
||||
// moet het originele factuurnummer de toevoeging "/1" krijgen.
|
||||
// De vaste factuurnummers echter niet.
|
||||
@@ -356,22 +356,50 @@ function model_fin_factuur()
|
||||
setKostensoort(obj);
|
||||
// Project-key kan als gevolg van de filtering niet aanwezig zijn.
|
||||
// Haal deze dus maar op met behulp van de factuur-key.
|
||||
var sql = "SELECT kr.bgt_project_key"
|
||||
+ " FROM bgt_kostenrubriek kr"
|
||||
var sql = "SELECT pr.ins_discipline_key"
|
||||
+ " , kr.bgt_project_key"
|
||||
+ " , TRUNC(fa.fin_factuur_advies) advies_datum"
|
||||
+ " FROM bgt_project pr"
|
||||
+ " , bgt_kostenrubriek kr"
|
||||
+ " , prs_kostensoortgrp kg"
|
||||
+ " , prs_kostensoort ks"
|
||||
+ " , mld_opdr mo"
|
||||
+ " , fin_factuur fa"
|
||||
+ " WHERE kr.bgt_kostenrubriek_key = kg.bgt_kostenrubriek_key"
|
||||
+ " WHERE pr.bgt_project_key = kr.bgt_project_key"
|
||||
+ " AND kr.bgt_kostenrubriek_key = kg.bgt_kostenrubriek_key"
|
||||
+ " AND kg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key"
|
||||
+ " AND ks.prs_kostensoort_key = mo.prs_kostensoort_key"
|
||||
+ " AND mo.mld_opdr_key = fa.mld_opdr_key"
|
||||
+ " AND fa.fin_factuur_key = " + key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var v_discipline_key = oRs("ins_discipline_key").Value;
|
||||
var v_project_key = oRs("bgt_project_key").Value;
|
||||
var v_advies_datum = new Date(oRs("advies_datum").Value);
|
||||
oRs.Close();
|
||||
|
||||
// Is de combinatie factuurnummer/volgnummer nog steeds uniek?
|
||||
checkUniekFactuurnummer(key, v_project_key, obj.invoice);
|
||||
checkUniekFactuurnummer(key, v_discipline_key, obj.invoice);
|
||||
|
||||
// Zet van alle facturen met hetzelfde factuurnummer binnen het project de adviesdatum gelijk.
|
||||
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)
|
||||
{
|
||||
// alle adviesdatums voor dit factuurnummer aanpassen.
|
||||
var sql_u = "UPDATE fin_factuur"
|
||||
+ " SET fin_factuur_advies = " + obj.advice.toSQL()
|
||||
+ " WHERE fin_factuur_key IN"
|
||||
+ " (SELECT fin_factuur_key"
|
||||
+ " FROM fin_factuur f"
|
||||
+ " , mld_opdr m"
|
||||
+ " , bgt_v_project_full p"
|
||||
+ " 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)
|
||||
+ " )";
|
||||
Oracle.Execute(sql_u);
|
||||
}
|
||||
}
|
||||
|
||||
function setKostensoort(obj)
|
||||
@@ -400,19 +428,21 @@ function model_fin_factuur()
|
||||
return vast_factnr;
|
||||
}
|
||||
|
||||
function checkUniekFactuurnummer(p_factuur_key, p_project_key, p_factuurnr)
|
||||
function checkUniekFactuurnummer(p_factuur_key, p_discipline_key, p_factuurnr)
|
||||
{
|
||||
var sql = "SELECT count(*) aantal"
|
||||
+ " FROM bgt_kostenrubriek r"
|
||||
+ " FROM bgt_project p"
|
||||
+ " , bgt_kostenrubriek r"
|
||||
+ " , prs_kostensoortgrp g"
|
||||
+ " , prs_kostensoort s"
|
||||
+ " , mld_opdr o"
|
||||
+ " , fin_factuur f"
|
||||
+ " WHERE r.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key"
|
||||
+ " WHERE p.bgt_project_key = r.bgt_project_key"
|
||||
+ " AND r.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key"
|
||||
+ " AND g.prs_kostensoortgrp_key = s.prs_kostensoortgrp_key"
|
||||
+ " AND s.prs_kostensoort_key = o.prs_kostensoort_key"
|
||||
+ " AND o.mld_opdr_key = f.mld_opdr_key"
|
||||
+ " AND r.bgt_project_key = " + p_project_key
|
||||
+ " AND p.ins_discipline_key = " + p_discipline_key
|
||||
+ " AND f.fin_factuur_nr = " + safe.quoted_sql(p_factuurnr)
|
||||
+ " AND f.fin_factuur_nr NOT IN"
|
||||
+ " (SELECT d.fac_usrdata_code"
|
||||
|
||||
Reference in New Issue
Block a user