Files
Facilitor/APPL/CNT/cnt_flexkenmerk.inc
Jos Groot Lipman 6ea378483b FSN#38038 Referenctie vervallen domeinkenmerk onderdrukken bij nieuw contract
svn path=/Website/branches/v2016.2/; revision=31046
2016-10-11 13:28:29 +00:00

133 lines
5.5 KiB
C++

<% /*
$Revision$
$Id$
File: CNT/cnt_flexkenmerk.inc
Description: Functie die html code genereert voor de presentatie van de flexvelden
Parameters: cnt_key Contract key
disc_key Contractsoort key
reado Readonly
flexcolumns aantal kolommen voor flexkenmerken
advanced Geadvanceerd
reqId Perslid key
Context: Functie wordt aangeroepen door
1) load_kenmerk.asp
2) cnt_edit.asp die initieel serverside deze html code invoegt.
Note:
*/ %>
<!-- #include file="../Shared/kenmerk_common.inc" -->
<%
function generateFlexKenmerkCode(params)
{ %>
<div id="cntKenmerken">
<table id="flextable" cellpadding="0" cellspacing="0">
<%
var cnt_key = params.cnt_key; // Contract key
var disc_key = params.disc_key; // Contractsoort key
var reado = params.reado; // Readonly
var flexcolumns = params.flexcolumns;
var advanced = params.advanced; // Geavanceerd
var reqId = params.reqId; // Perslid key (!search && multiMode)
if (cnt_key > -1)
var this_cnt = params.this_cnt || cnt.func_enabled_contract(cnt_key);
else
var this_cnt = cnt.func_enabled_cnt(disc_key);
function isReadonly (volgnummer)
{
if (params.reado)
return true;
if (volgnummer <= 100 && this_cnt.canMANwrite)
return false; // die mag je bewerken met CNTMAN
if (volgnummer >= 100 && this_cnt.canUSEwrite)
return false; // die mag je bewerken met CNTUSE
return true; // blijkbaar toch niet...
}
function isInvisible(volgnummer, ktype) // MGE: In de search mode (overzichtscherm) zien we altijd alle flexkenmerken?? Deze functie wordt dan niet gebruikt.
{
if (volgnummer < 100 && !this_cnt.canMANread)
return true; // Invisible
if (volgnummer > 100 && !this_cnt.canUSEread /* incl readself */)
return true; // Invisible
return false;
}
if (cnt_key > 0)
{
var sql = "SELECT ins_discipline_key FROM cnt_contract WHERE cnt_contract_key = " + cnt_key;
var loRs = Oracle.Execute(sql);
var disc_key = loRs("ins_discipline_key").value;
}
sql = "SELECT k.cnt_kenmerk_key kenmerk_key, "
+ lcl.xsql('t.cnt_srtkenmerk_omschrijving', 't.cnt_srtkenmerk_key') +" kenmerk_omschrijving, "
+ " t.cnt_srtkenmerk_kenmerktype kenmerk_kenmerktype, "
+ " t.fac_kenmerkdomein_key kenmerkdomein_key, "
+ " t.cnt_srtkenmerk_lengte kenmerk_lengte, "
+ " t.cnt_srtkenmerk_dec kenmerk_dec, "
+ " t.cnt_srtkenmerk_nmin kenmerk_nmin, "
+ " t.cnt_srtkenmerk_nmax kenmerk_nmax, "
+ (cnt_key > 0
? " (SELECT v.cnt_kenmerkcontract_waarde"
+ " FROM cnt_kenmerkcontract v"
+ " WHERE v.cnt_contract_key = " + cnt_key
+ " AND v.cnt_kenmerk_key = k.cnt_kenmerk_key"
+ " AND v.cnt_kenmerkcontract_verwijder IS NULL)"
: lcl.xsql('k.cnt_kenmerk_default', 'k.cnt_kenmerk_key')
) + " kenmerk_waarde, "
+ " k.cnt_kenmerk_volgnummer kenmerk_volgnr, "
+ lcl.xsql('t.cnt_srtkenmerk_dimensie', 't.cnt_srtkenmerk_key') +" kenmerk_dimensie, "
+ lcl.xsql('k.cnt_kenmerk_hint', 'k.cnt_kenmerk_key') +" kenmerk_hint, "
+ lcl.xsql('k.cnt_kenmerk_default', 'k.cnt_kenmerk_key') +" kenmerk_default, "
+ " k.cnt_kenmerk_verplicht kenmerk_verplicht, "
+ " k.cnt_kenmerk_groep kenmerk_groep, "
+ " NULL otherpath, "
+ " k.cnt_kenmerk_toonbaar kenmerk_toonbaar, "
+ " k.cnt_kenmerk_uniek kenmerk_uniek,"
+ " k.cnt_kenmerk_regexp kenmerk_regexp"
+ " FROM cnt_srtkenmerk t"
+ ", cnt_kenmerk k"
+ ", cnt_discipline s"
+ " WHERE s.ins_discipline_key = " + disc_key
+ " AND k.cnt_srtcontract_key = s.ins_discipline_key"
+ " AND k.cnt_kenmerk_verwijder IS NULL"
+ " AND k.cnt_srtkenmerk_key = t.cnt_srtkenmerk_key"
+ " AND t.cnt_srtkenmerk_verwijder IS NULL"
+ (!this_cnt.canMANread? " AND cnt_kenmerk_volgnummer >= 100" : "")
+ (!this_cnt.canUSEread? " AND cnt_kenmerk_volgnummer <= 100" : "")
+ " ORDER BY k.cnt_kenmerk_volgnummer"
+ ", UPPER("+lcl.xsql('t.cnt_srtkenmerk_omschrijving', 't.cnt_srtkenmerk_key')+")";
var trn = 0;
if (!flexcolumns && !advanced)
{
var nrflexcolumns = S("cnt_flexcolumns");
}
else
var nrflexcolumns = flexcolumns || 1;
listKenmerk(sql,
"CNT",
cnt_key,
{ flexcolumns: nrflexcolumns,
kenmerk_search: advanced,
hideVervallen: cnt_key<0,
fnIsReadonly: isReadonly,
fnIsInvisible: isInvisible,
parentKey: cnt_key }
);
%>
</table>
</div>
<%
} %>