Merge 2017.1 Gold D changes

svn path=/Website/trunk/; revision=34603
This commit is contained in:
Jos Groot Lipman
2017-07-13 07:10:56 +00:00
59 changed files with 1131 additions and 370 deletions

View File

@@ -79,6 +79,22 @@ function model_bgt_budget()
"insertonly": true,
"foreign": bgt_costtype_foreign()
},
"amountoriginal": {
"dbs": "bgt_budget_bedrag_origineel",
"sql": "(BGT.getBudgetOpDatum(bgt_budget.bgt_budget_key, NULL))",
"label": L("bgt_budget_origineel"),
"typ": "float",
"iscurrency": true,
"total": true
},
"amountmutation": {
"dbs": "bgt_budget_bedrag_mutatie",
"sql": "(BGT.getBudgetMutaties(bgt_budget.bgt_budget_key, NULL, NULL))",
"label": L("bgt_budget_mutaties"),
"typ": "float",
"iscurrency": true,
"total": true
},
"amount": {
"dbs": "bgt_budget_bedrag",
"label": L("bgt_budget_bedrag"),
@@ -99,8 +115,7 @@ function model_bgt_budget()
"dbs": "bgt_budget_isreserve",
"label": L("bgt_budget_isreserve"),
"typ": "check0",
"defaultvalue": 1,
"filterdefault": "1"
"defaultvalue": 0
},
"begin": {
"dbs": "bgt_budget_begin",
@@ -137,33 +152,6 @@ function model_bgt_budget()
}
};
/*
this.includes = {
"mutations": {
"model": new model_bgt_budgetmutatie(),
"joinfield": "budgetto",
"enable_update": true
}
}
*/
/*
var budget_key = getQParamInt("budget", -1);
if (budget_key > 0)
{
this.includes = {
"mutations": {
"model": new model_bgt_budgetmutatie(),
"joinfunction": function()
{
return "( bgt_budget_key_van = {0} OR bgt_budget_key_naar = {0})".format(budget_key)
},
"enable_update": true
}
}
}
*/
this.edit = {
// "modal": true
};

View File

@@ -24,24 +24,34 @@ function model_bgt_budgetmutatie()
this.records_title = L("bgt_budgetmutatie_m");
var p_budget_key = getQParamInt("budgetcommon", -1);
var p_mutatie_key = getQParamInt("id", -1);
var budgetnaam_sql = "SELECT b.bgt_budget_key"
+ " , CASE WHEN b.prs_kostensoort_key IS NOT NULL"
+ " THEN s.prs_kostensoort_oms ||' '|| s.prs_kostensoort_opmerking"
+ " THEN s.prs_kostensoort_oms"
+ " ELSE CASE WHEN b.prs_kostensoortgrp_key IS NOT NULL"
+ " THEN g.prs_kostensoortgrp_altcode ||' '|| g.prs_kostensoortgrp_oms"
+ " THEN g.prs_kostensoortgrp_oms"
+ " ELSE CASE WHEN b.bgt_kostenrubriek_key IS NOT NULL"
+ " THEN r.bgt_kostenrubriek_code ||' '|| r.bgt_kostenrubriek_oms"
+ " THEN r.bgt_kostenrubriek_oms"
+ " ELSE " + safe.quoted_sql(L("bgt_budgetmutatie_reserve"))
+ " END"
+ " END"
+ " END bgt_budget_naam"
+ " FROM bgt_budget b"
+ " , bgt_kostenrubriek r"
+ " , f.fin_btwtabelwaarde_perc"
+ " FROM bgt_budget b"
+ " , bgt_kostenrubriek r"
+ " , prs_kostensoortgrp g"
+ " , prs_kostensoort s"
+ " , prs_kostensoort s"
+ " , fin_btwtabelwaarde f"
+ " WHERE b.bgt_kostenrubriek_key = r.bgt_kostenrubriek_key(+)"
+ " AND b.prs_kostensoortgrp_key = g.prs_kostensoortgrp_key(+)"
+ " AND b.prs_kostensoort_key = s.prs_kostensoort_key(+)";
+ " AND b.prs_kostensoort_key = s.prs_kostensoort_key(+)"
+ " AND s.fin_btwtabelwaarde_key = f.fin_btwtabelwaarde_key(+)"
+ " AND b.bgt_project_key = "
+ "(SELECT p.bgt_project_key"
+ " FROM bgt_budget p"
+ " WHERE bgt_budget_key = " + p_budget_key
+ ")";
this.fields = {
"id": {
@@ -150,21 +160,44 @@ function model_bgt_budgetmutatie()
this.hook_pre_edit = function (obj, fld)
{
var btw_data = {};
fld.amountto.label = L("bgt_budgetmutatie_bedrag");
if (!obj.id) // nieuwe mutatie: wanneer en door wie wordt op de achtergrond gevuld
{
fld.adjustedby.hidden_fld = true;
}
else // bestaande mutatie: alleen de omschrijving is aan te passen
else // bestaande mutatie: alleen de omschrijving en bedrag is aan te passen
{
fld.adjustedby.readonly = true;
fld.budgetfrom.readonly = true;
fld.budgetto.readonly = true;
var sql = "SELECT s.prs_kostensoort_btw"
+ " , f.fin_btwtabelwaarde_perc"
+ " FROM bgt_budgetmutatie m"
+ " , bgt_budget b"
+ " , prs_kostensoort s"
+ " , fin_btwtabelwaarde f"
+ " WHERE s.fin_btwtabelwaarde_key = f.fin_btwtabelwaarde_key"
+ " AND b.prs_kostensoort_key = s.prs_kostensoort_key"
+ " AND m.bgt_budget_key_naar = b.bgt_budget_key"
+ " AND m.bgt_budgetmutatie_key = " + obj.id;
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
btw_data.btw_inc = oRs("prs_kostensoort_btw").Value;
btw_data.btw_val = oRs("fin_btwtabelwaarde_perc").Value;
}
oRs.Close();
}
%>
%>
<script type="text/javascript">
// Deze variabelen zijn nodig in bgt_budgetmutatie.js
var budget_key = <%=p_budget_key%>;
var mutatie_key = <%=p_mutatie_key%>;
var btw_data = <%=JSON.stringify(btw_data)%>;
</script>
<%
<%
}
this.hook_pre_post = function (params, jsondata)

View File

@@ -21,7 +21,7 @@ function model_bgt_project()
this.table = "bgt_project";
this.primary = "bgt_project_key";
this.soft_delete = "bgt_project_verwijder";
this.autfunction = "WEB_BGTMAN";
this.autfunction = "WEB_BGTMGT";
this.record_title = L("bgt_project");
this.records_title = L("bgt_project_m");
@@ -67,6 +67,16 @@ function model_bgt_project()
"label": L("bgt_project_volgnr"),
"typ": "number"
},
"account": {
"dbs": "prs_kostenplaats_key",
"label": L("bgt_budget_account"),
"typ": "key",
"foreign": {
"tbl": "prs_kostenplaats",
"key": "prs_kostenplaats_key",
"desc": "prs_kostenplaats_nr"
}
},
"pricedate": {
"dbs": "bgt_project_prijspeildatum",
"label": L("bgt_project_prijspeildatum"),

View File

@@ -20,7 +20,7 @@ function model_fin_factuur()
this.record_name = "invoice";
this.table = "fin_factuur";
this.primary = "fin_factuur_key";
this.autfunction = "WEB_BGTUSE"; // "WEB_FINUSE"
this.autfunction = "WEB_BGTORD";
this.record_title = L("fin_invoice");
this.records_title = L("lcl_fin_invoices");
@@ -34,22 +34,31 @@ function model_fin_factuur()
"filter": "exact",
"seq": "fin_s_fin_factuur_key"
},
"invoice": {
"dbs": "fin_factuur_nr",
"label": L("lcl_fin_invoice_number"),
"typ": "varchar",
"required": true
"budgetdiscipline": {
"dbs": "bgt_project.ins_discipline_key",
"label": L("bgt_discipline_omschrijving"),
"typ": "key",
"required": true,
"foreign": bgt_budgetdiscipline_foreign(),
"emptyoption": null
},
"month": {
"dbs": "fin_factuur_boekmaand",
"label": L("lcl_fin_boekmaand"),
"typ": "varchar"
"budgetproject": {
"dbs": "bgt_project.bgt_project_key",
"label": L("bgt_project_omschrijving"),
"typ": "key",
"foreign": bgt_budgetproject_foreign()
},
"date": {
"dbs": "fin_factuur_datum",
"label": L("lcl_fin_findate"),
"typ": "date",
"required": true
"budgetcostcategory": {
"dbs": "bgt_kostenrubriek.bgt_kostenrubriek_key",
"label": L("bgt_kostenrubriek_oms"),
"typ": "key",
"foreign": bgt_budgetcostcategory_foreign()
},
"costtypegroup": {
"dbs": "prs_kostensoortgrp.prs_kostensoortgrp_key",
"label": L("prs_kostensoortgrp_key"),
"typ": "key",
"foreign": bgt_costtypegroup_foreign()
},
"costtype": {
"dbs": "prs_kostensoort_key",
@@ -70,20 +79,45 @@ function model_fin_factuur()
},
"clone": false
},
"ordernr": {
"dbs": "mld_opdr.mld_opdr_ordernr",
"label": L("bgt_opdr_ordernr"),
"typ": "varchar"
},
"invoice": {
"dbs": "fin_factuur_nr",
"label": L("lcl_fin_invoice_number"),
"typ": "varchar",
"required": true
},
"remark": {
"dbs": "fin_factuur_opmerking",
"label": L("lcl_fin_remark"),
"label": L("bgt_factuur_omschrijving"),
"typ": "varchar"
},
"date": {
"dbs": "fin_factuur_datum",
"label": L("lcl_fin_findate"),
"typ": "date",
"required": true,
"defaultvalue": new Date()
},
"advice": {
"dbs": "fin_factuur_advies",
"label": L("lcl_fin_adviesdatum"),
"typ": "date",
"defaultvalue": new Date()
},
"month": {
"dbs": "fin_factuur_boekmaand",
"label": L("lcl_fin_boekmaand"),
"typ": "varchar"
},
"status": {
"dbs": "fin_factuur_statuses_key",
"label": L("lcl_fin_fin_status"),
"typ": "key",
"foreign": {
"tbl": "fin_factuur_statuses",
"key": "fin_factuur_statuses_key",
"desc": "fin_factuur_statuses_omschr"
},
"foreign": bgt_invoicestatus_foreign(),
"defaultvalue": "2",
"clone": false // Krijgt nu de default waarde.
},
@@ -155,7 +189,39 @@ function model_fin_factuur()
{ //wijzigen factuur: bepaal ook opnieuw de som van de factuurregels.
}
this.REST_GET = generic_REST_GET(this);
var mld_opdr_key = getQParamInt("opdrachtcommon", -1);
var ischild = (getQParam("columns", "")=="" ? true : false);
var xmodel = getQParam("model", "");
if (mode == "list" && (xmodel == this.record_name || (ischild && mld_opdr_key == -1) || (!ischild && mld_opdr_key > -1)))
{
this.REST_GET = generic_REST_GET(this);
}
else
{
var gparams = {
GET: {
tables: [
"prs_kostensoort",
"prs_kostensoortgrp",
"bgt_kostenrubriek",
"bgt_project",
"mld_opdr"
],
wheres: [
"fin_factuur.prs_kostensoort_key = prs_kostensoort.prs_kostensoort_key",
"prs_kostensoort.prs_kostensoortgrp_key = prs_kostensoortgrp.prs_kostensoortgrp_key",
"prs_kostensoortgrp.bgt_kostenrubriek_key = bgt_kostenrubriek.bgt_kostenrubriek_key",
"bgt_kostenrubriek.bgt_project_key = bgt_project.bgt_project_key",
"mld_opdr.mld_opdr_key = fin_factuur.mld_opdr_key"
]
}
};
if (mld_opdr_key > -1)
gparams.GET.wheres.push("mld_opdr.mld_opdr_key = {0}".format(mld_opdr_key));
this.REST_GET = generic_REST_GET(this, gparams);
}
this.REST_POST = generic_REST_POST(this);
this.REST_PUT = generic_REST_PUT(this);
this.REST_DELETE = generic_REST_DELETE(this);

View File

@@ -21,7 +21,7 @@ function model_mld_opdr()
this.record_name = "order";
this.table = "mld_opdr";
this.primary = "mld_opdr_key";
this.autfunction = "WEB_BGTUSE"; // "WEB_FINUSE"
this.autfunction = "WEB_BGTORD";
this.record_title = L("lcl_fin_mld_opdr");
this.records_title = L("lcl_fin_opdrachten");
@@ -82,6 +82,11 @@ function model_mld_opdr()
"label": L("lcl_opdr_id"),
"typ": "varchar"
},
"ordernr": {
"dbs": "mld_opdr_ordernr",
"label": L("bgt_opdr_ordernr"),
"typ": "varchar"
},
"sequence": {
"dbs": "mld_opdr_bedrijfopdr_volgnr",
"label": L("lcl_ins_volgnr"),
@@ -89,9 +94,13 @@ function model_mld_opdr()
},
"account": {
"dbs": "prs_kostenplaats_key",
"label": L("lcl_prs_kosten"),
"label": L("bgt_budget_account"),
"typ": "key",
"foreign": "prs_kostenplaats"
"foreign": {
"tbl": "prs_kostenplaats",
"key": "prs_kostenplaats_key",
"desc": "prs_kostenplaats_nr"
}
},
"description": {
"dbs": "mld_opdr_omschrijving",
@@ -100,12 +109,12 @@ function model_mld_opdr()
},
"startdate": {
"dbs": "mld_opdr_datumbegin",
"label": L("lcl_ins_startdatum"),
"label": L("bgt_contractdatum"),
"typ": "date"
},
"amount": {
"dbs": "mld_opdr_kosten",
"label": L("lcl_opdr_kosten"),
"label": L("bgt_gecontracteerd"),
"typ": "float",
"iscurrency": true,
"total": true
@@ -117,20 +126,28 @@ function model_mld_opdr()
"iscurrency": true,
"total": true
},
"invoiced": {
"dbs": "mld_opdr_gefactureerd",
"sql": "(BGT.getGefactureerd(mld_opdr.mld_opdr_key, 0, NULL, NULL))",
"label": L("bgt_facturen"),
"typ": "float",
"iscurrency": true,
"total": true
},
"tobeinvoiced": {
"dbs": "mld_opdr_tefactureren",
"sql": "(BGT.getTefactureren(mld_opdr.mld_opdr_key, 0, NULL, NULL))",
"label": L("bgt_facturentogo"),
"typ": "float",
"iscurrency": true,
"total": true
},
"status": {
"dbs": "mld_statusopdr_key",
"label": L("lcl_mld_opdr_status"),
"typ": "key",
"foreign": {
"tbl": "mld_statusopdr",
"key": "mld_statusopdr_key",
"desc": "mld_statusopdr_omschrijving"
}
},
"enddate": {
"dbs": "mld_opdr_einddatum",
"label": L("lcl_opdr_enddate"),
"typ": "date"
"foreign": bgt_orderstatus_foreign(),
"defaultvalue": 5
},
"owner": {
"dbs": "prs_perslid_key",

View File

@@ -20,7 +20,7 @@ function model_prs_kostenplaats()
this.record_name = "costcentre";
this.table = "prs_kostenplaats";
this.primary = "prs_kostenplaats_key";
this.autfunction = "WEB_FINMSU";
this.autfunction = (S("bgt_enabled")==1 ? ["WEB_FINMSU", "WEB_BGTMGT"] : ["WEB_FINMSU"]);
this.record_title = L("lcl_account");
this.records_title = L("lcl_menu_fin_kostenplaatsen");
this.soft_delete = "prs_kostenplaats_verwijder";

View File

@@ -31,7 +31,7 @@ function model_prs_kostensoort()
}
};
this.primary = "prs_kostensoort_key";
this.autfunction = "WEB_FINMSU";
this.autfunction = (S("bgt_enabled")==1 ? ["WEB_FINMSU", "WEB_BGTMGT"] : ["WEB_FINMSU"]);
this.record_title = L("prs_kostensoort");
this.records_title = L("prs_kostensoort_m");

