AAIT#37411 Facturatieschema / Termijnbedragen bij contracten

svn path=/Website/trunk/; revision=31528
This commit is contained in:
Jos Groot Lipman
2016-11-17 09:58:51 +00:00
parent 5e147619ea
commit d6d93120c3
5 changed files with 68 additions and 31 deletions

View File

@@ -45,6 +45,11 @@ model_cnt_disc_params =
"desc": "cnt_typecontract_omschrijving"
}
},
"invoice_schedule": {
"dbs": "cnt_disc_params_factuurschema",
"label": L("cnt_discipline_factuurschema"),
"typ": "check0"
},
"percentage": {
"dbs": "cnt_disc_params_factuurpct",
"label": L("cnt_discipline_factuurpct"),

View File

@@ -848,6 +848,7 @@ cnt = { setcontractstatus:
+ " FROM prs_kostensoort"
+ " WHERE prs_kostensoort_key = COALESCE(cc.prs_kostensoort_key, cs.prs_kostensoort_key)) kostensoort_naam"
+ " , dp.cnt_srtcontract_type"
+ " , dp.cnt_disc_params_factuurschema"
+ " , cc.cnt_contract_mantel_key"
+ " , mc.cnt_contract_nummer_intern mantelcontractnummer"
+ " , mc.cnt_contract_omschrijving mantelomschrijving"
@@ -916,6 +917,7 @@ cnt = { setcontractstatus:
prs_kostensoort_key: oRs("prs_kostensoort_key").Value,
kostensoort_naam: oRs("kostensoort_naam").Value,
srtcontract_type: oRs("cnt_srtcontract_type").Value,
hasfactuurschema: oRs("cnt_disc_params_factuurschema").Value == 1,
mantel_key: oRs("cnt_contract_mantel_key").Value,
mantelcontractnummer: oRs("mantelcontractnummer").Value,
mantelomschrijving: oRs("mantelomschrijving").Value,

View File

@@ -36,16 +36,20 @@ var transitParam = "";
if (verynew)
transitParam += "&verynew=1";
var hasFactuurschema = false;
var tabtitle=L("lcl_contract");
if (cnt_key > 0) {
sql = "SELECT cnt_contract_nummer_intern, cnt_contract_versie"
+ " FROM cnt_contract"
+ " WHERE cnt_contract_key = " + cnt_key;
oRs = Oracle.Execute (sql);
if (oRs.eof)
if (cnt_key > 0)
{
sql = "SELECT cnt_contract_nummer_intern, cnt_contract_versie, cnt_disc_params_factuurschema"
+ " FROM cnt_contract, cnt_disc_params dp"
+ " WHERE cnt_contract_key = " + cnt_key
+ " AND ins_discipline_key = dp.cnt_ins_discipline_key";
oRs = Oracle.Execute (sql);
if (oRs.eof)
shared.record_not_found();
tabtitle += " "+ oRs("cnt_contract_nummer_intern").Value + (oRs("cnt_contract_versie").Value ? "."+oRs("cnt_contract_versie").Value : "");
oRs.close();
hasFactuurschema = (oRs("cnt_disc_params_factuurschema").Value == 1);
tabtitle += " "+ oRs("cnt_contract_nummer_intern").Value + (oRs("cnt_contract_versie").Value ? "."+oRs("cnt_contract_versie").Value : "");
oRs.close();
}
%>
<html>
@@ -237,6 +241,24 @@ if (cnt_key > 0) {
IFRAMER("opdrFrame", page, { title: L("lcl_mld_frame_opdr"), initHide: true, refreshOnClose: true } );
}
// ===================== FACTUURSCHEMA FRAME ============================
if (!hasFactuurschema)
{ // Mischien was er vroeger wel een schema
var sql = "SELECT 'x'"
+ " FROM cnt_factuurschema"
+ " WHERE cnt_contract_key =" + cnt_key ;
var oRs = Oracle.Execute( sql );
hasFactuurschema = !oRs.EOF;
oRs.close();
}
var authparamsFINFOF = user.has("WEB_FINFOF");
var authparamsFINBOF = user.has("WEB_FINBOF");
if (hasFactuurschema && (authparamsFINFOF || authparamsFINBOF))
{
page = "../cnt/cnt_factuurschema.asp?mode=list&model=schedule&scope=bo&cnt_contract_key=" + cnt_key;
IFRAMER("cntschemaFrame", page, { initHide: true, refreshOnClose: true } );
}
// ===================== FACTUREN FRAME ============================
var invoiceExist = false;
var sql = "SELECT 'x'"

View File

@@ -58,8 +58,9 @@ else // nieuw contract
var sql = "SELECT dp.cnt_srtcontract_type,"
+ lcl.xsqla('cs.ins_discipline_omschrijving','cs.ins_discipline_key')
+", (SELECT prs_kostensoort_oms || '-' || " + lcl.xsqla('prs_kostensoort_opmerking', 'prs_kostensoort_key')
+ " dp.cnt_disc_params_factuurschema,"
+ lcl.xsqla('cs.ins_discipline_omschrijving','cs.ins_discipline_key')
+ ", (SELECT prs_kostensoort_oms || '-' || " + lcl.xsqla('prs_kostensoort_opmerking', 'prs_kostensoort_key')
+ " FROM prs_kostensoort"
+ " WHERE prs_kostensoort_key = cs.prs_kostensoort_key) kostensoort_naam"
+ " FROM cnt_disc_params dp,"
@@ -83,6 +84,7 @@ else // nieuw contract
srtcontract_type: oRs("cnt_srtcontract_type").value,
discipline_omschrijving: oRs("ins_discipline_omschrijving").value,
discipline_key: l_cnt_srt,
hasfactuurschema: oRs("cnt_disc_params_factuurschema").Value == 1,
kostensoort_naam: oRs("kostensoort_naam").Value};
oRs.close();
}
@@ -407,15 +409,22 @@ else // nieuw contract
});
}
RWFIELDTR("cnt_termkstn", "fldshort float", L("lcl_cnt_period_sum") + " " + L("lcl_valutasign"), safe.curreditable(cnt_info.termijnkosten), {readonly: cnt_info.isAbonnement || !this_cnt.canChangeAlg, suppressEmpty: true});
FCLTselector("cnt_term_period", sql_termijnen,
{ label: L("lcl_cnt_period_period"),
initKey: cnt_info.termijntermijn,
required: false,
emptyOption: "",
readonly: cnt_info.isAbonnement || !this_cnt.canChangeAlg,
suppressEmpty: true
});
if (cnt_info.hasfactuurschema)
{
ROFIELDTR ("fld", L("lcl_cnt_period_sum"), L("lcl_cnt_see_factuurschema"));
}
else
{
RWFIELDTR("cnt_termkstn", "fldshort float", L("lcl_cnt_period_sum") + " " + L("lcl_valutasign"), safe.curreditable(cnt_info.termijnkosten), {readonly: cnt_info.isAbonnement || !this_cnt.canChangeAlg, suppressEmpty: true});
FCLTselector("cnt_term_period", sql_termijnen,
{ label: L("lcl_cnt_period_period"),
initKey: cnt_info.termijntermijn,
required: false,
emptyOption: "",
readonly: cnt_info.isAbonnement || !this_cnt.canChangeAlg,
suppressEmpty: true
});
}
// TODO: berekend jaarbedrag hiertussen??
RWFIELDTR("cnt_cntkstn", "fldshort float", L("lcl_cnt_contract_sum") + " " + L("lcl_valutasign"),
safe.curreditable(cnt_info.kosten),

View File

@@ -45,6 +45,12 @@ else if (cnt_info.perslid_key)
}
// else if (cnt_info.afdeling_key) Dan blijft defemail_key = -1. Het bestand queuemail.asp kan dan toch geen email adres bepalen.nnnnnnnnnnnnnnnnn
// Bekijk of ik een facturatieschema heb
var fsql = "SELECT COUNT(*) FROM cnt_factuurschema WHERE cnt_contract_key = " + cnt_key;
var foRs = Oracle.Execute(fsql);
var hasFactuurschema = foRs(0).Value > 0;
foRs.close();
var urlMail = "../shared/queuemail.asp?pcode=CNTMAI&defemail_key=" + defemail_key
+ "&defemail_type=" + defemail_type
+ "&key=" + cnt_key
@@ -356,21 +362,14 @@ var urlMail = "../shared/queuemail.asp?pcode=CNTMAI&defemail_key=" + defemail_ke
ROFIELDTR ("fld", L("lcl_person"), cnt_info.perslid_naam, params);
BLOCK_END();
// Bekijk of ik een facturatieschema heb, dat vind ik dan een vervanger voor het termijnbedrag
// var fsql = "SELECT COUNT(*) FROM cnt_factuurschema WHERE cnt_contract_key = " + cnt_key;
// var foRs = Oracle.Execute(fsql);
// var hasFactuurschema = foRs(0).Value > 0;
// foRs.close();
var hasFactuurschema = false;
BLOCK_START("cntFindata" , L("lcl_cnt_fin_data"));
ROFIELDTR ("fldkp", L("lcl_cnt_kostenplaats"), cnt_info.kostenplaats_naam, {suppressEmpty: true});
ROFIELDTR ("fldkp", L("lcl_cnt_kostensoort"), cnt_info.kostensoort_naam, {suppressEmpty: true});
// Kies er hier voor in 1 regel te combineren, is logischer
//ROFIELDTR ("fld", L("lcl_cnt_period_sum")+ " " + L("lcl_valutasign"), hasFactuurschema ? L("lcl_cnt_see_factuurschema") : safe.curr(cnt_info.termijnkosten), {suppressEmpty: true, datatype:"currency"});
//ROFIELDTR ("fld", L("lcl_cnt_period_period"), cnt_info.termijntermijn_oms, {suppressEmpty: true});
ROFIELDTR ("fld", L("lcl_cnt_period_sum")+ " " + L("lcl_valutasign"), hasFactuurschema ? L("lcl_cnt_see_factuurschema") : safe.curr(cnt_info.termijnkosten)+(cnt_info.termijntermijn_oms ? " / " + cnt_info.termijntermijn_oms : ""), {suppressEmpty: true, datatype:"currency"});
ROFIELDTR ("fld", L("lcl_cnt_period_sum")+ " " + L("lcl_valutasign"),
hasFactuurschema ? L("lcl_cnt_see_factuurschema")
: safe.curr(cnt_info.termijnkosten)+(cnt_info.termijntermijn_oms ? " / " + cnt_info.termijntermijn_oms : ""),
{suppressEmpty: true, datatype:"currency"});
if (cnt_info.termijnjaarfactor != -1 && cnt_info.termijnjaarfactor != 1) { // -1 is ongedefinieer/ongeldig, 1 is triviaal, staat hierboven al
ROFIELDTR ("fld", L("lcl_cnt_contract_year")+ " " + L("lcl_valutasign"), safe.curr(cnt_info.termijnjaarfactor * cnt_info.termijnkosten), {datatype:"currency", suppressEmpty: true});
}