View File

@@ -20,11 +20,10 @@ function model_prs_kostensoortgrp()
this.record_name = "costtypegroup";
this.table = "prs_kostensoortgrp";
this.primary = "prs_kostensoortgrp_key";
this.autfunction = "WEB_FINMSU";
this.autfunction = (S("bgt_enabled")==1 ? ["WEB_FINMSU", "WEB_BGTMGT"] : ["WEB_FINMSU"]);
this.record_title = L("prs_kostensoortgrp");
this.records_title = L("prs_kostensoortgrp_m");
this.fields = {
"id": {
"dbs": "prs_kostensoortgrp_key",

View File

@@ -39,6 +39,8 @@ scaffolding(this_model,
"budgetcostcategory",
"costtypegroup",
"costtype",
"amountoriginal",
"amountmutation",
"amount",
"vat"
],
@@ -53,14 +55,11 @@ scaffolding(this_model,
"requires": {
"js": ["../bgt/bgt_budget.js"]
}
// ,
// "modal": true
}
,
"wrap": {
"no_default_frames": true,
"frames": [ { url: "./bgt_budgetmutatie.asp?mode=list&budgetcommon={0}" } ]
// "frames": [ { url: "./bgt_budget.asp?mode=list&model=mutations&budget={0}" } ] // bij toevoegen wordt bgt_budget.asp aangeroepen!!
}
});
%>

View File

@@ -4,21 +4,28 @@ $(document).ready(function () {
function init_budget()
{
$("#account").prop("disabled", true);
$("input#contingency").prop("disabled", true );
$("#order").prop("disabled", true);
$("#budgetdiscipline").change(function() {change_discipline(); });
$("#budgetproject").change(function() {change_project(); });
$("#budgetcostcategory").change(function() {change_rubriek(); });
$("#costtypegroup").change(function() {change_groep(); });
$("#costtype").change(function() {change_soort(); });
$("#amount").change(function() {change_amount(); });
$("#total").change(function() {change_amount(); });
$("#account").change(function() {change_account(); });
$("#order").change(function() {change_order(); });
var init_niveau = "";
var init_key = -1;
if ($("#budgetdiscipline").val() != -1) { init_niveau = "D"; init_key = $("#budgetdiscipline").val(); }
if ($("#budgetproject").val() != -1) { init_niveau = "P"; init_key = $("#budgetproject").val(); }
if ($("#budgetcostcategory").val() != -1) { init_niveau = "R"; init_key = $("#budgetcostcategory").val(); }
if ($("#costtypegroup").val() != -1) { init_niveau = "G"; init_key = $("#costtypegroup").val(); }
if ($("#costtype").val() != -1) { init_niveau = "S"; init_key = $("#costtype").val(); }
if ($("#budgetdiscipline").val() != -1) { init_niveau = "D"; init_key = $("#budgetdiscipline").val(); }
if ($("#budgetproject").val() != -1) { init_niveau = "P"; init_key = $("#budgetproject").val(); }
if ($("#budgetcostcategory").val() != -1) { init_niveau = "R"; init_key = $("#budgetcostcategory").val(); }
if ($("#costtypegroup").val() != -1) { init_niveau = "G"; init_key = $("#costtypegroup").val(); }
if ($("#costtype").val() != "" && $("#costtype").val() != -1) { init_niveau = "S"; init_key = $("#costtype").val(); }
if (init_key > 0)
{
@@ -31,19 +38,19 @@ function init_budget()
re_init_soort);
}
init_niveau = "";
init_niveau = "KP";
init_key = -1;
if ($("#account").val() != -1) { init_niveau = "KP"; init_key = $("#account").val(); }
if (init_key > 0)
if ($("#account").val() != -1)
{
$.getJSON( "../bgt/get_bgt_info_ajax.asp",
{ req_info: "initsearch",
niveau: init_niveau,
parent_key: -1,
init_key: init_key
},
re_init_plaats);
init_key = $("#account").val();
}
$.getJSON( "../bgt/get_bgt_info_ajax.asp",
{ req_info: "initsearch",
niveau: init_niveau,
parent_key: -1,
init_key: init_key
},
re_init_plaats);
}
function re_init_soort(data)
@@ -68,6 +75,10 @@ function change_discipline()
process_info({niveau:"G",lov:[]});
process_info({niveau:"S",lov:[]});
fill_rubriekselector("P", discipline_key);
$("#account").empty().prop("disabled", true);
use_contingency(false);
$("#order").empty().prop("disabled", true);
}
function change_project()
{
@@ -76,17 +87,26 @@ function change_project()
process_info({niveau:"S",lov:[]});
fill_rubriekselector("R", project_key);
fill_plaatsselector("KP", project_key);
use_contingency(false);
$("#order").empty().prop("disabled", true);
}
function change_rubriek()
{
var rubriek_key = $("#budgetcostcategory").val();
process_info({niveau:"S",lov:[]});
fill_rubriekselector("G", rubriek_key);
use_contingency(true);
$("#order").empty().prop("disabled", true);
}
function change_groep()
{
var groep_key = $("#costtypegroup").val();
fill_rubriekselector("S", groep_key);
use_contingency(false);
fill_opdrachtselector("OP", groep_key);
}
function change_soort()
{
@@ -101,18 +121,53 @@ function change_soort()
{
$("#vat").closest("tr").show();
}
use_contingency(false);
}
function change_amount()
{
// bereken btwbedrag (vat) adhv btw-percentage bij kostensoort.
var btw_incl = $("#costtype option:selected").attr("incl_btw") == "1";
var btw_perc = $("#costtype option:selected").attr("perc_btw");
var btw_incl;
var btw_perc;
var amount;
if ($("#order").length)
{ // voor model_fin_factuur
btw_incl = $("#order option:selected").attr("incl_btw") == "1";
btw_perc = $("#order option:selected").attr("perc_btw");
amount = $("#total").val();
}
else
{ // voor model_mld_opdr en model_bgt_budget
btw_incl = $("#costtype option:selected").attr("incl_btw") == "1";
btw_perc = $("#costtype option:selected").attr("perc_btw");
amount = $("#amount").val();
}
if (btw_perc && !isNaN(parseFloat(btw_perc)) && !btw_incl)
{
var perc = 1 + (parseFloat(btw_perc) / 100);
var amount = $("#amount").val();
$("#vat").val(amount * perc);
var perc = (parseFloat(btw_perc) / 100);
var vat = amount * perc;
if ($("#order").length)
$("#totalvat").val(vat);
else
$("#vat").val(vat);
}
}
function change_order()
{
if ($("#order option:selected").attr("incl_btw") == "1")
{
$("#totalvat").closest("tr").hide();
}
else
{
$("#totalvat").closest("tr").show();
}
}
@@ -123,6 +178,19 @@ function change_account()
$("#costgroup").val(costgrp_key);
}
function fill_opdrachtselector(niveau, parent_key, init_key)
{
$.getJSON( "../bgt/get_bgt_info_ajax.asp",
{ req_info: "order",
niveau: niveau,
parent_key: parent_key,
init_key: init_key
},
function(data)
{ process_info(data);
change_order()
});
}
function fill_rubriekselector(niveau, parent_key, init_key)
{
$.getJSON( "../bgt/get_bgt_info_ajax.asp",
@@ -136,15 +204,29 @@ function fill_rubriekselector(niveau, parent_key, init_key)
function fill_plaatsselector(niveau, parent_key, init_key)
{
$("#account").prop("disabled", false);
$.getJSON( "../bgt/get_bgt_info_ajax.asp",
{ req_info: "plaatssearch",
niveau: niveau,
parent_key: parent_key,
init_key: init_key
init_key: init_key //(init_key ? init_key : -1);
},
process_info);
}
function use_contingency(mode)
{
if (mode)
{
$("input#contingency").prop("disabled", false );
}
else
{
$("input#contingency").prop('checked', false);
$("input#contingency").prop("disabled", true );
}
}
function process_info(data)
{
var select;
@@ -156,6 +238,7 @@ function process_info(data)
case "G": select = $("#costtypegroup"); break;
case "S": select = $("#costtype"); break;
case "KP": select = $("#account"); break;
case "OP": select = $("#order"); break;
}
var add_data = "";
@@ -189,5 +272,5 @@ function process_info(data)
if (sel_key > -1)
select.val(sel_key);
$("input#contingency").prop("disabled", true);
$("input#contingency").prop("disabled", true );
}

View File

@@ -15,7 +15,8 @@
<!-- #include file="../scf/scaffolding.inc" -->
<!-- #include file="../api2/model_bgt_budgetmutatie.inc" -->
<%
var this_model = new model_bgt_budgetmutatie();
var p_budget_key = getQParamInt("budgetcommon", -1);
var this_model = new model_bgt_budgetmutatie();
scaffolding(this_model,
{
@@ -44,7 +45,13 @@ scaffolding(this_model,
]
},
"edit":{
"requires": {
"js": ["../bgt/bgt_budgetmutatie.js"]
},
"modal": true
},
"transit": {
"budgetcommon": p_budget_key
}
});
%>

View File

@@ -0,0 +1,103 @@
$(document).ready(function () {
setTimeout("init_budgetmutatie()", 100);
});
function init_budgetmutatie()
{
// model_bgt_budgetmutatie hook_pre_edit variabelen:
var parent_key = budget_key;
var init_key = mutatie_key;
if (mutatie_key == -1)
{
$("#budgetfrom").change(function() {change_budgetfrom(); });
$("#budgetto").change(function() {change_budgetto(); });
fill_budget_from("MF", parent_key, init_key);
fill_budget_to("MT", parent_key, init_key)
}
$("#amountto").change(function() {change_amountto(); });
}
function change_amountto()
{
// bereken btwbedrag (vat) adhv btw-percentage bij kostensoort.
if (mutatie_key == -1)
{
var btw_incl = $("#budgetto option:selected").attr("incl_btw") == "1";
var btw_perc = $("#budgetto option:selected").attr("perc_btw");
}
else
{
var btw_incl = btw_data.btw_inc;
var btw_perc = btw_data.btw_val;
}
if (btw_perc && !isNaN(parseFloat(btw_perc)) && !btw_incl)
{
var perc = (parseFloat(btw_perc) / 100);
var amountto = $("#amountto").val();
$("#vatto").val(amountto * perc);
}
}
function fill_budget_from(niveau, parent_key, init_key)
{
$.getJSON( "../bgt/get_bgt_info_ajax.asp",
{ req_info: "budgetmutation",
niveau: niveau,
parent_key: parent_key,
init_key: init_key
},
process_info);
}
function fill_budget_to(niveau, parent_key, init_key)
{
$.getJSON( "../bgt/get_bgt_info_ajax.asp",
{ req_info: "budgetmutation",
niveau: niveau,
parent_key: parent_key,
init_key: init_key
},
process_info);
}
function process_info(data)
{
var select;
switch(data.niveau)
{
case "MF": select = $("#budgetfrom"); break;
case "MT": select = $("#budgetto"); break;
}
var add_data = "";
var sel_key = -1;
var new_lov = '<option value="-1" ></option>';
if (data.lov.length > 0)
{
// Een bestaande mutatie kan het budget van/naar niet wijzigen.
// Maar we moeten wel de btw weten.
for (i=0; i < data.lov.length;i++)
{
var opt = data.lov[i];
add_data = ' incl_btw="' + opt.atr.btw_inc + '"'
+ ' perc_btw="' + opt.atr.btw_val + '"';
new_lov += '<option value="' + opt.key + '"' + (opt.sel?" selected":"") + add_data + '>'+ opt.oms + '</option>';
if (opt.sel)
sel_key = opt.key;
}
select.prop("disabled", false);
}
else
{
select.prop("disabled", true);
}
select.empty().append(new_lov);
if (sel_key > -1)
{
select.val(sel_key);
}
}

View File

@@ -33,7 +33,7 @@ scaffolding(this_model,
},
"wrap": {
"frames": [{ url: "../mgt/prs_kostensoortgrp.asp?mode=list&budgetcostcategory={0}",
autfunction: "WEB_FINMSU"
autfunction: (S("bgt_enabled")==1 ? ["WEB_FINMSU", "WEB_BGTMGT"] : ["WEB_FINMSU"])
}]
}
});

View File

@@ -35,7 +35,7 @@ scaffolding(this_model,
},
"wrap": {
"frames": [{ url: "../bgt/bgt_kostenrubriek.asp?mode=list&budgetproject={0}",
autfunction: "WEB_BGTUSE"
autfunction: "WEB_BGTMGT"
}]
}

View File

@@ -236,6 +236,7 @@ var transitParam = buildTransitParam([]);
+ " o.mld_opdr_datumbegin opdrachtdatum,"
+ " o.prs_kostensoort_key,"
+ " o.mld_opdr_kosten gecontracteerd,"
+ " MAX(COALESCE(bud.bgt_budget_bedrag, 0)) - COALESCE(o.mld_opdr_kosten, 0) tecontracteren,"
+ " SUM (f.fin_factuur_totaal) gefactureerd,"
+ " COALESCE(o.mld_opdr_kosten,0) - SUM (COALESCE(f.fin_factuur_totaal,0)) tefactureren,"
+ " bgt_project_omschrijving deelproject,"
@@ -704,21 +705,25 @@ var transitParam = buildTransitParam([]);
{
// Alleen als er opdrachten (kunnen) zijn laten we wat zien
var v = safe.curr(Math.round(oRs("gecontracteerd").Value), true);
if (outputmode != 3)
var show_empty = true; // anders mis je de link naar de opdrachten
if (show_empty || v != 0)
{
v = "<span class='details' onclick='FcltMgr.stopPropagation(event); naaropdracht({0},{1},{2},{3}, this)'>" + v +"</span>";
if (groupby==6) /* het totale opdrachtenoverzicht */
v = (v).format(oRs("bgt_project_key").Value);
else if (groupby==5) /* opdrachten binnen de rubriek */
v = (v).format(oRs("bgt_project_key").Value, oRs("bgt_kostenrubriek_key").Value, null, null);
else if (groupby==4) /* opdrachten binnen de groep */
v = (v).format(oRs("bgt_project_key").Value, oRs("bgt_kostenrubriek_key").Value, oRs("prs_kostensoortgrp_key").Value, null);
else if (groupby==3) /* opdrachten binnen de kostensoort */
v = (v).format(oRs("bgt_project_key").Value, oRs("bgt_kostenrubriek_key").Value, oRs("prs_kostensoortgrp_key").Value, oRs("prs_kostensoort_key").Value);
else if (groupby==2) /* de opdracht */
v = (v).format(null, null, null, oRs("mld_opdr_key").Value);
if (outputmode != 3)
{
v = "<span class='details' onclick='FcltMgr.stopPropagation(event); naaropdracht({0},{1},{2},{3}, this)'>" + v +"</span>";
if (groupby==6) /* het totale opdrachtenoverzicht */
v = (v).format(oRs("bgt_project_key").Value);
else if (groupby==5) /* opdrachten binnen de rubriek */
v = (v).format(oRs("bgt_project_key").Value, oRs("bgt_kostenrubriek_key").Value, null, null);
else if (groupby==4) /* opdrachten binnen de groep */
v = (v).format(oRs("bgt_project_key").Value, oRs("bgt_kostenrubriek_key").Value, oRs("prs_kostensoortgrp_key").Value, null);
else if (groupby==3) /* opdrachten binnen de kostensoort */
v = (v).format(oRs("bgt_project_key").Value, oRs("bgt_kostenrubriek_key").Value, oRs("prs_kostensoortgrp_key").Value, oRs("prs_kostensoort_key").Value);
else if (groupby==2) /* de opdracht */
v = (v).format(null, null, null, oRs("mld_opdr_key").Value);
}
return v;
}
return v;
}
function ordersAmount(oRs)
{
@@ -750,20 +755,24 @@ var transitParam = buildTransitParam([]);
{
var v = safe.curr(Math.round(oRs("gefactureerd").Value), true);
// Alleen als er opdrachten (kunnen) zijn laten we wat zien
if (outputmode != 3)
var show_empty = false;
if (show_empty || v != 0)
{
if (groupby < 4 && oRs("prs_kostensoort_key").Value)
{
v = "<span class='details' onclick='FcltMgr.stopPropagation(event); naarfacturen({0}, {1}, {2}, this)'>" + v +"</span>";
if (groupby==3)
v = (v).format(oRs("prs_kostensoort_key").Value, null, null);
if (groupby==2)
v = (v).format(null, oRs("mld_opdr_key").Value, null);
if (groupby==1)
v = (v).format(null, null, oRs("fin_factuur_key").Value);
}
if (outputmode != 3)
{
if (groupby < 4 && oRs("prs_kostensoort_key").Value)
{
v = "<span class='details' onclick='FcltMgr.stopPropagation(event); naarfacturen({0}, {1}, {2}, this)'>" + v +"</span>";
if (groupby==3)
v = (v).format(oRs("prs_kostensoort_key").Value, null, null);
if (groupby==2)
v = (v).format(null, oRs("mld_opdr_key").Value, null);
if (groupby==1)
v = (v).format(null, null, oRs("fin_factuur_key").Value);
}
}
return v;
}
return v;
}
function invoicesAmount(oRs)
{
@@ -809,11 +818,40 @@ var transitParam = buildTransitParam([]);
return bgt_key;
}
function rs_budget_org(oRs)
{
return Math.round(oRs("budget_origineel").Value) || 0;
}
function rs_budget_mut(oRs)
{
return Math.round(oRs("budget_mutatie").Value) || 0;
}
function rs_budget_act(oRs)
{
return Math.round(oRs("budget_actueel").Value) || 0;
}
function rs_contracten(oRs)
{
return Math.round(oRs("gecontracteerd").Value) || 0;
}
function rs_contracteren(oRs)
{
return Math.round(oRs("tecontracteren").Value) || 0;
}
function rs_facturen(oRs)
{
return Math.round(oRs("gefactureerd").Value) || 0;
}
function rs_factureren(oRs)
{
return Math.round(oRs("tefactureren").Value) || 0;
}
var rs_id = "";
switch (groupby)
{
case 1: rs_id = "overzicht_facturen"; break;
case 1: rs_id = "overzicht_contracten"; break;
case 2: rs_id = "overzicht_contracten"; break;
case 3: rs_id = "overzicht_kostensoorten"; break;
case 4: rs_id = "overzicht_kostengroepen"; break;
case 5: rs_id = "overzicht_kostenrubrieken"; break;
@@ -837,9 +875,8 @@ var transitParam = buildTransitParam([]);
rst.addColumn(new Column({caption: L("bgt_discipline_omschrijving"), content: "project", purpose: (bgtdisc_key>-1 ? PRINTING_ONLY : PRINT_AND_VIEW)}));
rst.addColumn(new Column({caption: L("bgt_project"), content: "deelproject", purpose: (bgtproj_key_arr.length > 0 ? PRINTING_ONLY : PRINT_AND_VIEW)}));
if (groupby <= 5) {
if (groupby <= 5)
rst.addColumn(new Column({caption: L("bgt_kostenrubriek"), content: "rubriek"}));
}
if (groupby <= 4)
rst.addColumn(new Column({caption: L("prs_kostensoortgrp"), content: "groep"}));
if (groupby <= 3)
@@ -866,18 +903,68 @@ var transitParam = buildTransitParam([]);
rst.addColumn(new Column({caption: L("lcl_fin_invoice"), content: "factuur"}));
rst.addColumn(new Column({caption: L("lcl_fin_findate"), content: "factuurdatum"}));
}
if (groupby != 1) // denk ik
if (groupby != 1)
{
rst.addColumn(new Column({caption: L("bgt_opdrachten"), content: ordersShow, fnAmount: ordersAmount, datatype: "currency", total: true }));
if (groupby > 2) // denk ik
rst.addColumn(new Column({caption: L("bgt_opdrachtentogo"), content: orderstogoShow, fnAmount: orderstogoAmount, datatype: "currency", total: true }));
}
rst.addColumn(new Column({caption: L("bgt_facturen"), content: invoicesShow, fnAmount: invoicesAmount, datatype: "currency", total: true }));
if (groupby > 2) // denk ik
if (groupby != 1)
rst.addColumn(new Column({caption: L("bgt_facturentogo"), content: invoicestogoShow, fnAmount: invoicestogoAmount, datatype: "currency", total: true }));
// Overige data voor gebruik in cust.xsl
// Data voor gebruik in cust.xsl
if (outputmode == 3)
{
rst.addColumn(new Column({caption: "A1", content: "rcode"}));
rst.addColumn(new Column({caption: L("bgt_discipline_omschrijving"), content: "project"}));
rst.addColumn(new Column({caption: L("bgt_project"), content: "deelproject"}));
rst.addColumn(new Column({caption: "rubriekcode", content: "rcode"}));
if (groupby <= 5)
rst.addColumn(new Column({caption: L("bgt_kostenrubriek"), content: "rubriek"}));
if (groupby <= 4)
rst.addColumn(new Column({caption: L("prs_kostensoortgrp"), content: "groep"}));
if (groupby <= 3)
rst.addColumn(new Column({caption: L("prs_kostensoort"), content: "onderdeel"}));
if (groupby <= 2)
rst.addColumn(new Column({caption: L("lcl_ord_company_uit"), content: "uitvoerder"}));
if (groupby == 2)
{
rst.addColumn(new Column({caption: L("lcl_ord_order_num"), content: "opdrachtnr"}));
rst.addColumn(new Column({caption: L("lcl_orderdate"), content: "opdrachtdatum"}));
}
if (groupby == 1)
{
rst.addColumn(new Column({caption: L("lcl_fin_invoice"), content: "factuur"}));
rst.addColumn(new Column({caption: L("lcl_fin_findate"), content: "factuurdatum"}));
}
if (groupby > 2) // denk ik
{
rst.addColumn(new Column({caption: "Origineel", content: "budget_origineel"}));
rst.addColumn(new Column({caption: "Mutatie", content: "budget_mutatie"}));
rst.addColumn(new Column({caption: L("bgt_budget_bedrag"), content: "budget_actueel"}));
rst.addColumn(new Column({caption: L("bgt_opdrachtentogo"), content: "tecontracteren"}));
rst.addColumn(new Column({caption: L("bgt_facturentogo"), content: "tefactureren"}));
//
rst.addColumn(new Column({caption: "Origineel", content: rs_budget_org}));
rst.addColumn(new Column({caption: "Mutatie", content: rs_budget_mut}));
rst.addColumn(new Column({caption: L("bgt_budget_bedrag"), content: rs_budget_act}));
rst.addColumn(new Column({caption: L("bgt_opdrachtentogo"), content: rs_contracteren}));
rst.addColumn(new Column({caption: L("bgt_facturentogo"), content: rs_factureren}));
}
rst.addColumn(new Column({caption: L("bgt_facturen"), content: "gefactureerd"}));
if (groupby != 1) // denk ik
{
rst.addColumn(new Column({caption: L("bgt_opdrachten"), content: "gecontracteerd"}));
rst.addColumn(new Column({caption: L("bgt_opdrachtentogo"), content: "tecontracteren"}));
rst.addColumn(new Column({caption: L("bgt_facturentogo"), content: "tefactureren"}));
}
//
rst.addColumn(new Column({caption: L("bgt_facturen"), content: rs_facturen}));
if (groupby != 1) // denk ik
{
rst.addColumn(new Column({caption: L("bgt_opdrachten"), content: rs_contracten}));
rst.addColumn(new Column({caption: L("bgt_opdrachtentogo"), content: rs_contracteren}));
rst.addColumn(new Column({caption: L("bgt_facturentogo"), content: rs_factureren}));
}
}
rst.addAction({action: "bgtEdit", caption: L("lcl_edit"), isDefault: true});

View File

@@ -65,4 +65,24 @@ function bgt_costtype_foreign()
"desc": "prs_kostensoort_oms"
};
}
function bgt_orderstatus_foreign()
{
return {
"tbl": "mld_statusopdr",
"key": "mld_statusopdr_key",
"desc": "mld_statusopdr_omschrijving",
"where": "mld_statusopdr_key IN (1,5,8,3,10)"
};
}
function bgt_invoicestatus_foreign()
{
return {
"tbl": "fin_factuur_statuses",
"key": "fin_factuur_statuses_key",
"desc": "fin_factuur_statuses_omschr",
"where": "fin_factuur_statuses_key IN (1,2,6,7)"
};
}
%>

View File

@@ -15,16 +15,23 @@
<!-- #include file="../scf/scaffolding.inc" -->
<!-- #include file="../api2/model_fin_factuur.inc" -->
<%
var p_mld_opdr_key = getQParamInt("opdrachtcommon", -1);
var this_model = new model_fin_factuur();
scaffolding(this_model,
{
"search": {
"autosearch": true,
"filters": [
"budgetdiscipline",
"budgetproject",
"budgetcostcategory",
"costtypegroup",
"costtype",
"order"
]
],
"requires": {
"js": ["../bgt/bgt_budget.js"]
}
},
"list": {
"columns": [
@@ -46,9 +53,11 @@ scaffolding(this_model,
},
"edit": {
"requires": {
"js": ["../bgt/fin_factuur.js"
]
"js": ["../bgt/bgt_budget.js"]
}
},
"transit": {
"opdrachtcommon": p_mld_opdr_key
}
});
%>

View File

@@ -1,36 +0,0 @@
$(document).ready(function () {
setTimeout("init_factuur()", 100);
});
function init_factuur()
{
$("#order").change(function() {change_order(); });
}
function change_order()
{
var order_key = $("#order").val();
$.getJSON( "../bgt/get_bgt_info_ajax.asp",
{ req_info: "order",
niveau: "x",
parent_key: order_key
},
process_info);
}
function myParseFloat(txt)
{
return parseFloat(txt.replace(',', '.'));
}
function process_info(data)
{
if (data.inclbtw)
{
$("#totalvat").closest("tr").hide();
}
else
{
$("#totalvat").closest("tr").show();
}
}

View File

@@ -176,7 +176,8 @@ switch (req_info)
+ ") btw_inc"
+ " , NULL btw_val"
+ " FROM bgt_project p"
+ " WHERE p.ins_discipline_key = " + parent_key;
+ " WHERE p.bgt_project_verwijder IS NULL"
+ " AND p.ins_discipline_key = " + parent_key;
break;
}
case "R":
@@ -265,22 +266,27 @@ switch (req_info)
sql = "SELECT kg.prs_kostenplaatsgrp_key sel_key"
+ " , kg.prs_kostenplaatsgrp_nr ||' - '|| kg.prs_kostenplaatsgrp_oms sel_oms"
+ " FROM prs_kostenplaatsgrp kg"
// + " , bgt_project p"
// + " WHERE kg.bgt_project_key = p.bgt_project_key" /*kg.bgt_project_key = " + parent_key; */
// + " AND p.ins_discipline_key = " + parent_key;
+ " WHERE kg.bgt_project_key = " + parent_key;
break;
}
case "KP":
{
if (!init_key)
{ // De kostenplaats moet worden gekozen.
// Initieel moet deze op de kostenplaats van de (deel)project staan.
}
sql = "SELECT kp.prs_kostenplaats_key sel_key"
+ " , kp.prs_kostenplaats_nr ||' - '|| kp.prs_kostenplaats_omschrijving sel_oms"
+ " , kp.prs_kostenplaatsgrp_key par_key"
+ " , NULL btw_inc"
+ " , NULL btw_val"
+ " , p.prs_kostenplaats_key"
+ " FROM prs_kostenplaats kp"
+ " , prs_kostenplaatsgrp kg"
+ " , bgt_project p"
+ " WHERE kp.prs_kostenplaatsgrp_key = kg.prs_kostenplaatsgrp_key"
+ " AND kg.bgt_project_key = p.bgt_project_key"
+ " AND kg.bgt_project_key = " + parent_key;
}
}
@@ -291,7 +297,7 @@ switch (req_info)
{
new_lov.push({key: oRs("sel_key").Value,
oms: oRs("sel_oms").Value,
sel: oRs("sel_key").Value == init_key,
sel: oRs("sel_key").Value == (init_key == -1 ? oRs("prs_kostenplaats_key").Value : init_key),
atr: { par_key: oRs("par_key").Value}
});
oRs.MoveNext();
@@ -301,18 +307,104 @@ switch (req_info)
result.lov = new_lov;
break;
}
case "budgetmutation":
{
sql = "SELECT b.bgt_budget_key"
+ " , CASE WHEN b.prs_kostensoort_key IS NOT NULL"
+ " THEN s.prs_kostensoort_oms"
+ " ELSE CASE WHEN b.prs_kostensoortgrp_key IS NOT NULL"
+ " THEN g.prs_kostensoortgrp_oms"
+ " ELSE CASE WHEN b.bgt_kostenrubriek_key IS NOT NULL"
+ " THEN r.bgt_kostenrubriek_oms"
+ " ELSE " + safe.quoted_sql(L("bgt_budgetmutatie_reserve"))
+ " END"
+ " END"
+ " END bgt_budget_naam"
+ " , s.prs_kostensoort_btw"
+ " , f.fin_btwtabelwaarde_perc"
+ " FROM bgt_budget b"
+ " , bgt_kostenrubriek r"
+ " , prs_kostensoortgrp g"
+ " , prs_kostensoort s"
+ " , fin_btwtabelwaarde f"
+ " WHERE b.bgt_kostenrubriek_key = r.bgt_kostenrubriek_key(+)"
+ " AND b.prs_kostensoortgrp_key = g.prs_kostensoortgrp_key(+)"
+ " AND b.prs_kostensoort_key = s.prs_kostensoort_key(+)"
+ " AND s.fin_btwtabelwaarde_key = f.fin_btwtabelwaarde_key(+)"
+ " AND b.bgt_project_key = "
+ "(SELECT p.bgt_project_key"
+ " FROM bgt_budget p"
+ " WHERE bgt_budget_key = " + parent_key
+ ")"
+ " ORDER BY 2";
var new_lov = [];
var oRs = Oracle.Execute(sql);
while (!oRs.eof)
{
new_lov.push({ key: oRs("bgt_budget_key").Value
, oms: oRs("bgt_budget_naam").Value
, sel: init_key
, atr: { btw_inc: oRs("prs_kostensoort_btw").Value
, btw_val: oRs("fin_btwtabelwaarde_perc").Value
}
});
oRs.MoveNext();
}
oRs.Close();
result.niveau = niveau;
result.lov = new_lov;
break;
}
case "order":
{
sql = "SELECT prs_kostensoort_btw"
+ " FROM prs_kostensoort s"
+ " , mld_opdr o"
+ " WHERE o.prs_kostensoort_key = s.prs_kostensoort_key"
+ " AND o.mld_opdr_key = " + parent_key;
var oRs = Oracle.Execute(sql);
result.inclbtw = (oRs("prs_kostensoort_btw").Value == 1);
switch (niveau)
{
case "x":
sql = "SELECT s.prs_kostensoort_btw"
+ " , f.fin_btwtabelwaarde_perc"
+ " FROM mld_opdr o"
+ " , prs_kostensoort s"
+ " , fin_btwtabelwaarde f"
+ " WHERE s.fin_btwtabelwaarde_key = f.fin_btwtabelwaarde_key"
+ " AND o.prs_kostensoort_key = s.prs_kostensoort_key"
+ " AND o.mld_opdr_key = " + parent_key;
var oRs = Oracle.Execute(sql);
result.inclbtw = (oRs("prs_kostensoort_btw").Value == 1);
break;
case "OP":
sql = "SELECT o.mld_opdr_key"
+ " , b.prs_leverancier_nr ||' '|| o.mld_opdr_omschrijving opdr_naam"
+ " , s.prs_kostensoort_btw"
+ " , f.fin_btwtabelwaarde_perc"
+ " FROM mld_opdr o"
+ " , prs_kostensoort s"
+ " , fin_btwtabelwaarde f"
+ " , prs_bedrijf b"
+ " WHERE o.prs_kostensoort_key = s.prs_kostensoort_key"
+ " AND s.fin_btwtabelwaarde_key = f.fin_btwtabelwaarde_key(+)"
+ " AND o.mld_uitvoerende_keys = b.prs_bedrijf_key"
+ " AND s.prs_kostensoortgrp_key = " + parent_key
+ " ORDER BY 2";
var new_lov = [];
var oRs = Oracle.Execute(sql);
while(!oRs.eof)
{
new_lov.push({ key: oRs("mld_opdr_key").Value
, oms: oRs("opdr_naam").Value
, sel: init_key
, atr: { btw_inc: oRs("prs_kostensoort_btw").Value
, btw_val: oRs("fin_btwtabelwaarde_perc").Value
}
});
oRs.MoveNext();
}
oRs.Close();
result.niveau = niveau;
result.lov = new_lov;
break;
}
break;
}
}
Response.Write(JSON.stringify(result));
%>

View File

@@ -15,8 +15,8 @@
<!-- #include file="../scf/scaffolding.inc" -->
<!-- #include file="../api2/model_mld_opdr.inc" -->
<%
var kostensoort = getQParamInt("costtype", -1);
var this_model = new model_mld_opdr();
scaffolding(this_model,
{
"search": {
@@ -37,26 +37,34 @@ scaffolding(this_model,
},
"list": {
"columns": [
"costtype",
"reference",
"company",
"account",
"ordernr",
"sequence",
"description",
"reference",
"startdate",
"enddate",
"amount",
"vat"
"invoiced",
"tobeinvoiced",
"additional"
],
"orderby": [
"costtype",
"reference",
"company"
"ordernr",
"sequence",
"reference"
]
},
"edit": {
"requires": {
"js": ["../bgt/bgt_budget.js"]
}
},
"wrap": {
"no_default_frames": true,
"frames": [ { url: "./fin_factuur.asp?mode=list&opdrachtcommon={0}" } ]
}
// ,
// "transit": {
// "costtype": kostensoort
// }
});
%>

View File

@@ -8,19 +8,6 @@
<% /* Dynamic upload of Uitvoerende persons list */ %>
<html>
<head>
<script type="text/javascript">
var opt_ports = new Array();
function port(value, text, parent_key, ex_value)
{
this.value = value;
this.text = text;
this.parent_key = parent_key;
this.ex_value = ex_value;
}
</script>
<%
var sql = '';
module = getQParamInt("module");
@@ -28,50 +15,62 @@
port = getQParam("port");
outlet_key = getQParamInt("outlet");
Response.Write("// {{ module = " + module);
Response.Write("// {{ name = " + name);
Response.Write("// {{ port = " + port);
Response.Write("// {{ outlet_key = " + outlet_key);
// Response.Write("// {{ module = " + module);
// Response.Write("// {{ name = " + name);
// Response.Write("// {{ port = " + port);
// Response.Write("// {{ outlet_key = " + outlet_key);
%>
<html>
<head>
<script type="text/javascript">
opt_ports[opt_ports.length] = new port( '', " ", -1, "-1");
var opt_ports = new Array();
opt_ports.push(add_port('', ' ', -1, '-1'));
function add_port(value, text, parent_key, ex_value)
{
return {value: value, text: text, parent_key: parent_key, ex_value: ex_value};
}
</script>
<%
if (module>0)
{ // Note: de poortnummer worden numeriek gesorteerd (1,2 ipv 1,10,2), wetende dat het nummers zijn.
// voor ongeldige nummers wordt 0 gepresenteerd(!)
// indien poort is text dan sortering op ins_deel_omschrijving
sql = "SELECT d.ins_deel_key" // 0
+ ", COALESCE(d.ins_deel_omschrijving,'0')" // 1
+ ", COALESCE((SELECT MIN(kd.ins_deel_key)"
+ " FROM ins_kenmerkdeel kd"
+ " WHERE kd.ins_kenmerkdeel_waarde = TO_CHAR(d.ins_deel_key)"
+ " AND kd.ins_kenmerkdeel_verwijder IS NULL"
+ " AND kd.ins_deel_key != " + outlet_key + "), -1)"
+ " FROM ins_deel d"
+ ", ins_srtdeel sd"
+ " WHERE d.ins_deel_parent_key = " + module
+ " AND d.ins_srtdeel_key = sd.ins_srtdeel_key"
+ " AND ins_deel_verwijder IS NULL"
+ " ORDER BY fac.safe_to_number(d.ins_deel_omschrijving), d.ins_deel_omschrijving";
oRs = Oracle.Execute( sql );
c0=oRs(0);
c1=oRs(1);
c2=oRs(2);
if (module>0)
{ // Note: de poortnummer worden numeriek gesorteerd (1,2 ipv 1,10,2), wetende dat het nummers zijn.
// voor ongeldige nummers wordt 0 gepresenteerd(!)
// indien poort is text dan sortering op ins_deel_omschrijving
sql = "SELECT d.ins_deel_key" // c0
+ " , COALESCE(d.ins_deel_omschrijving,'0')" // c1
+ " , COALESCE( (SELECT MIN(kd.ins_deel_key)"
+ " FROM ins_kenmerkdeel kd"
+ " WHERE kd.ins_kenmerkdeel_waarde = TO_CHAR(d.ins_deel_key)"
+ " AND kd.ins_kenmerkdeel_verwijder IS NULL"
+ " AND kd.ins_deel_key != " + outlet_key
+ "), -1)" // c2
+ " FROM ins_deel d"
+ " , ins_srtdeel sd"
+ " WHERE d.ins_deel_parent_key = " + module
+ " AND d.ins_srtdeel_key = sd.ins_srtdeel_key"
+ " AND ins_deel_verwijder IS NULL"
+ " ORDER BY fac.safe_to_number(d.ins_deel_omschrijving), d.ins_deel_omschrijving";
oRs = Oracle.Execute( sql );
c0=oRs(0);
c1=oRs(1);
c2=oRs(2);
while (!oRs.eof)
{
if (c2.Value == -1) // only load the free ports
{
%>
<script type="text/javascript">
<% while (!oRs.eof)
{ %>
if (<%=c2.value%> == -1) // only load the free ports
opt_ports[opt_ports.length] =
new port(<%=c0.value%>, "<%=safe.jsstring(c1.value)%>", <%=module%>, "<%=c2.value%>");
<% oRs.MoveNext();
<script type="text/javascript">
opt_ports.push( add_port(<%=c0.value%>, "<%=safe.jsstring(c1.value)%>", <%=module%>, "<%=c2.value%>"));
</script>
<%
}
oRs.MoveNext();
}
oRs.close();
%>
</script>
<%
}
%>
</head>

View File

@@ -55,9 +55,10 @@ var srtdeel_key_wallplate = oRs(0).value;
function PortsUploaded(name, port)
{
new_ports = window.frames.hidFrame.opt_ports;
new_ports = window.frames[0].window.opt_ports;
connect = $("[name='" + name + "con']")[0];
sel = $("[name='" + name + "']")[0];
sel.options.length = new_ports.length;
for (i in new_ports)
{
@@ -204,9 +205,8 @@ var srtdeel_key_wallplate = oRs(0).value;
function doSubmit()
{
var o_txt = document.getElementById("sgOutlet").value;
var portpart = document.forms.u2[portidvalue + "part"].options;
var port = portpart(portpart.selectedIndex).text;
var portidvalue = '' + document.forms.u2.portid.value;
var port = $("#"+portidvalue + "part option:selected").text();
var label = "placeholder";
if (CheckPort())
@@ -217,9 +217,11 @@ var srtdeel_key_wallplate = oRs(0).value;
label = L("lcl_out_port") + " " + port + L("lcl_out_same_building") + o_txt + ". " + L("lcl_out_proceed");
// autoConf must be true so execute confirm with placeholder label
FcltMgr.confirm(label, { autoconfirm: autoConf }, function() {
document.forms.u2.submit();
});
FcltMgr.confirm( label
, { autoconfirm: autoConf }
, function() {
document.forms.u2.submit();
});
}
}

View File

@@ -50,7 +50,7 @@ if (bedrijf_key > 0)
if (isIntern)
autfunction = "WEB_PRSMAN";
else
autfunction = "WEB_RELMAN";
autfunction = (S("bgt_enabled")==1 ? ["WEB_RELMAN", "WEB_BGTUSE"] : ["WEB_RELMAN"]);
authparams = user.checkAutorisation(autfunction);
@@ -127,22 +127,22 @@ var dienstauthparams = user.checkAutorisation("WEB_PRSMSU", true);
page = "prs_bedrijfadres_list.asp?bedrijf_key=" + bedrijf_key;
IFRAMER("prsadressen", page, { refreshOnClose: true } );
}
if (bedrijf_key > -1 && isContractant)
{
var authparamsCNTUSE = user.checkAutorisation("WEB_CNTUSE", true);
var authparamsCNTMAN = user.checkAutorisation("WEB_CNTMAN", true);
var curole = "bo";
if (!authparamsCNTMAN && authparamsCNTUSE)
curole = "fe";
if (authparamsCNTMAN || authparamsCNTUSE)
{
var page1="../cnt/cnt_search_list.asp?embedded=1&tiny=1&collapsed=1&urole=" + curole + "&ffutu=1&fact=1&frap=1&fopz=1&sact=1&uitv_key="+ bedrijf_key
IFRAMER("cntFrame", page1, { initHide: true } );
}
}
}
%>
</body>

View File

@@ -41,7 +41,7 @@ var autfunction = "";
if (intern)
autfunction = "WEB_PRSMAN"; // TODO of PRSUSE?
else
autfunction = "WEB_RELMAN";
autfunction = (S("bgt_enabled")==1 ? ["WEB_RELMAN", "WEB_BGTUSE"] : ["WEB_RELMAN"]);
var authparams = user.checkAutorisation(autfunction);
// VALIDATE AND PREPARE
@@ -108,12 +108,12 @@ toRs.close();
<td><input type="text" class="fld wildcard" name="companyName" <%=(pcompanyName != -1) ? "value='" + safe.htmlattr(pcompanyName) + "'" : ""%>></td>
</tr>
<% if (!intern)
{ %>
{ %>
<tr class="primsearch">
<td class="label"><label for="companyNr"><%=L("lcl_prs_companies_leverancier_nr")%>:</label></td>
<td><input type="text" class="fld wildcard" name="companyNr" <%=(pcompanyNr != -1) ? "value='" + safe.htmlattr(pcompanyNr) + "'" : ""%>></td>
</tr>
<% } %>
<% } %>
<tr class="primsearch">
<td class="label"><label for="bezoekPostcode"><%=L("lcl_prs_companies_bezoek_postcode")%>:</label></td>
<td><input type="text" class="fld wildcard" name="bezoekPostcode" <%=(pbezoekPostcode != -1) ? "value='" + safe.htmlattr(pbezoekPostcode) + "'" : ""%>></td>

View File

@@ -19,7 +19,7 @@ var autfunction = "";
if (intern)
autfunction = "WEB_PRSMAN"; // TODO of PRSUSE?
else
autfunction = "WEB_RELMAN";
autfunction = (S("bgt_enabled")==1 ? ["WEB_RELMAN", "WEB_BGTUSE"] : ["WEB_RELMAN"]);
var authparams = user.checkAutorisation(autfunction);
var outputmode = getQParamInt("outputmode", 0);

View File

@@ -40,7 +40,7 @@ var autfunction = "";
if (intern)
autfunction = "WEB_PRSMAN";
else
autfunction = "WEB_RELMAN";
autfunction = (S("bgt_enabled")==1 ? ["WEB_RELMAN", "WEB_BGTUSE"] : ["WEB_RELMAN"]);
var authparams = user.checkAutorisation(autfunction);
// TODO if (!authparams.canWrite) Response.End;

View File

@@ -26,7 +26,7 @@ var autfunction = "";
if (intern)
autfunction = "WEB_PRSMAN";
else
autfunction = "WEB_RELMAN";
autfunction = (S("bgt_enabled")==1 ? ["WEB_RELMAN", "WEB_BGTUSE"] : ["WEB_RELMAN"]);
var authparams = user.checkAutorisation(autfunction);

View File

@@ -4625,6 +4625,6 @@ div.menuSpacer {
}
}
select[multiple]#authorizationgroup {
height: 150px;
}

View File

View File

@@ -0,0 +1,2 @@
::API 'FINVKPDF' wijst naar 'appl\fin\fin_verkoopfactuurkop.asp?mode=print'
phantomjs --ssl-protocol=tlsv1 rasterize.js "https://blcc.facilitor.nl/?API=FINVKPDF&APIKEY=kV6SFYR6skyLztIvZrAtF0cBRxSRY4bH&mode=print&id=%1" %2.pdf A4

View File

@@ -0,0 +1,32 @@
var page = require('webpage').create(),
system = require('system'),
address, output, size;
if (system.args.length < 3 || system.args.length > 5) {
console.log('Usage: rasterize.js URL filename [paperwidth*paperheight|paperformat] [zoom]');
console.log(' paper (pdf output) examples: "5in*7.5in", "10cm*20cm", "A4", "Letter"');
phantom.exit(1);
} else {
address = system.args[1];
output = system.args[2];
page.viewportSize = { width: 600, height: 600 };
if (system.args.length > 3 && system.args[2].substr(-4) === ".pdf") {
size = system.args[3].split('*');
page.paperSize = size.length === 2 ? { width: size[0], height: size[1], margin: '0px' }
: { format: system.args[3], orientation: 'portrait', margin: '1cm' };
}
if (system.args.length > 4) {
page.zoomFactor = system.args[4];
}
page.open(address, function (status) {
if (status !== 'success') {
console.log('Unable to load the address!');
phantom.exit();
} else {
window.setTimeout(function () {
page.render(output);
phantom.exit();
}, 2000);
}
});
}

View File

@@ -1,8 +1,9 @@
REM GEN_EXPORT_FACT.BAT
REM GEN_EXPORT_FACT
REM
REM BLCC
REM
REM Bevriest te factureren gegevens en exporteert feitelijk niets
REM Exporteert verkoopfacturatie vanuit FACILITOR als CSV tbv. Twinfield.
REM Het aangemaakte CSV-bestand wordt gemaild naar de afgesproken persoon.
REM
REM Context : roep deze file aan indien nodig, of schedule deze
REM Vereist : de randvoorwaarde voor het gebruik van gen_export
@@ -13,5 +14,14 @@ REM
REM (c) 2017 Facilitor B.V.
REM
REM ================================================== create exportfile
REM === cleanup
copy .\FACT\FACT*.csv .\FACT\Backup
del .\FACT\FACT*.csv
REM === create exportfile
CALL ..\..\..\utils\gen_export\gen_export.bat FACT
REM === mail
if not exist ".\FACT\FACT*.csv" goto einde
cscript sendmailFact.vbs
:einde

View File

@@ -0,0 +1,26 @@
REM GEN_EXPORT_PDF_ATT.BAT
REM
REM BLCC
REM
REM Genereert PDF-verkoopfacturen die vervolgens (per factuur) als bijlage met
REM de notificatie worden meegestuurd.
REM NB. Aangezien de datum bij de notificatie op de volgende dag staat, worden
REM de notificaties dan pas verzonden.
REM
REM Context : roep deze file aan indien nodig, of schedule deze
REM Vereist : de randvoorwaarde voor het gebruik van gen_export
REM
REM $Revision$
REM $Id$
REM
REM (c) 2017 Facilitor B.V.
REM
REM === create exportfile gen_pdf_verkoopfactuur.bat
CALL ..\..\..\utils\gen_export\gen_export.bat PDF_ATT
cd PDF
CALL gen_pdf_verkoopfactuur.bat
cd ..

View File

@@ -0,0 +1,17 @@
Dim fso, folder, files
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder("d:\Apps\Facilitor\Fplace5i\CUST\BLCC\export\FACT")
Set files = folder.Files
For each folderIdx In Files
If InStrRev(folderIdx.Name, ".csv") > 0 And folderIdx.Length > 0 Then
Set objEmail = CreateObject("CDO.Message")
objEmail.From = "no_reply@blcc.facilitor.nl"
' objEmail.To = "m.vanderheide@facilitor.nl"
objEmail.To = "accounting1@brightlands.com;roger.treur@brightlands.com;leslie.vandewauw@brightlands.com"
objEmail.Subject = "Facilitor: Maandelijkse aanlevering FACT-bestand"
objEmail.Textbody = "Automatisch verzonden FACT-bestand."
objEmail.AddAttachment "d:\Apps\Facilitor\Fplace5i\CUST\BLCC\export\FACT\" + folderIdx.Name
objEmail.Send
End If
Next

View File

@@ -134,11 +134,11 @@
}
.fatal {
background-color: red;
color: white;
font-weight: bold;
padding-left: 2px;
padding-right: 2px;
background-color: red;
color: white;
font-weight: bold;
padding-left: 2px;
padding-right: 2px;
}
</style>
</xsl:template>
@@ -159,7 +159,7 @@
</xsl:choose>
</td>
<td width="33%"></td>
<td width="33%" style="text-align:right">
<td width="33%" style="text-align:right;">
<b><xsl:value-of select="//lcl/FAC/printdatum"/>:&#xA0;</b><xsl:value-of select="//header/dateTime"/>
</td>
</tr>
@@ -224,10 +224,10 @@
</td>
</tr>
<tr>
<td colspan="2" class="caption" style="padding-top:20px;padding-bottom:20px">
<td colspan="2" class="caption" style="padding-top:20px;padding-bottom:20px;">
<b><xsl:value-of select="//lcl/MLD/melding"/>&#160;<xsl:value-of select="discipline/srtdiscipline/prefix"/><xsl:value-of select="key"/></b>
</td>
<td colspan="2" class="caption" style="padding-top:20px;padding-bottom:20px">
<td colspan="2" class="caption" style="padding-top:20px;padding-bottom:20px;">
<xsl:if test="spoed&lt;3"><b><xsl:value-of select="//lcl/MLD/spoed"/></b></xsl:if>
</td>
</tr>
@@ -397,7 +397,7 @@
<xsl:template match="opdracht" mode="include">
<table border="0" width="100%" cellpadding="2">
<tr>
<td colspan="4" class="caption" style="padding-top:20px;padding-bottom:20px">
<td colspan="4" class="caption" style="padding-top:20px;padding-bottom:20px;">
<b>
<xsl:choose>
<xsl:when test="statusopdr_key = 10 and statusopdr_key_refiat &gt; 0">
@@ -495,7 +495,7 @@
</tr>
<tr>
<td colspan="6" align="center">
<table width="100%" style="background-color:#EEEEEE;border: 1px solid blue">
<table width="100%" style="background-color:#EEEEEE;border: 1px solid blue;">
<tr><td><xsl:apply-templates select="melding" mode="include"/></td></tr>
</table>
</td>
@@ -506,14 +506,14 @@
<tr>
<td align="right"><b><xsl:value-of select="//lcl/MLD/uren"/>:</b></td>
<td><xsl:value-of select="format-number(uren, '0,00', 'european')"/><b>&#xA0;à&#xA0;</b>&#x20AC;&#xA0;<xsl:value-of select="format-number(uurloon, '0,00', 'european')"/></td>
<td style="width:2in;text-align:left">
<td style="width:2in;text-align:left;">
<xsl:if test="statusopdr_key_refiat &gt; 0">
(<xsl:value-of select="//lcl/MLD/was"/>&#xA0;<xsl:value-of select="format-number(uren, '0,00', 'european')"/><b>&#xA0;à&#xA0;</b>&#x20AC;&#xA0;<xsl:value-of select="format-number(uurloon, '0,00', 'european')"/>)
</xsl:if>
</td>
<td align="right"><b><xsl:value-of select="//lcl/MLD/arbeid"/>:</b></td>
<td style="width:1in;text-align:right">&#x20AC;&#xA0;<xsl:value-of select="format-number($arbeid, '0,00', 'european')"/></td>
<td style="width:1in;text-align:right">
<td style="width:1in;text-align:right;">&#x20AC;&#xA0;<xsl:value-of select="format-number($arbeid, '0,00', 'european')"/></td>
<td style="width:1in;text-align:right;">
<xsl:if test="statusopdr_key_refiat &gt; 0">
(<xsl:value-of select="//lcl/MLD/was"/>&#xA0;&#x20AC;&#xA0;<xsl:value-of select="format-number($arbeid_refiat, '0,00', 'european')"/>)
</xsl:if>
@@ -522,8 +522,8 @@
<tr>
<td colspan="3"/>
<td align="right"><b><xsl:value-of select="//lcl/MLD/materiaal"/>:</b></td>
<td style="width:1in;text-align:right">&#x20AC;&#xA0;<xsl:value-of select="format-number(materiaal, '0,00', 'european')"/></td>
<td style="width:1in;text-align:right">
<td style="width:1in;text-align:right;">&#x20AC;&#xA0;<xsl:value-of select="format-number(materiaal, '0,00', 'european')"/></td>
<td style="width:1in;text-align:right;">
<xsl:if test="statusopdr_key_refiat &gt; 0">
(<xsl:value-of select="//lcl/MLD/was"/>&#xA0;&#x20AC;&#xA0;<xsl:value-of select="format-number(materiaal_refiat, '0,00', 'european')"/>)
</xsl:if>
@@ -537,8 +537,8 @@
<tr>
<td colspan="3"/>
<td align="right"><b><xsl:value-of select="//lcl/MLD/correctie"/>:</b></td>
<td style="width:1in;text-align:right">&#x20AC;&#xA0;<xsl:value-of select="format-number($correctie, '0,00', 'european')"/></td>
<td style="width:1in;text-align:right">
<td style="width:1in;text-align:right;">&#x20AC;&#xA0;<xsl:value-of select="format-number($correctie, '0,00', 'european')"/></td>
<td style="width:1in;text-align:right;">
<xsl:if test="statusopdr_key_refiat &gt; 0">
(<xsl:value-of select="//lcl/MLD/was"/>&#xA0;&#x20AC;&#xA0;<xsl:value-of select="format-number($correctie_refiat, '0,00', 'european')"/>)
</xsl:if>
@@ -548,8 +548,8 @@
<tr>
<td colspan="3"/>
<td align="right"><b><xsl:value-of select="//lcl/FAC/totaal"/>:</b></td>
<td style="width:1in;text-align:right"><b>&#x20AC;&#xA0;<xsl:value-of select="format-number(kosten, '0,00', 'european')"/></b></td>
<td style="width:1in;text-align:right">
<td style="width:1in;text-align:right;"><b>&#x20AC;&#xA0;<xsl:value-of select="format-number(kosten, '0,00', 'european')"/></b></td>
<td style="width:1in;text-align:right;">
<xsl:if test="statusopdr_key_refiat &gt; 0">
(<xsl:value-of select="//lcl/MLD/was"/>&#xA0;&#x20AC;&#xA0;<xsl:value-of select="format-number(kosten_refiat, '0,00', 'european')"/>)
</xsl:if>
@@ -565,6 +565,154 @@
</table>
</xsl:template>
<xsl:template match="verkoopfactuur" mode="full">
<html>
<xsl:call-template name="htmlhead"/>
<body>
<table border="0" style="width:100%;border-collapse:collapse;" cellpadding="3" cellspacing="3">
<colgroup>
<col width="20%"/>
<col width="15%"/>
<col width="15%"/>
<col width="20%"/>
<col width="15%"/>
<col width="15%"/>
</colgroup>
<xsl:variable name="sortfilter">
<xsl:for-each select="verkoopfactuurregel">
<xsl:sort select="substring-after(omschrijving, '/=')"/>
<xsl:copy-of select="."/>
</xsl:for-each>
</xsl:variable>
<tr>
<td colspan="3">
<b>Chemelot Campus Vastgoed C.V.</b>
<br/>Urmonderbaan 22, 6167 RD Geleen
<br/>Phone: +31 (0) 88 99 95705
<br/>Mail: <a href="mailto:Marie-Jose.Douven@brightlands.com"><nobr>Marie-Jose.Douven@brightlands.com</nobr></a>
<br/>Chamber of Commerce: 56268556
</td>
<td colspan="3" style="text-align:right;">
<xsl:choose>
<xsl:when test="$mode='email'"><img src="cid:tmpl_logo.gif"/></xsl:when>
<xsl:otherwise><xsl:element name="img"><xsl:attribute name="src">../../cust/BLCC/tmpl_logo.gif</xsl:attribute></xsl:element></xsl:otherwise>
</xsl:choose>
</td>
</tr>
<tr>
<td colspan="3">
<b>
<br/><xsl:value-of select="msxml:node-set($sortfilter)/verkoopfactuurregel/debiteurnaam"/>
<br/><xsl:value-of select="msxml:node-set($sortfilter)/verkoopfactuurregel/bedrijf/post_adres"/>
<br/><xsl:value-of select="msxml:node-set($sortfilter)/verkoopfactuurregel/bedrijf/post_postcode"/><xsl:text> </xsl:text><xsl:value-of select="msxml:node-set($sortfilter)/verkoopfactuurregel/bedrijf/post_plaats"/>
<br/><xsl:value-of select="msxml:node-set($sortfilter)/verkoopfactuurregel/bedrijf/post_land"/>
</b>
</td>
<td>
<br/>Invoice number:
<br/>Date:
<br/><br/>Customer number:
<!--br/>Your VAT number:-->
<br/>Your reference:
<xsl:if test="msxml:node-set($sortfilter)/verkoopfactuurregel/tekst8!=''"><br/>Your contact person:</xsl:if>
</td>
<td colspan="2">
<br/><xsl:value-of select="msxml:node-set($sortfilter)/verkoopfactuurregel/id"/>
<br/><xsl:value-of select="msxml:node-set($sortfilter)/verkoopfactuurregel/datum/datum"/>
<br/><br/><xsl:value-of select="substring-before(msxml:node-set($sortfilter)/verkoopfactuurregel/tekst7, '=')"/>
<!--br/><xsl:value-of select="substring-after(msxml:node-set($sortfilter)/verkoopfactuurregel/tekst7, '=')"/-->
<br/><xsl:value-of select="substring-before(concat(msxml:node-set($sortfilter)/verkoopfactuurregel/omschrijving, '/'), '/')"/>
<xsl:if test="msxml:node-set($sortfilter)/verkoopfactuurregel/tekst8!=''"><br/><xsl:value-of select="msxml:node-set($sortfilter)/verkoopfactuurregel/tekst8"/></xsl:if>
</td>
</tr>
<tr><td colspan="6" style="text-align:right;"><br/>Page: 1/1</td></tr>
<tr>
<td>
Terms of payment:
<br/>Payment method:
<br/>Due date:
</td>
<td colspan="5">
Within 30 days Due net
<br/>Bank Transfer
<br/><xsl:value-of select="msxml:node-set($sortfilter)/verkoopfactuurregel/datum1/datum"/>
</td>
</tr>
<tr><td colspan="6"><br/><b>INVOICE</b></td></tr>
<tr>
<td style="text-align:center;vertical-align:middle;border-bottom:1px solid black;background-color:#AAA;"><b>Code</b></td>
<td colspan="3" style="vertical-align:middle;border-bottom:1px solid black;background-color:#AAA;"><b>Description</b></td>
<td style="vertical-align:middle;border-bottom:1px solid black;background-color:#AAA;"><b>VAT</b></td>
<td style="text-align:center;vertical-align:middle;border-bottom:1px solid black;background-color:#AAA;"><b>Amount excl.<br/>VAT</b></td>
</tr>
<xsl:for-each select="msxml:node-set($sortfilter)/verkoopfactuurregel">
<xsl:variable name="prev_reg">
<xsl:choose>
<xsl:when test="position()=1">Quqelequ</xsl:when>
<xsl:otherwise><xsl:value-of select="substring-after(preceding-sibling::verkoopfactuurregel[1]/omschrijving, '/=')"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="this_reg">
<xsl:value-of select="substring-after(omschrijving, '/=')"/>
</xsl:variable>
<!-- Als 'this' != 'prev', dan nieuwe factuurregel! -->
<xsl:if test="$this_reg!=$prev_reg">
<tr>
<td style="border-bottom:1px solid black;"><xsl:value-of select="substring-before(omschrijving, '/=')"/></td>
<td colspan="3" style="border-bottom:1px solid black;"><xsl:value-of select="substring($this_reg, 4)"/></td>
<td style="border-bottom:1px solid black;"><xsl:value-of select="btwpercentage"/> %</td>
<td style="text-align:right;border-bottom:1px solid black;"><xsl:value-of select="format-number(sum(msxml:node-set($sortfilter)/verkoopfactuurregel[substring-after(omschrijving, '/=')=$this_reg]/bedrag), '###.###.##0,00', 'european')"/></td>
</tr>
</xsl:if>
</xsl:for-each>
<xsl:variable name="mndnet">
<xsl:value-of select="sum(msxml:node-set($sortfilter)/verkoopfactuurregel/bedrag)"/>
</xsl:variable>
<xsl:variable name="mndbtw">
<xsl:value-of select="sum(msxml:node-set($sortfilter)/verkoopfactuurregel/btwbedrag)"/>
</xsl:variable>
<tr><td colspan="6">Period from - to: <xsl:value-of select="msxml:node-set($sortfilter)/verkoopfactuurregel/datum2/datum"/> - <xsl:value-of select="msxml:node-set($sortfilter)/verkoopfactuurregel/datum3/datum"/></td></tr>
<tr>
<td colspan="3"/>
<td colspan="2"><b>Subtotal</b></td>
<td style="text-align:right;"><xsl:value-of select="format-number($mndnet, '###.###.##0,00', 'european')"/></td>
</tr>
<tr>
<td colspan="3"/>
<td colspan="2">BTW 21%</td>
<td style="text-align:right;"><xsl:value-of select="format-number($mndbtw, '###.###.##0,00', 'european')"/></td>
</tr>
<tr>
<td colspan="3"/>
<td colspan="2">BTW 0%</td>
<td style="text-align:right;"><xsl:value-of select="format-number(0, '###.###.##0,00', 'european')"/></td>
</tr>
<tr>
<td colspan="3" style="background-color:#AAA;"/>
<td colspan="2" style="vertical-align:middle;background-color:#AAA;"><b>Total</b></td>
<td style="text-align:right;vertical-align:middle;background-color:#AAA;">Euro <xsl:value-of select="format-number($mndnet + $mndbtw, '###.###.##0,00', 'european')"/></td>
</tr>
<tr><td colspan="6"><br/>This is the invoice for rent, shared facilities, utilities and services at the Chemelot Campus.</td></tr>
<tr>
<td colspan="6" style="font-size:8pt;">
<br/><b>Please mention invoice number <xsl:value-of select="msxml:node-set($sortfilter)/verkoopfactuurregel/id"/> and customer number <xsl:value-of select="substring-before(msxml:node-set($sortfilter)/verkoopfactuurregel/tekst7, '=')"/> with your payment.</b>
<br/>Rabobank (EUR) Geleen Netherlands
<br/>Bank account 1716.02.161, Bank key RABONL2U
<br/>IBAN&#xA0;&#xA0;&#xA0;NL 33 RABO 01716 02 161
<br/>BIC&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;RABONL2U
<br/><b>Our VAT number: NL852049511B01</b>
</td>
</tr>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="rapport">
<style>.pagebreak {
page-break-after: always;
@@ -586,13 +734,12 @@
<tr>
<td colspan="3">
<b>Chemelot Campus Vastgoed C.V.</b>
<!--br/>Postbus 18, 6160 MD Geleen-->
<br/>Urmonderbaan 22, 6167 RD Geleen
<br/>Phone: +31 (0) 88 99 95705
<br/>Mail: <a href="mailto:Marie-Jose.Douven@brightlands.com"><nobr>Marie-Jose.Douven@brightlands.com</nobr></a>
<br/>Chamber of Commerce: 56268556
</td>
<td colspan="3" style="text-align:right">
<td colspan="3" style="text-align:right;">
<xsl:choose>
<xsl:when test="$mode='email'"><img src="cid:tmpl_logo.gif"/></xsl:when>
<xsl:otherwise><xsl:element name="img"><xsl:attribute name="src">../../cust/<xsl:value-of select="//header/custId"/>/tmpl_logo.gif</xsl:attribute></xsl:element></xsl:otherwise>
@@ -650,7 +797,7 @@
<td colspan="3">
<b>
<br/><xsl:value-of select="msxml:node-set($sortfilter)/data_row/PRS_DEBITEUR_NAAM"/>
<br/><br/><xsl:value-of select="msxml:node-set($sortfilter)/data_row/ADRES"/>
<br/><xsl:value-of select="msxml:node-set($sortfilter)/data_row/ADRES"/>
<br/><xsl:value-of select="msxml:node-set($sortfilter)/data_row/POSTCODE"/><xsl:text> </xsl:text><xsl:value-of select="msxml:node-set($sortfilter)/data_row/PLAATS"/>
<br/><xsl:value-of select="msxml:node-set($sortfilter)/data_row/LAND"/>
</b>
@@ -659,20 +806,20 @@
<br/>Invoice number:
<br/>Date:
<br/><br/>Customer number:
<br/>Your VAT number:
<!--br/>Your VAT number:-->
<br/>Your reference:
<xsl:if test="msxml:node-set($sortfilter)/data_row/CONTACTPERSOON!=''"><br/>Your contact person:</xsl:if>
</td>
<td colspan="2">
<br/><xsl:value-of select="msxml:node-set($sortfilter)/data_row/FIN_VERKOOPFACTUUR_ID"/>
<br/><xsl:value-of select="msxml:node-set($sortfilter)/data_row/FACTUURDATUM"/>
<br/><br/><xsl:value-of select="msxml:node-set($sortfilter)/data_row/PRS_OVEREENKOMST_NR"/>
<br/><xsl:value-of select="msxml:node-set($sortfilter)/data_row/BTW_NR"/>
<br/><xsl:value-of select="substring-before(msxml:node-set($sortfilter)/data_row/CNT_CONTRACT_NUMMER, '/')"/>
<br/><br/><xsl:value-of select="msxml:node-set($sortfilter)/data_row/DEBITEUR_NR"/>
<!--br/><xsl:value-of select="msxml:node-set($sortfilter)/data_row/BTW_NR"/-->
<br/><xsl:value-of select="substring-before(concat(msxml:node-set($sortfilter)/data_row/CNT_CONTRACT_NUMMER, '/'), '/')"/>
<xsl:if test="msxml:node-set($sortfilter)/data_row/CONTACTPERSOON!=''"><br/><xsl:value-of select="msxml:node-set($sortfilter)/data_row/CONTACTPERSOON"/></xsl:if>
</td>
</tr>
<tr><td colspan="6" style="text-align:right"><br/>Page: 1/1</td></tr>
<tr><td colspan="6" style="text-align:right;"><br/>Page: 1/1</td></tr>
<tr>
<td>
Terms of payment:
@@ -742,12 +889,10 @@
<td colspan="2" style="vertical-align:middle;background-color:#AAA;"><b>Total</b></td>
<td style="text-align:right;vertical-align:middle;background-color:#AAA;">Euro <xsl:value-of select="format-number($mndnet + $mndbtw, '###.###.##0,00', 'european')"/></td>
</tr>
<tr><td colspan="6"><br/>This is the invoice for rent at Chemelot Campus.</td></tr>
<!--/table>
<table border="0" style="width:100%;border-collapse:collapse;" cellpadding="0" cellspacing="0"-->
<tr><td colspan="6"><br/>This is the invoice for rent, shared facilities, utilities and services at the Chemelot Campus.</td></tr>
<tr>
<td colspan="6" style="font-size:6pt;">
<br/><b>Please mention invoice number <xsl:value-of select="msxml:node-set($sortfilter)/data_row/FIN_VERKOOPFACTUUR_ID"/> and customer number <xsl:value-of select="msxml:node-set($sortfilter)/data_row/PRS_OVEREENKOMST_NR"/> with your payment.</b>
<td colspan="6" style="font-size:8pt;">
<br/><b>Please mention invoice number <xsl:value-of select="msxml:node-set($sortfilter)/data_row/FIN_VERKOOPFACTUUR_ID"/> and customer number <xsl:value-of select="msxml:node-set($sortfilter)/data_row/DEBITEUR_NR"/> with your payment.</b>
<br/>Rabobank (EUR) Geleen Netherlands
<br/>Bank account 1716.02.161, Bank key RABONL2U
<br/>IBAN&#xA0;&#xA0;&#xA0;NL 33 RABO 01716 02 161

View File

@@ -262,7 +262,7 @@
<xsl:param name="p_taxperc"/>
<xsl:if test="$p_price != ''">
<PriceInformation>
<Price><xsl:value-of select="$p_price"/></Price>
<Price><xsl:call-template name="xsd_decimal"><xsl:with-param name="p_decimal" select="$p_price"/></xsl:call-template></Price>
</PriceInformation>
</xsl:if>
<VATInformation>

View File

@@ -107,8 +107,8 @@
<!-- Zie MARX#37078: Opdrachtomschrijving ook in de node in InstructionData/FreeText -->
<FreeText>
<xsl:choose>
<xsl:when test="kenmerk[@key=12] != ''"><xsl:value-of select="kenmerk[@key='12']"/></xsl:when>
<xsl:otherwise><xsl:value-of select="omschrijving"/></xsl:otherwise>
<xsl:when test="kenmerk[@key=12] != ''"><xsl:value-of select="substring(normalize-space(kenmerk[@key='12']),1,1000)"/></xsl:when>
<xsl:otherwise><xsl:value-of select="substring(normalize-space(omschrijving),1,1000)"/></xsl:otherwise>
</xsl:choose>
</FreeText>
<!-- SIDB - Gegevens waarmee gerefereerd wordt aan een contract. Optioneel -->
@@ -267,7 +267,7 @@
<xsl:param name="p_taxperc"/>
<xsl:if test="$p_price != ''">
<PriceInformation>
<Price><xsl:value-of select="$p_price"/></Price>
<Price><xsl:call-template name="xsd_decimal"><xsl:with-param name="p_decimal" select="$p_price"/></xsl:call-template></Price>
</PriceInformation>
</xsl:if>
<VATInformation>

View File

@@ -97,8 +97,8 @@
<!-- Zie MARX#37078: Opdrachtomschrijving ook in de node in InstructionData/FreeText -->
<FreeText>
<xsl:choose>
<xsl:when test="kenmerk[@key=12] != ''"><xsl:value-of select="kenmerk[@key='12']"/></xsl:when>
<xsl:otherwise><xsl:value-of select="omschrijving"/></xsl:otherwise>
<xsl:when test="kenmerk[@key=12] != ''"><xsl:value-of select="substring(normalize-space(kenmerk[@key='12']),1,1000)"/></xsl:when>
<xsl:otherwise><xsl:value-of select="substring(normalize-space(omschrijving),1,1000)"/></xsl:otherwise>
</xsl:choose>
</FreeText>
<!-- SIDB - Gegevens waarmee gerefereerd wordt aan een contract. Optioneel -->
@@ -255,7 +255,7 @@
<xsl:param name="p_taxperc"/>
<xsl:if test="$p_price != ''">
<PriceInformation>
<Price><xsl:value-of select="$p_price"/></Price>
<Price><xsl:call-template name="xsd_decimal"><xsl:with-param name="p_decimal" select="$p_price"/></xsl:call-template></Price>
</PriceInformation>
</xsl:if>
<VATInformation>

View File

@@ -100,8 +100,8 @@
<!-- Zie MARX#37078: Opdrachtomschrijving ook in de node in InstructionData/FreeText -->
<FreeText>
<xsl:choose>
<xsl:when test="kenmerk[@key=12] != ''"><xsl:value-of select="kenmerk[@key='12']"/></xsl:when>
<xsl:otherwise><xsl:value-of select="omschrijving"/></xsl:otherwise>
<xsl:when test="kenmerk[@key=12] != ''"><xsl:value-of select="substring(normalize-space(kenmerk[@key='12']),1,1000)"/></xsl:when>
<xsl:otherwise><xsl:value-of select="substring(normalize-space(omschrijving),1,1000)"/></xsl:otherwise>
</xsl:choose>
</FreeText>
<!-- SIDB - Gegevens waarmee gerefereerd wordt aan een contract. Optioneel -->
@@ -258,7 +258,7 @@
<xsl:param name="p_taxperc"/>
<xsl:if test="$p_price != ''">
<PriceInformation>
<Price><xsl:value-of select="$p_price"/></Price>
<Price><xsl:call-template name="xsd_decimal"><xsl:with-param name="p_decimal" select="$p_price"/></xsl:call-template></Price>
</PriceInformation>
</xsl:if>
<VATInformation>

View File

@@ -100,8 +100,8 @@
<!-- Zie MARX#37078: Opdrachtomschrijving ook in de node in InstructionData/FreeText -->
<FreeText>
<xsl:choose>
<xsl:when test="kenmerk[@key=12] != ''"><xsl:value-of select="kenmerk[@key='12']"/></xsl:when>
<xsl:otherwise><xsl:value-of select="omschrijving"/></xsl:otherwise>
<xsl:when test="kenmerk[@key=12] != ''"><xsl:value-of select="substring(normalize-space(kenmerk[@key='12']),1,1000)"/></xsl:when>
<xsl:otherwise><xsl:value-of select="substring(normalize-space(omschrijving),1,1000)"/></xsl:otherwise>
</xsl:choose>
</FreeText>
<!-- SIDB - Gegevens waarmee gerefereerd wordt aan een contract. Optioneel -->
@@ -259,7 +259,7 @@
<xsl:param name="p_taxperc"/>
<xsl:if test="$p_price != ''">
<PriceInformation>
<Price><xsl:value-of select="$p_price"/></Price>
<Price><xsl:call-template name="xsd_decimal"><xsl:with-param name="p_decimal" select="$p_price"/></xsl:call-template></Price>
<PriceBase>
<NumberOfUnitsInPriceBasis></NumberOfUnitsInPriceBasis>
<MeasureUnitPriceBasis></MeasureUnitPriceBasis>

View File

@@ -107,8 +107,8 @@
<!-- Zie MARX#37078: Opdrachtomschrijving ook in de node in InstructionData/FreeText -->
<FreeText>
<xsl:choose>
<xsl:when test="kenmerk[@key=12] != ''"><xsl:value-of select="kenmerk[@key='12']"/></xsl:when>
<xsl:otherwise><xsl:value-of select="omschrijving"/></xsl:otherwise>
<xsl:when test="kenmerk[@key=12] != ''"><xsl:value-of select="substring(normalize-space(kenmerk[@key='12']),1,1000)"/></xsl:when>
<xsl:otherwise><xsl:value-of select="substring(normalize-space(omschrijving),1,1000)"/></xsl:otherwise>
</xsl:choose>
</FreeText>
<!-- SIDB - Gegevens waarmee gerefereerd wordt aan een contract. Optioneel -->
@@ -267,7 +267,7 @@
<xsl:param name="p_taxperc"/>
<xsl:if test="$p_price != ''">
<PriceInformation>
<Price><xsl:value-of select="$p_price"/></Price>
<Price><xsl:call-template name="xsd_decimal"><xsl:with-param name="p_decimal" select="$p_price"/></xsl:call-template></Price>
<PriceBase>
<NumberOfUnitsInPriceBasis></NumberOfUnitsInPriceBasis>
<MeasureUnitPriceBasis></MeasureUnitPriceBasis>

View File

@@ -107,8 +107,8 @@
<!-- Zie MARX#37078: Opdrachtomschrijving ook in de node in InstructionData/FreeText -->
<FreeText>
<xsl:choose>
<xsl:when test="kenmerk[@key=12] != ''"><xsl:value-of select="kenmerk[@key='12']"/></xsl:when>
<xsl:otherwise><xsl:value-of select="omschrijving"/></xsl:otherwise>
<xsl:when test="kenmerk[@key=12] != ''"><xsl:value-of select="substring(normalize-space(kenmerk[@key='12']),1,1000)"/></xsl:when>
<xsl:otherwise><xsl:value-of select="substring(normalize-space(omschrijving),1,1000)"/></xsl:otherwise>
</xsl:choose>
</FreeText>
<!-- SIDB - Gegevens waarmee gerefereerd wordt aan een contract. Optioneel -->
@@ -267,7 +267,7 @@
<xsl:param name="p_taxperc"/>
<xsl:if test="$p_price != ''">
<PriceInformation>
<Price><xsl:value-of select="$p_price"/></Price>
<Price><xsl:call-template name="xsd_decimal"><xsl:with-param name="p_decimal" select="$p_price"/></xsl:call-template></Price>
<PriceBase>
<NumberOfUnitsInPriceBasis></NumberOfUnitsInPriceBasis>
<MeasureUnitPriceBasis></MeasureUnitPriceBasis>

View File

@@ -107,8 +107,8 @@
<!-- Zie MARX#37078: Opdrachtomschrijving ook in de node in InstructionData/FreeText -->
<FreeText>
<xsl:choose>
<xsl:when test="kenmerk[@key=12] != ''"><xsl:value-of select="kenmerk[@key='12']"/></xsl:when>
<xsl:otherwise><xsl:value-of select="omschrijving"/></xsl:otherwise>
<xsl:when test="kenmerk[@key=12] != ''"><xsl:value-of select="substring(normalize-space(kenmerk[@key='12']),1,1000)"/></xsl:when>
<xsl:otherwise><xsl:value-of select="substring(normalize-space(omschrijving),1,1000)"/></xsl:otherwise>
</xsl:choose>
</FreeText>
<!-- SIDB - Gegevens waarmee gerefereerd wordt aan een contract. Optioneel -->
@@ -267,7 +267,7 @@
<xsl:param name="p_taxperc"/>
<xsl:if test="$p_price != ''">
<PriceInformation>
<Price><xsl:value-of select="$p_price"/></Price>
<Price><xsl:call-template name="xsd_decimal"><xsl:with-param name="p_decimal" select="$p_price"/></xsl:call-template></Price>
<PriceBase>
<NumberOfUnitsInPriceBasis></NumberOfUnitsInPriceBasis>
<MeasureUnitPriceBasis></MeasureUnitPriceBasis>

View File

@@ -13,6 +13,17 @@
</xsl:if>
</xsl:template>
<xsl:template name="xsd_decimal">
<xsl:param name="p_decimal"/>
<!-- MARX#40109: Een decimaal getal uit Facilitor XML voldoet niet perse / gegarandeerd aan het xsd:decimal format -->
<!-- Als getal begint met een . (decimale punt), dan ontbreekt volgens de officiele regel kennelijk de voorloopnul -->
<!-- Deze zetten we er dan maar bij -->
<xsl:choose>
<xsl:when test="substring($p_decimal,1,1) = '.'">0<xsl:value-of select="$p_decimal"/></xsl:when>
<xsl:otherwise><xsl:value-of select="$p_decimal"/></xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Vertaal tabel -->
<!-- Zie MARX#38436: Als er geen eenheidscode vanuit AX wordt meegestuurd (wat wel de bedoeling is), dan zelf maar heel goed de best doen maar er wat van te maken en niet altijd PCE mee te sturen-->
<xsl:template name="SidB_translate_eenheidscode">

View File

@@ -183,9 +183,9 @@
<b>Datum <xsl:text disable-output-escaping="yes">&amp;</xsl:text> tijd controle / Date <xsl:text disable-output-escaping="yes">&amp;</xsl:text> time of the check:</b>
</td>
<td align="left" style="border-bottom:#000 1px solid">
<xsl:value-of select="kenmerk[@naam='Date Roomcheck']"/>
<xsl:value-of select="kenmerk[@key='504']"/>
<br/>
<xsl:value-of select="kenmerk[@naam='Time Roomcheck']"/>
<xsl:value-of select="kenmerk[@key='505']"/>
</td>
</tr>
<tr>

View File

@@ -13,22 +13,22 @@ REM
REM (c) 2010, SG|facilitor bv, +31 (53) 4800700, support@sgfacilitor.nl
REM
copy .\EXACT\*_fac*.xml .\EXACT\backup
del .\EXACT\*_fac*.log
del .\EXACT\*_fac*.xml
copy .\EXACT\PCHA_exact2*.xml .\EXACT\backup
del .\EXACT\PCHA_exact2*.log
del .\EXACT\PCHA_exact2*.xml
CALL ..\..\..\utils\gen_export\gen_export.bat EXACT
if not exist ".\EXACT\*_fac*.xml" goto einde
cscript sendmail.vbs
if not exist ".\EXACT\PCHA_exact2*.xml" goto einde
cscript sendmail.vbs "PCHA_exact2"
:einde
copy .\EXACT\*_fac*.xml .\EXACT\backup
del .\EXACT\*_fac*.log
del .\EXACT\*_fac*.xml
copy .\EXACT\PCHA_exact650*.xml .\EXACT\backup
del .\EXACT\PCHA_exact650*.log
del .\EXACT\PCHA_exact650*.xml
CALL ..\..\..\utils\gen_export\gen_export.bat EXACT650
if not exist ".\EXACT\*_fac*.xml" goto einde
cscript sendmail.vbs
if not exist ".\EXACT\PCHA_exact650*.xml" goto einde
cscript sendmail.vbs "PCHA_exact650"
:einde
CALL ..\..\..\utils\gen_export\gen_export.bat VERWERK_EXACT

View File

@@ -1,11 +1,13 @@
Dim fso, folder, files
Dim fso, folder, files, filename
Set filename = WScript.Arguments(0)
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder("d:\Apps\Facilitor\Fplace5i\CUST\PCHA\export\EXACT")
Set files = folder.Files
For each folderIdx In files
If InStrRev(folderIdx.Name, ".xml") > 0 Then
If InStrRev(folderIdx.Name, filename) > 0 AND InStrRev(folderIdx.Name, ".xml") > 0 Then
Set objEmail = CreateObject("CDO.Message")
objEmail.From = "no_reply@pcha.facilitor.nl"
objEmail.To = "fa@pch-dienstengroep.nl"

View File

@@ -13,14 +13,24 @@ REM
REM (c) 2010, SG|facilitor bv, +31 (53) 4800700, support@sgfacilitor.nl
REM
copy .\EXACT\*_fac*.xml .\EXACT\backup
del .\EXACT\*_fac*.log
del .\EXACT\*_fac*.xml
copy .\EXACT\PCHW_exact2*.xml .\EXACT\backup
del .\EXACT\PCHW_exact2*.log
del .\EXACT\PCHW_exact2*.xml
CALL ..\..\..\utils\gen_export\gen_export.bat EXACT
if not exist ".\EXACT\*_fac*.xml" goto einde
cscript sendmail.vbs
if not exist ".\EXACT\PCHW_exact2*.xml" goto einde
cscript sendmail.vbs "PCHW_exact2"
:einde
copy .\EXACT\PCHW_exact650*.xml .\EXACT\backup
del .\EXACT\PCHW_exact650*.log
del .\EXACT\PCHW_exact650*.xml
CALL ..\..\..\utils\gen_export\gen_export.bat EXACT650
if not exist ".\EXACT\PCHW_exact650*.xml" goto einde
cscript sendmail.vbs "PCHW_exact650"
:einde
CALL ..\..\..\utils\gen_export\gen_export.bat VERWERK_EXACT
CALL ..\..\..\utils\gen_export\gen_export.bat VERWERK_EXACT650

View File

@@ -1,11 +1,13 @@
Dim fso, folder, files
Dim fso, folder, files, filename
Set filename = WScript.Arguments(0)
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder("d:\Apps\Facilitor\Fplace5i\CUST\PCHW\export\EXACT")
Set files = folder.Files
For each folderIdx In files
If InStrRev(folderIdx.Name, ".xml") > 0 Then
If InStrRev(folderIdx.Name, filename) > 0 AND InStrRev(folderIdx.Name, ".xml") > 0 Then
Set objEmail = CreateObject("CDO.Message")
objEmail.From = "no_reply@pchw.facilitor.nl"
objEmail.To = "fa@pch-dienstengroep.nl"

View File

@@ -1,6 +1,11 @@
REM Import van factuurbestandsnamen naar FACILITOR
REM Alle bestanden uit de 0650 (PCHD) administratie met inkoopdagboek 73 (DGS)
move d:\Apps\Facilitor\Webdav\Pchd\0650??73*.csv .
REM Alle bestanden uit de 0655 DGS
move d:\Apps\Facilitor\Webdav\Pchd\0655*.csv .
cscript ..\..\..\utils\gen_import\gen_import.wsf PCHX FACTUUR >>genimport.log 2>>&1

View File

@@ -47,6 +47,13 @@
<xsl:variable name="custId">
<xsl:value-of select="//facilitor/header/custId"/>
</xsl:variable>
<xsl:variable name="locVerantwKenmKey">
<xsl:choose>
<xsl:when test="$custId = 'PCHA'">1080</xsl:when>
<xsl:when test="$custId = 'PCHW'">1060</xsl:when>
<xsl:otherwise>1000</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="opdrtype">
<xsl:choose>
<xsl:when test="opdrachttype/omschrijving='Extern volgens contract'">contract</xsl:when>
@@ -370,7 +377,7 @@
<b>Contactpersoon op de locatie:</b>
</td>
<td align="left">
<xsl:value-of select="melding/plaats/regio/district/locatie/kenmerk[@key=1000]/perslid/naam_full"/>
<xsl:value-of select="melding/plaats/regio/district/locatie/kenmerk[@key=$locVerantwKenmKey]/perslid/naam_full"/>
</td>
</tr>
<tr>
@@ -380,14 +387,14 @@
</td>
<td align="left" width="34%">
<xsl:choose>
<xsl:when test="melding/plaats/regio/district/locatie/kenmerk[@key=1000]/perslid/telefoonnr != ''">
<xsl:value-of select="melding/plaats/regio/district/locatie/kenmerk[@key=1000]/perslid/telefoonnr"/>
<xsl:when test="melding/plaats/regio/district/locatie/kenmerk[@key=$locVerantwKenmKey]/perslid/telefoonnr != ''">
<xsl:value-of select="melding/plaats/regio/district/locatie/kenmerk[@key=$locVerantwKenmKey]/perslid/telefoonnr"/>
</xsl:when>
<xsl:when test="melding/plaats/regio/district/locatie/kenmerk[@key=1000]/perslid/mobiel != ''">
<xsl:if test="melding/plaats/regio/district/locatie/kenmerk[@key=1000]/perslid/telefoonnr != ''">
<xsl:when test="melding/plaats/regio/district/locatie/kenmerk[@key=$locVerantwKenmKey]/perslid/mobiel != ''">
<xsl:if test="melding/plaats/regio/district/locatie/kenmerk[@key=$locVerantwKenmKey]/perslid/telefoonnr != ''">
<br/>
</xsl:if>
<xsl:value-of select="melding/plaats/regio/district/locatie/kenmerk[@key=1000]/perslid/mobiel"/>
<xsl:value-of select="melding/plaats/regio/district/locatie/kenmerk[@key=$locVerantwKenmKey]/perslid/mobiel"/>
</xsl:when>
</xsl:choose>
</td>

0
CUST/TEAR/banner/.gitignore vendored Normal file
View File

BIN
CUST/TEAR/oracle.udl Normal file

Binary file not shown.

View File

@@ -0,0 +1,4 @@
@echo off
REM Moet gescheduled worden (normaliter 1 keer per uur) om door de applicatiebeheerder
REM ingeregelde notificaties te genereren.
cscript ..\..\..\utils\gen_notify\gen_notify.js ../oracle.udl TEAR

View File

@@ -0,0 +1,4 @@
@echo off
REM Moet gescheduled worden (normaliter 1 keer per dag) om door de applicatiebeheerder
REM ingeregelde jobs (aanmaak van periodieke opdrachten) uit te voeren.
cscript ..\..\..\utils\gen_scheduler\gen_scheduler.js ../oracle.udl

View File

@@ -0,0 +1 @@
call ..\..\..\utils\putOrders\putOrders.bat

0
CUST/TEAR/xsl/.gitignore vendored Normal file
View File

View File

@@ -1000,7 +1000,7 @@
</table>
<table border="0" width="100%" bordercolor="#000000">
<tr>
<td align="left" width="100%" class="caption" colspan="2">Melding&#xA0;<xsl:value-of select="discipline/srtdiscipline/prefix"/><xsl:value-of select="key"/>
<td colspan="2" width="100%" class="caption">Melding&#xA0;<xsl:value-of select="discipline/srtdiscipline/prefix"/><xsl:value-of select="key"/>
<xsl:if test="spoed&lt;3">&#xA0;<b>SPOED!</b></xsl:if>
</td>
</tr>
@@ -1014,11 +1014,10 @@
<td class="label">Kostenplaats</td>
<td class="value">: <xsl:if test="kostenplaats/nr=''">-</xsl:if><xsl:value-of select="kostenplaats/nr"/>&#xA0;/&#xA0;<xsl:value-of select="kostenplaats/omschrijving"/></td>
</tr>
<tr><td height="10px"/></tr>
<tr>
<td colspan="2" class="tekst">
Onderstaande melding is automatisch aangemaakt op basis van een boeking bij Worldmeetings van je medewerker <xsl:value-of select="voor/naam_friendly"/>.<br/><br/>
Het boekingsnummer van Worldmeetings staat hieronder in de omschrijving genoemd als referentie. Je medewerker beheert de details van de boeking in de webshop van Worldmeetings.
<br/><br/>Onderstaande melding is automatisch aangemaakt op basis van een boeking bij Worldmeetings van je medewerker <xsl:value-of select="voor/naam_friendly"/>.
<br/><br/>Het boekingsnummer van Worldmeetings staat hieronder in de omschrijving genoemd als referentie. Je medewerker beheert de details van de boeking in de webshop van Worldmeetings.
</td>
</tr>
</xsl:when>
@@ -1047,19 +1046,17 @@
<td class="label">Kostenplaats</td>
<td class="value">: <xsl:if test="kostenplaats/nr=''">-</xsl:if><xsl:value-of select="kostenplaats/nr"/>&#xA0;/&#xA0;<xsl:value-of select="kostenplaats/omschrijving"/></td>
</tr>
<tr><td height="30px"/></tr>
<tr>
<td colspan="2" class="tekst">
Onderstaande melding is automatisch aangemaakt op basis van je boeking bij Worldmeetings.<br/><br/>
Het boekingsnummer van Worldmeetings staat hieronder in de omschrijving genoemd als referentie. Klik op de URL om de boeking in de webshop van Worldmeetings te openen.
<br/><br/>Onderstaande melding is automatisch aangemaakt op basis van je boeking bij Worldmeetings.
<br/><br/>Het boekingsnummer van Worldmeetings staat hieronder in de omschrijving genoemd als referentie. Klik op de URL om de boeking in de webshop van Worldmeetings te openen.
</td>
</tr>
</xsl:otherwise>
</xsl:choose>
<tr><td height="10px"/></tr>
<tr>
<td class="label">Meldingstijdstip</td>
<td class="value">: <xsl:value-of select="gemeld/datum"/>&#xA0;<xsl:value-of select="gemeld/tijd"/></td>
<td class="label"><br/><br/>Meldingstijdstip</td>
<td class="value"><br/><br/>: <xsl:value-of select="gemeld/datum"/>&#xA0;<xsl:value-of select="gemeld/tijd"/></td>
</tr>
<tr>
<td class="label">Melding</td>

View File

@@ -201,7 +201,7 @@ function sendMail( p_mailfrom
}
if (props.flexlog)
Log2File(1, props.flexlog);
if (!props.files)
if (!props.files || !props.files.length)
{ // Geen bestanden gevonden? Dan hele img-tag gewoon er uit halen
var eindPos = p_bodyhtml.indexOf(">", startPos + 2);
var newbody = p_bodyhtml.substr(0, startPos - 9) + p_bodyhtml.substr(eindPos + 1);