You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
808 lines
44 KiB
808 lines
44 KiB
<?xml version="1.0" encoding="UTF-8"?> |
|
<xupdate> |
|
|
|
<!-- fuer Maske 888880080--> |
|
<themenbaum maskentid="888880080" parentname="Haushalt"/> |
|
<!--Hier Themenbaumparent eintragen Name z.B: Haushalt--> |
|
<sql>delete from maskeninfo where tid = 888880080;</sql> |
|
<sql>delete from themenbaum where maskeninfo_id = 888880080;</sql> |
|
<sql>delete from felderinfo where tid in (select felderinfo_id from masken_felder_bez where maskeninfo_id = 888880080);</sql> |
|
<sql>delete from masken_felder_bez where maskeninfo_id = 888880080;</sql> |
|
<sql>delete from sachgeb_maske_bez where maskeninfo_id = 888880080;</sql> |
|
<sql>delete from maske_system_bez where maskeninfo_id = 888880080;</sql> |
|
<sql><![CDATA[insert into maskeninfo (tid,name,chart_xtitel,chart_ytitel) values (888880080,'','','');]]></sql> |
|
<sql><![CDATA[update maskeninfo set name='Kostenartenbericht' where tid=888880080;]]></sql> |
|
<sql><![CDATA[update maskeninfo set cleanup_stmt='drop table tmp_erg2;', frontend=1, breite=750, hoehe=550, hilfe=1 where tid=888880080;]]></sql> |
|
<sql>insert into maske_system_bez (maskeninfo_id,systeminfo_id) values (888880080,3);</sql> |
|
<sql>insert into sachgeb_maske_bez (maskeninfo_id,sachgebiete_id) values (888880080,50);</sql> |
|
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880080);</sql> |
|
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880081);</sql> |
|
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880082);</sql> |
|
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880083);</sql> |
|
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880084);</sql> |
|
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880085);</sql> |
|
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880086);</sql> |
|
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880087);</sql> |
|
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880088);</sql> |
|
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880089);</sql> |
|
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880090);</sql> |
|
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880091);</sql> |
|
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880092);</sql> |
|
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880093);</sql> |
|
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880094);</sql> |
|
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880095);</sql> |
|
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880096);</sql> |
|
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880097);</sql> |
|
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880098);</sql> |
|
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880099);</sql> |
|
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880080,'',0,0,0,100,50,1,'integer',30);]]></sql> |
|
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880081,'',10,0,0,100,150,1,'char',30);]]></sql> |
|
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880082,'',15,0,0,100,400,3,'char',150);]]></sql> |
|
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880083,'',21,0,0,100,150,3,'char',30);]]></sql> |
|
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880084,'',1020,0,0,100,150,1,'char',30);]]></sql> |
|
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880085,'',26,0,0,100,150,3,'char',50);]]></sql> |
|
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880086,'',30,0,0,100,150,3,'char',30);]]></sql> |
|
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880087,'',60,0,0,100,150,3,'char',30);]]></sql> |
|
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880088,'',70,0,0,100,150,3,'char',30);]]></sql> |
|
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880089,'',60,0,0,100,150,3,'char',30);]]></sql> |
|
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880090,'',25,0,0,100,150,3,'char',30);]]></sql> |
|
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880091,'',1016,300,-1,100,150,3,'char',30);]]></sql> |
|
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880092,'',1035,300,-1,100,150,1,'char',30);]]></sql> |
|
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880093,'',1045,300,-1,100,150,1,'char',20);]]></sql> |
|
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880094,'',10,0,0,100,150,1,'char',30);]]></sql> |
|
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880095,'',19,0,0,100,150,3,'char',30);]]></sql> |
|
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880096,'',11,300,-1,100,150,1,'char',30);]]></sql> |
|
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880097,'',70,300,-1,100,30,1,'integer',5);]]></sql> |
|
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880098,'',55,0,0,100,150,1,'char',20);]]></sql> |
|
<sql><![CDATA[update felderinfo set name='Haushaltsjahr' where tid=888880080;]]></sql> |
|
<sql><![CDATA[update felderinfo set name='Kapitel' where tid=888880081;]]></sql> |
|
<sql><![CDATA[update felderinfo set name='Finanzierungsquelle' where tid=888880082;]]></sql> |
|
<sql><![CDATA[update felderinfo set name='Titel' where tid=888880083;]]></sql> |
|
<sql><![CDATA[update felderinfo set name='Kostenstelle' where tid=888880084;]]></sql> |
|
<sql><![CDATA[update felderinfo set name='FB_INS' where tid=888880085;]]></sql> |
|
<sql><![CDATA[update felderinfo set name='Buchungsab_fb' where tid=888880086;]]></sql> |
|
<sql><![CDATA[update felderinfo set name='Projnr_ins' where tid=888880087;]]></sql> |
|
<sql><![CDATA[update felderinfo set name='ins2' where tid=888880088;]]></sql> |
|
<sql><![CDATA[update felderinfo set name='ins3' where tid=888880089;]]></sql> |
|
<sql><![CDATA[update felderinfo set name='Untertitel' where tid=888880090;]]></sql> |
|
<sql><![CDATA[update felderinfo set name='Kostenarten' where tid=888880091;]]></sql> |
|
<sql><![CDATA[update felderinfo set name='Kostenträger' where tid=888880092;]]></sql> |
|
<sql><![CDATA[update felderinfo set name='Budgetherkunft' where tid=888880093;]]></sql> |
|
<sql><![CDATA[update felderinfo set name='Kapitel' where tid=888880094;]]></sql> |
|
<sql><![CDATA[update felderinfo set name='Deckungsring' where tid=888880095;]]></sql> |
|
<sql><![CDATA[update felderinfo set name='Budgettyp' where tid=888880096;]]></sql> |
|
<sql><![CDATA[update felderinfo set name='Filter bis Ebene' where tid=888880097;]]></sql> |
|
<sql><![CDATA[update felderinfo set name='Art' where tid=888880098;]]></sql> |
|
<sql><![CDATA[update felderinfo set obligatorisch=1, art=1, attribut='', defaultwert='<<SQL>> SELECT year(today()) FROM xdummy;' where tid=888880080;]]></sql> |
|
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880081;]]></sql> |
|
<sql><![CDATA[update felderinfo set obligatorisch=1, art=1, attribut='', defaultwert='' where tid=888880082;]]></sql> |
|
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880083;]]></sql> |
|
<sql><![CDATA[update felderinfo set obligatorisch=0, art=12, attribut='hidden', defaultwert='' where tid=888880084;]]></sql> |
|
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='hidden', defaultwert='' where tid=888880085;]]></sql> |
|
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880086;]]></sql> |
|
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880087;]]></sql> |
|
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='hidden', defaultwert='' where tid=888880088;]]></sql> |
|
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='hidden', defaultwert='' where tid=888880089;]]></sql> |
|
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880090;]]></sql> |
|
<sql><![CDATA[update felderinfo set obligatorisch=0, art=12, attribut='', defaultwert='' where tid=888880091;]]></sql> |
|
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880092;]]></sql> |
|
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880093;]]></sql> |
|
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880094;]]></sql> |
|
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880095;]]></sql> |
|
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880096;]]></sql> |
|
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880097;]]></sql> |
|
<sql><![CDATA[update felderinfo set obligatorisch=1, art=1, attribut='hidden', defaultwert='<<SQL>> select ''FIN_KOSTENART'',''FIN_KOSTENART'' from xdummy' where tid=888880098;]]></sql> |
|
<text table="maskeninfo" field="select_stmt" where="tid=888880080"><![CDATA[--Freemarker Template |
|
--15.6.10 in Link Kostenstellensicht (tid) eingebaut |
|
--29.6.10 sx_butype eingebaut- FELDERINFO sx_butype EINBAUEN |
|
-- 21.7.10 SxFinRechte replace * % |
|
-- 16.9.10 sx_butype?exists |
|
-- 8.10.10 bei FIN_EINNAHMEN keine Ausgaben anzeigen |
|
-- 21.12.10 nur XIL: Spaltenfixierung auf 2 |
|
-- 3.8.11 Einstellungsmöglichkeit ${drtit} |
|
-- 25.8.11 Kostenstelle-Sicht nur wenn existiert |
|
-- 6.10.11/27.2.12 4. Ebene |
|
-- 4.12.12 link params replace angepasst |
|
-- 8/13 koa2 sowie showEinzelTitel |
|
-- 4.11.13 titel auf 10stellig |
|
-- 6/17 prozentualer Anteil |
|
-- 9/17 AKtuelles soll inklreste und geldreste, verfuegbar_geld |
|
-- 10/17 hhans, akts_plus_vojs |
|
-- 4/18 hhans_reste |
|
-- 6/22 LInks für Monate |
|
-- 10/24 Einschränkungsmöglichkeit auf bestimmte KLR-Kostenarten |
|
|
|
<#include "SQL_lingua_franca"/> |
|
<#include "SuperX_general"/> |
|
|
|
<sqlvars> |
|
<sqlvar name="maxmonat">select month(today()) from xdummy where year(today())=<<Haushaltsjahr>> union select 12 from xdummy where year(today())!=<<Haushaltsjahr>></sqlvar> |
|
<sqlvar name="finkostenarten">CDATASTARTselect id,caption,content as strukturstr from sx_repository where aktiv=1 and |
|
<#if "<<Art>>"!='FIN_KOSTENART'> art=<<Art>> <#else> art='FIN_KOSTENART'</#if> and gueltig_seit<=date_val('1.1.<<Haushaltsjahr>>') and gueltig_bis>=('1.1.<<Haushaltsjahr>>') order by sort1CDATAEND</sqlvar> |
|
<sqlvar name="TMP_FINANZIERUNGSQUELLEN">select id,caption,content from sx_repository where aktiv=1 |
|
/* and id in (<<Finanzierungsquelle>>) */ |
|
and gueltig_seit<=date_val('1.1.<<Haushaltsjahr>>') and gueltig_bis>=('1.1.<<Haushaltsjahr>>') |
|
</sqlvar> |
|
<sqlvar name="KST_SICHT">select min(name_intern) from sichten where |
|
name = 'KST_Budgetbericht_<<Haushaltsjahr>>' and systeminfoid=3 --FIN-Kopie |
|
</sqlvar> |
|
<sqlvar name="anzahl_klr_rechte">select count(*) from user_institution where userid=<<UserID>> |
|
</sqlvar> |
|
</sqlvars> |
|
--<#if KST_SICHT?length<2> |
|
--Keine Kostenstellensicht KST_Budgetbericht_<<Haushaltsjahr>> gefunden |
|
--</#if> |
|
<#assign linkbuchstart=""/> -- bei altem Kernmodul SuperXmlTabelle?tid= |
|
<#assign verfuegbar_misch_aktiv=false/> |
|
<#if CUSTOM_888880080?exists> |
|
<#assign inlineTemplate=CUSTOM_888880080?interpret> |
|
<@inlineTemplate/> |
|
</#if> |
|
|
|
<#assign linkbuch="SuperXmlTabelle?tid=888880040&Haushaltsjahr=<<Haushaltsjahr>>&navi=true"/> |
|
|
|
<#if .vars['Kostenstelle-Sicht']?exists><#assign linkbuch=linkbuch+"&Kostenstelle-Sicht=${.vars['Kostenstelle-Sicht']}"/></#if> |
|
--Referenz auf erste Kostenstelle wird fuer FREIES benoetigt |
|
--<#assign kstelle='-999'> |
|
--<#if anzahl_klr_rechte>0> |
|
--<#assign kstelle=Kostenstelle.elements?first/> |
|
--<#assign linkbuch=linkbuch+"&Kostenstelle="+kstelle.key> |
|
--&+"Kostenstelle-Sicht="+KST_SICHT/> |
|
--<#else> |
|
--TODO klappt noch nicht als Fehlermeldung - verbessern |
|
--<#if Finanzierungsquelle?index_of("FREIES")>-1> FEHLER FueR FREIES BUDGET MUSS EINE KOSTENSTELLE AUSGEWaeHLT SEIN</#if> |
|
--</#if> |
|
<#assign linkbuch=linkbuch+"&cachingcontrol=clearmask&Finanzierungsquelle="/> |
|
--Finanzierungsquelle obligatorisch vorausgesetzt |
|
|
|
<#assign baus="&Buchungsart=6-aus"/> |
|
<#if LinkFestlegung?exists&&LinkFestlegung='nur offene'> |
|
<#assign bf="&Buchungsart=4b-ofest"/> |
|
<#else> |
|
<#assign bf="&Buchungsart=4-fest"/> |
|
</#if> |
|
<#assign bakts="&Buchungsart=3b-aks"/> |
|
<#assign bhhans="&Buchungsart=9-hhans"/> |
|
<#assign bhhans_reste="&Buchungsart=9b-hhans-reste"/> |
|
<#assign bein="&Buchungsart=7-ein"/> |
|
|
|
<#foreach finanzierungsquelle in TMP_FINANZIERUNGSQUELLEN> |
|
<#assign linkbuch=linkbuch+finanzierungsquelle.id/> |
|
<#if finanzierungsquelle_has_next> <#assign linkbuch=linkbuch+","/></#if> |
|
</#foreach> |
|
<#if "<<Buchungsab_fb>>"!=""> |
|
<#assign linkbuch=linkbuch+"&Buchungsab_fb="+Buchungsab_fb?replace("'","")?replace("|",",")/> |
|
</#if> |
|
<#if "<<Projnr_ins>>"!=""> |
|
<#assign linkbuch=linkbuch+"&Projnr_ins="+Projnr_ins?replace("'","")?replace("|",",")/> |
|
</#if> |
|
<#if "<<ins2>>"!=""&&ins2?exists> |
|
<#assign linkbuch=linkbuch+"&ins2="+ins2?replace("'","")?replace("|",",")/> |
|
</#if> |
|
<#if "<<ins3>>"!=""&&ins3?exists> |
|
<#assign linkbuch=linkbuch+"&ins3="+ins3?replace("'","")?replace("|",",")/> |
|
</#if> |
|
<#if "<<FB_INS>>"!=""&&FB_INS?exists> |
|
<#assign linkbuch=linkbuch+"&FB_INS="+FB_INS?replace("'","")?replace("|",",")/> |
|
</#if> |
|
<#if "<<Titel>>"!=""&&Titel?exists> |
|
<#assign linkbuch=linkbuch+"&Titel="+Titel?replace("'","")?replace("|",",")/> |
|
</#if> |
|
<#if "<<Deckungsring>>"!=""&&Deckungsring?exists> |
|
<#assign linkbuch=linkbuch+"&Deckungsring="+Deckungsring?replace("'","")?replace("|",",")/> |
|
</#if> |
|
<#if sx_butype?exists&&"<<sx_butype>>"!=""> |
|
<#assign linkbuch=linkbuch+"&sx_butype="+sx_butype/> |
|
</#if> |
|
<#if Kostenstelle?exists&&"<<Kostenstelle>>"!=""><#assign linkbuch=linkbuch+"&Kostenstelle=<<Kostenstelle>>"?replace("'","")></#if> |
|
<#assign linkbuchspezKoa=linkbuch/> |
|
<#if (Kostenarten.selectionCount>0)> |
|
<#assign linkbuch=linkbuch+"&Kostenarten=<<Kostenarten>>"?replace("'","")/> |
|
</#if> |
|
|
|
<#macro kamrights> |
|
--( |
|
--(select count(*) from userinfo where tid=<<UserID>> and administration=1)>0 or |
|
--(select count(*) from fin_user_kam where buchungsab_fb='0' and projnr_ins='0' and userid=<<UserID>>)>0 |
|
--or |
|
--( |
|
--buchungsab_fb in (select buchungsab_fb from fin_user_kam where projnr_ins='0' and userid=<<UserID>> ) |
|
--or |
|
--projnr_ins in (select projnr_ins from fin_user_kam where buchungsab_fb='0' and userid=<<UserID>> ) |
|
--or |
|
--'ba_'|| buchungsab_fb || '_pr_' ||projnr_ins in (select 'ba_'|| buchungsab_fb || '_pr_' ||projnr_ins from fin_user_kam --where userid=<<UserID>> ) |
|
--) |
|
--) |
|
--kst_sql wird momentan nicht gebraucht |
|
<#assign kst_sql>ch110_institut in <@printkeys Kostenstelle.allNeededKeysList /></#assign> |
|
${SxFinRechte(kst_sql,'31.12.<<Haushaltsjahr>>')} |
|
</#macro> |
|
|
|
create temp table tmp_roh |
|
( |
|
koa char(100), |
|
dritt smallint, |
|
titel char(10), |
|
monat smallint, |
|
fikr char(12), |
|
hhans decimal (14,2) default 0, |
|
reste decimal (14,2) default 0, |
|
akt_soll decimal (14,2) default 0, |
|
akts_plus_vojs decimal(14,2) default 0, |
|
sperr decimal (14,2) default 0, |
|
ausgaben decimal (14,2) default 0, |
|
einnahmen decimal(14,2) default 0, |
|
fest decimal (14,2) default 0, |
|
verfuegbar decimal (14,2) default 0, |
|
verfuegbar_geld decimal (14,2) default 0, |
|
verfuegbar_misch decimal (14,2) default 0 -- gegen Ansatz bei Haushalt, gegen Geldeingang bei Drittmitteln |
|
|
|
) <@informixnolog/>; |
|
create temp table tmp_fikrsum |
|
( |
|
koa char(100), |
|
monat smallint, |
|
fikr char(12), |
|
ausgaben decimal (14,2) default 0, |
|
einnahmen decimal (14,2) default 0 |
|
|
|
) <@informixnolog/>; |
|
create temp table tmp_erg |
|
( |
|
ebene smallint default 1, |
|
koa char(100), |
|
fikr char(12), |
|
name char(100), |
|
sortnr integer default 0, sort2 integer default 0, |
|
hhans decimal (14,2) default 0, |
|
reste decimal(14,2) default 0, |
|
hhans_reste decimal(14,2) default 0, |
|
akt_soll decimal (14,2) default 0, |
|
sperr decimal (14,2) default 0, |
|
akts_plus_vojs decimal(14,2) default 0, |
|
ausgaben decimal (14,2) default 0, |
|
prozent decimal(14,2), |
|
gesamtausgaben decimal(16,6), |
|
einnahmen decimal (14,2) default 0, |
|
<#list 1..maxmonat as i> |
|
aus${i} decimal(14,2) default 0, |
|
linkbuchaus${i} <#if SQLdialect='Postgres'>text<#else>lvarchar</#if>, |
|
</#list> |
|
fest decimal (14,2) default 0, |
|
verfuegbar decimal (14,2) default 0, |
|
verfuegbar_geld decimal (14,2) default 0, |
|
verfuegbar_misch decimal (14,2) default 0, -- gegen Ansatz bei Haushalt, gegen Geldeingang bei Drittmitteln |
|
verfuegbar_misch_of decimal (14,2) default 0, -- gegen Ansatz bei Haushalt, gegen Geldeingang bei Drittmitteln |
|
--linkbuchhhans <#if SQLdialect='Postgres'>text<#else>lvarchar</#if>, gibt's nicht im Buchungsbericht |
|
linkbuchakts <#if SQLdialect='Postgres'>text<#else>lvarchar</#if>, |
|
linkbuchhhans <#if SQLdialect='Postgres'>text<#else>lvarchar</#if>, |
|
linkbuchhhans_reste <#if SQLdialect='Postgres'>text<#else>lvarchar</#if>, |
|
linkbuchf <#if SQLdialect='Postgres'>text<#else>lvarchar</#if>, |
|
linkbuchaus <#if SQLdialect='Postgres'>text<#else>lvarchar</#if>, |
|
linkbuchein <#if SQLdialect='Postgres'>text<#else>lvarchar</#if> |
|
) <@informixnolog/>; |
|
-- left outer join auf xdummy fügt gegenfalls null als Werte ein, daher kommt unten noch mal update |
|
|
|
-- das Makro |
|
<#macro insert koa> |
|
<#assign koaTemplate = koa.strukturStr?interpret> |
|
<#assign showKLRKostenarten='nein'> --defaultwert wird ggfs. im folgenden Schritt ueberschriebenen |
|
select count(*) from fin_konto_aggr where 1=0 and <@koaTemplate/>; |
|
|
|
<#foreach finanzierungsquelle in TMP_FINANZIERUNGSQUELLEN> |
|
--defaults |
|
<#assign drtitparam='dr'/> |
|
<#assign aktsollausdruck="sum(akt_soll_"+drtitparam+")"/> |
|
<#assign verfuegbarausdruck="sum(verfuegbar_"+drtitparam+")"/> |
|
<#assign drtit="dr"/> --default kann von FInanzierungsquelle überschrieben werden |
|
<#assign inlineTemplate = finanzierungsquelle.strukturStr?interpret> |
|
select 0 from fin_konto_aggr where 1=0 and <@inlineTemplate />; |
|
<#if koa.id!='FIN_KSONSTIGES'&&koa.strukturStr?index_of("titel")>-1||"<<Deckungsring>>"="'no_dr'"><#assign drtit="tit"/></#if> |
|
<#if drtit="tit"||("<<Titel>>"!=""&&Titel?exists)||(koa.id!='FIN_KSONSTIGES'&&koa.strukturStr?index_of("titel")>1)> |
|
<#assign drtitparam='tit'/> |
|
<#assign aktsollausdruck=aktsollausdruck?replace("_dr","_tit")/> |
|
<#assign verfuegbarausdruck=verfuegbarausdruck?replace("_dr","_tit")/> |
|
</#if> |
|
|
|
insert into tmp_roh (koa,titel,monat <#if showKLRKostenarten!='nein'>,fikr</#if> <#if verfuegbar_misch_aktiv>, dritt</#if>, |
|
hhans,reste,akt_soll,akts_plus_vojs,sperr,ausgaben,einnahmen,fest,verfuegbar,verfuegbar_geld) |
|
select '${koa.id}'::char(100),titel,monat <#if showKLRKostenarten!='nein'>,fikr</#if> <#if verfuegbar_misch_aktiv>, dritt</#if>, |
|
sum(hhans_${drtitparam}),sum(reste_${drtitparam}),${aktsollausdruck},sum(akt_soll_${drtitparam})+sum(vojs_${drtitparam}),sum(sperr_${drtitparam}),sum(ausgaben_${drtitparam}), |
|
sum(einnahmen_${drtitparam}),sum(festgelegt_${drtitparam}),${verfuegbarausdruck},sum(verfuegbar_geld) |
|
from fin_konto_aggr where |
|
rechnungsjahr=<<Haushaltsjahr>> |
|
/* and buchungsab_fb in (<<Buchungsab_fb>>) */ |
|
/* and projnr_ins in (<<Projnr_ins>>) */ |
|
/* and ins2 in (<<ins2>>) */ |
|
/* and ins3 in (<<ins3>>) */ |
|
/* and (buchungsab_fb in (<<FB_INS>>) */ |
|
/* or projnr_ins in (<<FB_INS>>) ) */ |
|
/* and titel in (<<Titel>>) */ |
|
<#if "<<Deckungsring>>"="'no_dr'"> |
|
and (dr='' or dr is null) |
|
<#else> |
|
/* and (dr in (<<Deckungsring>>) */ |
|
/* or dr2 in (<<Deckungsring>>)) */ |
|
</#if> |
|
/* and zweckbestimmung_ut in (<<Untertitel>>) */ |
|
/* and sx_butype in (<<sx_butype>>) */ |
|
<#if (Kostenarten.selectionCount>0)> |
|
and fikr in <@printkeys Kostenarten.allNeededKeys /> |
|
</#if> |
|
--Kostenstellenrechte brauchen nicht abgefragt zu werden, wird ggfs. ber Finanzierungsquelle gemacht |
|
and (<@inlineTemplate />) |
|
|
|
and <@koaTemplate/> |
|
group by 1,2,3 <#if showKLRKostenarten!='nein'>,fikr</#if> <#if verfuegbar_misch_aktiv>,dritt</#if>; |
|
</#foreach> |
|
<#if verfuegbar_misch_aktiv> |
|
update tmp_roh set verfuegbar_misch=verfuegbar where dritt=0; |
|
update tmp_roh set verfuegbar_misch=verfuegbar_geld where dritt=1; |
|
</#if> |
|
</#macro> |
|
|
|
<#foreach koa in finkostenarten> |
|
<#if koa.strukturStr?length<2>Achtung - fuer ${koa.id} kein SQL definiert</#if> |
|
<@insert koa=koa/> |
|
</#foreach> |
|
create index tmp_ixroh on tmp_roh(fikr); |
|
|
|
|
|
<#assign sort=1/> |
|
<#foreach koa in finkostenarten> |
|
--defaultwerte falls nicht gewuenscht anders in repository definieren |
|
<#assign showAnsatz='ja'> |
|
<#assign showSperre='ja'> |
|
<#assign showFestgelegt='ja'> |
|
<#assign showVerfuegbar='ja'> |
|
<#assign showKLRKostenart=''/> |
|
<#assign showEinzeltitel='nein'/> |
|
--Variablen ggfs. durch repository Wert ueberschreiben |
|
<#assign inlineTemplate = koa.strukturStr?interpret> |
|
select count(*) from fin_konto_aggr where 1=0 and <@inlineTemplate />; |
|
|
|
<#assign sort=sort+1/> |
|
insert into tmp_erg (koa,name,sortnr,sort2,hhans,reste,akt_soll,akts_plus_vojs,sperr,ausgaben,einnahmen,fest,verfuegbar,verfuegbar_geld,verfuegbar_misch, |
|
linkbuchhhans,linkbuchhhans_reste,linkbuchakts,linkbuchf,linkbuchaus,linkbuchein) |
|
select '${koa.id}'::char(100),'${koa.name}'::char(100),${sort},0, |
|
--hier könnte eigentlich in if show Ansatz rein, aber die Spalten werden standardmäßig eh nicht dargestellt, nur bei entsprechender CUSTOM_888880080 Variable |
|
sum(hhans),sum(reste), |
|
<#if showAnsatz!='nein'>sum(akt_soll),sum(akts_plus_vojs)<#else>null::decimal(14,2),null::decimal(14,2)</#if>, |
|
<#if showSperre!='nein'>sum(sperr)<#else>null::decimal(14,2)</#if>,sum(ausgaben),sum(einnahmen), |
|
<#if showFestgelegt!='nein'>sum(fest)<#else>null::decimal(14,2)</#if>, |
|
<#if showVerfuegbar!='nein'>sum(verfuegbar),sum(verfuegbar_geld),sum(verfuegbar_misch)<#else>null::decimal(14,2),null::decimal(14,2),null::decimal(14,2)</#if>, |
|
'${linkbuch}&FIN-Kostenart=${koa.id}${bhhans}','${linkbuch}&FIN-Kostenart=${koa.id}${bhhans_reste}', |
|
<#if showAnsatz!='nein'>'${linkbuch}&FIN-Kostenart=${koa.id}${bakts}'<#else>null::char(255)</#if>, |
|
<#if showFestgelegt!='nein'>'${linkbuch}&FIN-Kostenart=${koa.id}${bf}'<#else>null::char(255)</#if>, |
|
'${linkbuch}&FIN-Kostenart=${koa.id}${baus}', |
|
'${linkbuch}&FIN-Kostenart=${koa.id}${bein}' |
|
from xdummy left outer join tmp_roh on (koa='${koa.id}'::char(100)) |
|
group by 1,2,3,4; |
|
|
|
<#if showEinzeltitel!='nein'> |
|
<#assign sort=sort+1/> |
|
insert into tmp_erg (ebene,koa,fikr,name,sortnr,sort2,hhans,reste,akt_soll,akts_plus_vojs,sperr,ausgaben,einnahmen,fest,verfuegbar,verfuegbar_geld,verfuegbar_misch, |
|
linkbuchhhans,linkbuchhhans_reste,linkbuchakts,linkbuchf,linkbuchaus,linkbuchein) |
|
select |
|
2, |
|
'${koa.id}'::char(100),'titel',titel,${sort},titel::integer, |
|
--hier könnte eigentlich in if show Ansatz rein, aber die Spalten werden standardmäßig eh nicht dargestellt, nur bei entsprechender CUSTOM_888880080 Variable |
|
sum(hhans),sum(reste), |
|
<#if showAnsatz!='nein'>sum(akt_soll),sum(akts_plus_vojs)<#else>null::decimal(14,2),null::decimal(14,2)</#if>, |
|
<#if showSperre!='nein'>sum(sperr)<#else>null::decimal(14,2)</#if>, |
|
sum(ausgaben), |
|
sum(einnahmen), |
|
<#if showFestgelegt!='nein'>sum(fest)<#else>null::decimal(14,2)</#if>, |
|
<#if showVerfuegbar!='nein'>sum(verfuegbar),sum(verfuegbar_geld),sum(verfuegbar_misch)<#else>null::decimal(14,2),null::decimal(14,2),null::decimal(14,2)</#if>, |
|
'${linkbuch}&FIN-Kostenart=${koa.id}${bhhans}&Titel='||trim(titel),'${linkbuch}&FIN-Kostenart=${koa.id}${bhhans_reste}&Titel='||trim(titel), |
|
<#if showAnsatz!='nein'>'${linkbuch}&FIN-Kostenart=${koa.id}${bakts}&Titel='||trim(titel)<#else>null::char(255)</#if>, |
|
<#if showFestgelegt!='nein'>'${linkbuch}&FIN-Kostenart=${koa.id}${bf}&Titel='||trim(titel)<#else>null::char(255)</#if>, |
|
'${linkbuch}&FIN-Kostenart=${koa.id}${baus}&Titel='||trim(titel), |
|
'${linkbuch}&FIN-Kostenart=${koa.id}${bein}&Titel='||trim(titel) |
|
from tmp_roh where koa='${koa.id}'::char(100) and titel!='' |
|
group by 1,2,3,4,5,6; |
|
|
|
</#if> |
|
-- KLR-Kostenarten muessen jetzt auf Ebene zwei sein, unter Titel nicht vorgesehen |
|
<#if showKLRKostenarten!='nein'> |
|
<#assign sort=sort+1/> |
|
<#assign sort2=1/> |
|
<#foreach klrkoa in Kostenarten.elements> |
|
<#if (Kostenarten.selectionCount==0)> |
|
<#assign klrkoa_ebene=klrkoa.level/> |
|
|
|
<#else> |
|
<#assign klrkoa_ebene=klrkoa.levelFromSelection+2/> |
|
</#if> |
|
|
|
<#if klrkoa.level>=2> |
|
insert into tmp_erg (ebene,koa,fikr,name,sortnr,sort2,hhans,reste,akt_soll,akts_plus_vojs,sperr,ausgaben,einnahmen,fest,verfuegbar,verfuegbar_geld,verfuegbar_misch, |
|
linkbuchakts,linkbuchf,linkbuchaus,linkbuchein) |
|
select |
|
${klrkoa_ebene}, |
|
'${koa.id}'::char(100),'${klrkoa.key}'::char(12),'${klrkoa.name}'::char(150),${sort},${sort2}, |
|
--hier könnte eigentlich in if show Ansatz rein, aber die Spalten werden standardmäßig eh nicht dargestellt, nur bei entsprechender CUSTOM_888880080 Variable |
|
sum(hhans),sum(reste), |
|
<#if showAnsatz!='nein'>sum(akt_soll),sum(akts_plus_vojs)<#else>null::decimal(14,2),null::decimal(14,2)</#if>, |
|
<#if showSperre!='nein'>sum(sperr)<#else>null::decimal(14,2)</#if>, |
|
sum(ausgaben), |
|
sum(einnahmen), |
|
<#if showFestgelegt!='nein'>sum(fest)<#else>null::decimal(14,2)</#if>, |
|
<#if showVerfuegbar!='nein'>sum(verfuegbar),sum(verfuegbar_geld),sum(verfuegbar_misch)<#else>null::decimal(14,2),null::decimal(14,2),null::decimal(14,2)</#if>, |
|
<#if showAnsatz!='nein'>'${linkbuchspezKoa}&FIN-Kostenart=${koa.id}&Kostenarten=${klrkoa.key}${bakts}'<#else>null::char(255)</#if>, |
|
<#if showFestgelegt!='nein'>'${linkbuchspezKoa}&FIN-Kostenart=${koa.id}&Kostenarten=${klrkoa.key}${bf}'<#else>null::char(255)</#if>, |
|
'${linkbuchspezKoa}&FIN-Kostenart=${koa.id}&Kostenarten=${klrkoa.key}${baus}', |
|
'${linkbuchspezKoa}&FIN-Kostenart=${koa.id}&Kostenarten=${klrkoa.key}${bein}' |
|
from tmp_roh where koa='${koa.id}'::char(100) |
|
and fikr in <@printkeys klrkoa.subkeys/> |
|
group by 1,2,3,4,5,6; |
|
<#assign sort2=sort2+1/> |
|
</#if> |
|
</#foreach> |
|
|
|
</#if> |
|
</#foreach> |
|
--Summe fuer KLR_kostenarten einschliesslich untergeordneter |
|
<#foreach klrkoa in Kostenarten.elements> |
|
insert into tmp_fikrsum (koa,fikr,monat,ausgaben,einnahmen) |
|
select koa,'${klrkoa.key}'::char(12),monat,sum(ausgaben),sum(einnahmen) from tmp_roh where fikr in <@printkeys klrkoa.subkeys/> |
|
group by 1,2,3; |
|
</#foreach> |
|
create index tmp_ix1 on tmp_fikrsum (koa,monat); |
|
create index tmp_ix2 on tmp_fikrsum (fikr,monat); |
|
|
|
<#list 1..maxmonat as i> |
|
update tmp_erg set aus${i}=(select sum(ausgaben) from tmp_roh where monat=${i} and tmp_erg.koa=tmp_roh.koa) where ebene=1; |
|
--fuer KLR-Koa |
|
update tmp_erg set aus${i}= |
|
(select sum(ausgaben) from tmp_fikrsum where monat=${i} and tmp_erg.koa=tmp_fikrsum.koa and tmp_erg.fikr=tmp_fikrsum.fikr) where ebene>1; |
|
-- für Einzeltitel |
|
update tmp_erg set aus${i}= |
|
(select sum(ausgaben) from tmp_roh where monat=${i} and tmp_erg.koa=tmp_roh.koa and tmp_erg.name=tmp_roh.titel) where |
|
fikr='titel' and ebene>1; |
|
|
|
update tmp_erg set aus${i}=0 where aus${i} is null; |
|
</#list> |
|
|
|
drop table tmp_fikrsum; |
|
drop table tmp_roh; |
|
|
|
--update tmp_erg set akt_soll=0 where akt_soll is null; |
|
--update tmp_erg set sperr=0 where sperr is null; |
|
update tmp_erg set ausgaben=0 where ausgaben is null; |
|
--update tmp_erg set fest=0 where fest is null; |
|
--update tmp_erg set verfuegbar=0 where verfuegbar is null; |
|
update tmp_erg set name=(select max(ktobez) from fin_titel where tmp_erg.name=fin_titel.titel and fin_titel.jahr=<<Haushaltsjahr>>) |
|
where fikr='titel'; |
|
|
|
<@selectintotmp source="tmp_erg" target="tmp_erg2" select="*"/><@informixnolog/>; |
|
<#if finkostenarten?size>1> |
|
insert into tmp_erg2 (name,sortnr,linkbuchhhans,linkbuchhhans_reste,linkbuchakts,linkbuchf,linkbuchaus,linkbuchein,hhans, |
|
akt_soll,akts_plus_vojs,sperr,<#list 1..maxmonat as i>aus${i},</#list>ausgaben,einnahmen,fest,verfuegbar,verfuegbar_geld, |
|
verfuegbar_misch) |
|
select 'Summe'::char(5),${sort+1}, |
|
<#if showAnsatz!='nein'>'${linkbuch}${bhhans}'<#else>null::char(255)</#if>, |
|
<#if showAnsatz!='nein'>'${linkbuch}${bhhans_reste}'<#else>null::char(255)</#if>, |
|
<#if showAnsatz!='nein'>'${linkbuch}${bakts}'<#else>null::char(255)</#if>, |
|
<#if showFestgelegt!='nein'>'${linkbuch}${bf}'<#else>null::char(255)</#if>, |
|
'${linkbuch}${baus}', |
|
'${linkbuch}${bein}' |
|
,sum(hhans),sum(akt_soll),sum(akts_plus_vojs),sum(sperr), |
|
<#list 1..maxmonat as i>sum(aus${i}),</#list>sum(ausgaben),sum(einnahmen),sum(fest),sum(verfuegbar),sum(verfuegbar_geld),sum(verfuegbar_misch) from tmp_erg |
|
where ebene=1 group by 1,2,3,4,5,6; |
|
</#if> |
|
update tmp_erg2 set gesamtausgaben=(select sum(ausgaben) from tmp_erg where ebene=1); |
|
update tmp_erg2 set prozent=(ausgaben/gesamtausgaben)*100 where gesamtausgaben is not null and gesamtausgaben!=0; |
|
drop table tmp_erg; |
|
|
|
update tmp_erg2 set verfuegbar_misch_of=verfuegbar_misch+fest; |
|
|
|
update tmp_erg2 set hhans=0 where hhans is null; |
|
update tmp_erg2 set reste=0 where reste is null; |
|
update tmp_erg2 set hhans_reste=hhans+reste; |
|
update tmp_erg2 set akt_soll=0 where akt_soll is null; |
|
update tmp_erg2 set sperr=0 where sperr is null; |
|
update tmp_erg2 set akts_plus_vojs=0 where akts_plus_vojs is null; |
|
update tmp_erg2 set ausgaben=0 where ausgaben is null; |
|
update tmp_erg2 set einnahmen=0 where einnahmen is null; |
|
update tmp_erg2 set fest=0 where fest is null; |
|
update tmp_erg2 set verfuegbar=0 where verfuegbar is null; |
|
update tmp_erg2 set verfuegbar_geld=0 where verfuegbar_geld is null; |
|
update tmp_erg2 set verfuegbar_misch=0 where verfuegbar_misch is null; |
|
update tmp_erg2 set verfuegbar_misch_of=0 where verfuegbar_misch_of is null; |
|
|
|
<#if Username?starts_with("demo")> |
|
<#function rand min max> |
|
<#assign objectConstructor = "freemarker.template.utility.ObjectConstructor"?new()> |
|
<#local n1 = objectConstructor("java.util.Date")> |
|
<#local n2 = n1.getTime()/> |
|
<#local now=n2?string /> |
|
<#local leng=now?length/> |
|
<#local randomNum=0.36+("0."+now[(leng-1)]+now[(leng-2)..(leng-1)])?number/> |
|
<#if (randomNum > 1)> |
|
<#assign _rand = randomNum % 1 /> |
|
<#else> |
|
<#assign _rand = randomNum /> |
|
</#if> |
|
<#return (min + ((max - min) * _rand))/> |
|
</#function> |
|
<#assign zufall=rand(3,9)?string?replace(",",".")/> |
|
update tmp_erg2 set hhans=hhans*${zufall} , |
|
sperr=sperr*${zufall} , |
|
akt_soll=akt_soll*${zufall} , |
|
akts_plus_vojs=akts_plus_vojs*${zufall} , |
|
einnahmen =einnahmen*${zufall}, |
|
ausgaben=ausgaben*${zufall}, |
|
<#list 1..maxmonat as i>aus${i}=aus${i}*${zufall},</#list> |
|
verfuegbar=verfuegbar*${zufall} , |
|
verfuegbar_geld=verfuegbar_geld*${zufall}, |
|
verfuegbar_misch=verfuegbar_misch*${zufall}, |
|
verfuegbar_misch_of=verfuegbar_misch_of*${zufall}; |
|
|
|
</#if> |
|
|
|
<#list 1..maxmonat as i> |
|
update tmp_erg2 set linkbuchaus${i}=linkbuchaus||'&Monat=${i}'; |
|
</#list> |
|
|
|
|
|
<#if customize?exists> |
|
-- wenn das Feld nicht versteckt ist, muss Link gekürzt werden |
|
<#foreach f in customize.resulttable> |
|
<#if f.field?index_of("linkbuchhhans")>-1&&f.field?index_of("hidden")==-1> |
|
update tmp_erg2 set linkbuchhhans=replace(linkbuchhhans,'SuperXmlTabelle?tid=',''); |
|
update tmp_erg2 set linkbuchhhans_reste=replace(linkbuchhhans_reste,'SuperXmlTabelle?tid=',''); |
|
</#if> |
|
<#if f.field?index_of("linkbuchakts")>-1&&f.field?index_of("hidden")==-1> |
|
update tmp_erg2 set linkbuchakt=replace(linkbuchakts,'SuperXmlTabelle?tid=',''); |
|
</#if> |
|
<#if f.field?index_of("linkbuchf")>-1&&f.field?index_of("hidden")==-1> |
|
update tmp_erg2 set linkbuchf=replace(linkbuchf,'SuperXmlTabelle?tid=',''); |
|
</#if> |
|
<#if f.field?index_of("linkbuchaus")>-1&&f.field?index_of("hidden")==-1> |
|
update tmp_erg2 set linkbuchaus=replace(linkbuchaus,'SuperXmlTabelle?tid=',''); |
|
</#if> |
|
<#if f.field?index_of("linkbuchein")>-1&&f.field?index_of("hidden")==-1> |
|
update tmp_erg2 set linkbuchein=replace(linkbuchein,'SuperXmlTabelle?tid=',''); |
|
</#if> |
|
</#foreach> |
|
|
|
|
|
|
|
select <#foreach f in customize.resulttable> |
|
<#if f.caption='Ausgaben'> |
|
<#if Finanzierungsquelle!='FIN_EINNAHMEN'> |
|
<#list 1..maxmonat as i>aus${i},</#list> ausgaben, |
|
<#list 1..maxmonat as i>linkbuchaus${i} as hidden_aus${i},</#list> linkbuchaus as hidden_ausgaben, |
|
</#if> |
|
<#else> |
|
<#if !f.field?starts_with("linkbuchaus")||Finanzierungsquelle!='FIN_EINNAHMEN'> |
|
${f.field} <#if f_has_next>,</#if> |
|
</#if> |
|
</#if> |
|
</#foreach> |
|
from tmp_erg2 order by sortnr,sort2,name; |
|
<#else> |
|
select ebene,name,akt_soll,einnahmen,sperr, |
|
<#if Finanzierungsquelle!='FIN_EINNAHMEN'> |
|
<#list 1..maxmonat as i>aus${i},</#list> ausgaben, |
|
<#list 1..maxmonat as i>linkbuchaus${i} as hidden_aus${i},</#list> linkbuchaus as hidden_ausgaben, |
|
</#if> |
|
fest, verfuegbar, |
|
linkbuchakts as hidden_akt_soll, linkbuchf as hidden_fest, |
|
linkbuchein as hidden_einnahmen |
|
from tmp_erg2 order by sortnr,sort2,name; |
|
</#if>]]></text> |
|
<text table="maskeninfo" field="xil_proplist" where="tid=888880080"><![CDATA[XIL List |
|
--Freemarker Template |
|
<#include "SQL_lingua_franca"/> |
|
<#include "SuperX_general"/> |
|
<#assign monate=["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]/> |
|
|
|
<sqlvars> |
|
<sqlvar name="maxmonat">select month(today()) from xdummy where year(today())=<<Haushaltsjahr>> union select 12 from xdummy where year(today())!=<<Haushaltsjahr>></sqlvar> |
|
</sqlvars> |
|
sizable_columns horizontal_scrolling |
|
white_space_color=COLOR_WHITE |
|
fixed_columns=2 |
|
min_heading_height=35 |
|
<#if CUSTOM_888880080?exists> |
|
<#assign inlineTemplate=CUSTOM_888880080?interpret> |
|
<@inlineTemplate/> |
|
</#if> |
|
<#if customize?exists> |
|
<#foreach f in customize.resulttable> |
|
<#if f.caption='Ausgaben'> |
|
<#if Finanzierungsquelle!='FIN_EINNAHMEN'> |
|
<#list 1..maxmonat as i> |
|
Column CID=0 heading_text="Ausgaben\000${monate[i-1]}" explanation="" center_heading row_selectable heading_platform readonly width=10 text_size=10 |
|
</#list> |
|
Column CID=0 heading_text="Ausgaben\000GESAMT" explanation="" center_heading row_selectable heading_platform readonly width=10 text_size=10 |
|
</#if> |
|
<#list 1..maxmonat as i> |
|
Column CID=0 heading_text="hidden_Ausgaben${monate[i-1]}" explanation="" center_heading row_selectable heading_platform readonly width=1 text_size=10 |
|
</#list> |
|
Column CID=0 heading_text="hidden_Ausgaben" explanation="" center_heading row_selectable heading_platform readonly width=10 text_size=1 |
|
<#else> |
|
<#if !f.field?starts_with("linkbuchaus")||Finanzierungsquelle!='FIN_EINNAHMEN'> |
|
Column CID=2 heading_text="${f.caption}" explanation="" center_heading |
|
row_selectable col_selectable heading_platform readonly width=${f.width} |
|
</#if> |
|
</#if> |
|
</#foreach> |
|
|
|
<#else> |
|
Column CID=0 heading_text="Ebene" explanation="" center_heading |
|
row_selectable heading_platform readonly |
|
width=8 text_size=8 |
|
Column CID=0 heading_text="Kostenart" explanation="" center_heading |
|
row_selectable heading_platform readonly |
|
width=30 text_size=30 |
|
Column CID=0 heading_text="Ansatz inkl.Reste" explanation="" center_heading |
|
row_selectable heading_platform readonly |
|
width=10 text_size=10 |
|
Column CID=0 heading_text="Einnahmen" explanation="" center_heading |
|
row_selectable heading_platform readonly |
|
width=10 text_size=10 |
|
Column CID=0 heading_text="Sperre" explanation="" center_heading |
|
row_selectable heading_platform readonly |
|
width=10 text_size=10 |
|
<#if Finanzierungsquelle!='FIN_EINNAHMEN'> |
|
<#list 1..maxmonat as i> |
|
Column CID=0 heading_text="Ausgaben\000${monate[i-1]}" explanation="" center_heading |
|
row_selectable heading_platform readonly |
|
width=10 text_size=10 |
|
</#list> |
|
</#if> |
|
Column CID=0 heading_text="Ausgaben\000GESAMT" explanation="" center_heading |
|
row_selectable heading_platform readonly |
|
width=10 text_size=10 |
|
<#list 1..maxmonat as i> |
|
Column CID=0 heading_text="hidden_Ausgaben${monate[i-1]}" explanation="" center_heading row_selectable heading_platform readonly width=1 text_size=10 |
|
</#list> |
|
Column CID=0 heading_text="hidden_Ausgaben" explanation="" center_heading row_selectable heading_platform readonly width=10 text_size=1 |
|
Column CID=0 heading_text="Festgelegt" explanation="" center_heading |
|
row_selectable heading_platform readonly |
|
width=12 text_size=12 |
|
Column CID=0 heading_text="Verfügbar" explanation="" center_heading |
|
row_selectable heading_platform readonly |
|
width=12 text_size=12 |
|
Column CID=0 heading_text="Buchungen\nAnsatz" explanation="" center_heading |
|
row_selectable heading_platform readonly |
|
width=12 text_size=12 |
|
Column CID=0 heading_text="Buchungen\nFestgelegt" explanation="" center_heading |
|
row_selectable heading_platform readonly |
|
width=12 text_size=12 |
|
<#if Finanzierungsquelle!='FIN_EINNAHMEN'> |
|
Column CID=0 heading_text="Buchungen\nAusgaben" explanation="" center_heading |
|
row_selectable heading_platform readonly |
|
width=12 text_size=12 |
|
</#if> |
|
Column CID=0 heading_text="Buchungen\nEinnahmen" explanation="" center_heading |
|
row_selectable heading_platform readonly |
|
width=12 text_size=12 |
|
</#if>]]></text> |
|
<text table="maskeninfo" field="erlaeuterung" where="tid=888880080"><![CDATA[Übersicht über Verteilung nach Kostenarten für Haushaltsbudgets]]></text> |
|
<text table="maskeninfo" field="hinweis" where="tid=888880080"><![CDATA[<<SQL>> |
|
--freemarker template |
|
select 'Achtung Demodaten' from xdummy where 1=0 <#if Username?starts_with("demo")> or 1=1</#if>]]></text> |
|
<text table="felderinfo" field="relation" where="tid=888880080"><![CDATA[<<SQL>> SELECT distinct ord,name FROM aggregierung where kategorie='FIN-Jahr' and ord>=2020 order by 1 DESC;]]></text> |
|
<text table="felderinfo" field="relation" where="tid=888880081"><![CDATA[<<SQL>> select kapitel,ktobez from fin_kapitel where 1=1 /* and jahr=<<Haushaltsjahr>> */ order by ktobez]]></text> |
|
<text table="felderinfo" field="relation" where="tid=888880082"><![CDATA[<<SQL>> select id,caption from sx_repository where art='FIN_FINANZIERUNGSQUELLE' and aktiv=1 and gueltig_seit<=date_val('1.1.<<Haushaltsjahr>>') and gueltig_bis>=date_val('31.12.<<Haushaltsjahr>>')]]></text> |
|
<text table="felderinfo" field="relation" where="tid=888880083"><![CDATA[<<SQL>> |
|
--freemarker template |
|
select distinct titel,ktobez from fin_titel where 1=1 /* and jahr=<<Haushaltsjahr>> */ /* and kapitel=<<Kapitel>> */ |
|
<#if "<<Deckungsring>>"="'no_dr'"> |
|
and (dr='' or dr is null) |
|
<#else> |
|
/* and (dr in (<<Deckungsring>>) */ |
|
/* or dr2 in (<<Deckungsring>>)) */ |
|
</#if> |
|
order by ktobez]]></text> |
|
<text table="felderinfo" field="relation" where="tid=888880084"><![CDATA[<<SQL>> select tid,type,name from sichten where art='FIN-Kostenstellen-Sicht' and aktiv=1 order by type,tid]]></text> |
|
<text table="felderinfo" field="relation" where="tid=888880085"><![CDATA[<<SQL>> |
|
<#assign template = FIN_DRITTMITTELPROJEKTE?interpret> |
|
<@template/> |
|
--erwartet drittmittelstartjahr und drittmittelprojektebedingung |
|
select distinct buchungsab_fb,trim(buchungsab_fb)||'-'||max(ktobez) from fin_buchab_fb where jahr=<<Haushaltsjahr>> |
|
/* and kapitel in (<<Kapitel>>) */ |
|
<#if "<<Deckungsring>>"="'no_dr'"> |
|
and (dr='' or dr is null) |
|
<#else> |
|
/* and (dr in (<<Deckungsring>>) */ |
|
/* or dr2 in (<<Deckungsring>>)) */ |
|
</#if> |
|
/* and titel in (<<Titel>>) */ |
|
/* and zweckbestimmung_ut in (<<Untertitel>>) */ |
|
and ${SxFinRechte("K1","31.12.<<Haushaltsjahr>>","","","","")} |
|
and not (${drittmittelprojektebedingung}) |
|
group by 1 |
|
union |
|
select distinct projnr_ins,trim(projnr_ins)||'-'||max(ktobez) from fin_projnr_ins where jahr=<<Haushaltsjahr>> |
|
/* and kapitel in (<<Kapitel>>) */ |
|
/* and (dr in (<<Deckungsring>>) */ |
|
/* or dr2 in (<<Deckungsring>>)) */ |
|
/* and titel in (<<Titel>>) */ |
|
/* and zweckbestimmung_ut in (<<Untertitel>>) */ |
|
and ${SxFinRechte("K2","31.12.<<Haushaltsjahr>>","","","","","")} |
|
and not (${drittmittelprojektebedingung}) |
|
group by 1 order by 1;]]></text> |
|
<text table="felderinfo" field="relation" where="tid=888880086"><![CDATA[<<SQL>> |
|
--freemarker template |
|
select distinct buchungsab_fb,trim(buchungsab_fb)||'-'||max(ktobez) from fin_buchab_fb where jahr=<<Haushaltsjahr>> |
|
/* and kapitel in (<<Kapitel>>) */ |
|
<#if "<<Deckungsring>>"="'no_dr'"> |
|
and (dr='' or dr is null) |
|
<#else> |
|
/* and (dr in (<<Deckungsring>>) */ |
|
/* or dr2 in (<<Deckungsring>>)) */ |
|
</#if> |
|
|
|
and ${SxFinRechte("K1","31.12.<<Haushaltsjahr>>","","","","")} |
|
group by 1 order by 1]]></text> |
|
<text table="felderinfo" field="relation" where="tid=888880087"><![CDATA[<<SQL>> |
|
--Freemarker Template |
|
<#include "SQL_lingua_franca"/> |
|
select distinct projnr_ins,trim(projnr_ins)||'-'||max(ktobez) from fin_projnr_ins where jahr=<<Haushaltsjahr>> |
|
/* and kapitel in (<<Kapitel>>) */ |
|
/* and (dr in (<<Deckungsring>>) */ |
|
/* or dr2 in (<<Deckungsring>>)) */ |
|
/* and buchungsab_fb in (<<Buchungsab_fb>>) */ |
|
and ${SxFinRechte("K2","31.12.<<Haushaltsjahr>>","","","","","")} |
|
group by 1 order by 1;]]></text> |
|
<text table="felderinfo" field="relation" where="tid=888880088"><![CDATA[<<SQL>> |
|
--Freemarker Template |
|
select ins2,trim(ins2)||'-'||max(ktobez) from fin_ins2 where |
|
${SxFinRechte("K3","31.12.<<Haushaltsjahr>>","","","","","")} |
|
/* and jahr=<<Haushaltsjahr>> */ |
|
/* and kapitel in (<<Kapitel>>) */ |
|
<#if "<<Deckungsring>>"="'no_dr'"> |
|
and (dr='' or dr is null) |
|
<#else> |
|
/* and (dr in (<<Deckungsring>>) */ |
|
/* or dr2 in (<<Deckungsring>>)) */ |
|
</#if> |
|
/* and buchungsab_fb in (<<Buchungsab_fb>>) */ |
|
/* and projnr_ins in (<<Projnr_ins>>) */ |
|
group by 1 order by 1;]]></text> |
|
<text table="felderinfo" field="relation" where="tid=888880089"><![CDATA[<<SQL>> |
|
--Freemarker Template |
|
select ins3,trim(ins3)||'-'||max(ktobez) from fin_ins3 |
|
where |
|
${SxFinRechte("K4","31.12.<<Haushaltsjahr>>","","","","","")} |
|
/* and jahr=<<Haushaltsjahr>> */ |
|
/* and kapitel=<<Kapitel>> */ |
|
<#if "<<Deckungsring>>"="'no_dr'"> |
|
and (dr='' or dr is null) |
|
<#else> |
|
/* and (dr in (<<Deckungsring>>) */ |
|
/* or dr2 in (<<Deckungsring>>)) */ |
|
</#if> |
|
/* and titel in (<<Titel>>) */ |
|
/* and zweckbestimmung_ut in (<<Untertitel>>) */ |
|
/* and buchungsab_fb in (<<Buchungsab_fb>>) */ |
|
/* and projnr_ins in (<<Projnr_ins>>) */ |
|
/* and ins2 in (<<ins2>>) */ |
|
group by 1 order by 1]]></text> |
|
<text table="felderinfo" field="relation" where="tid=888880090"><![CDATA[<<SQL>> |
|
|
|
--freemarker template |
|
select distinct zweckbestimmung_ut,ktobez from fin_zweck_ut where 1=1 /* and jahr=<<Haushaltsjahr>> */ /* and kapitel=<<Kapitel>> */ |
|
<#if "<<Deckungsring>>"="'no_dr'"> |
|
and (dr='' or dr is null) |
|
<#else> |
|
/* and (dr in (<<Deckungsring>>) */ |
|
/* or dr2 in (<<Deckungsring>>)) */ |
|
</#if> |
|
/* and titel in (<<Titel>>) */ order by ktobez]]></text> |
|
<text table="felderinfo" field="relation" where="tid=888880091"><![CDATA[<<SQL>> select tid,type,name,sortnr from sichten where art='FIN-Kosten-/Erlösarten-Sicht' and aktiv=1 order by sortnr,type,name]]></text> |
|
<text table="felderinfo" field="relation" where="tid=888880092"><![CDATA[<<SQL>> select tid,type,name,sortnr from sichten where art='FIN-Kostenträger-Sicht' and aktiv=1 order by sortnr,type,name]]></text> |
|
<text table="felderinfo" field="relation" where="tid=888880093"><![CDATA[<<SQL>>select tid,type,name,sortnr from sichten where art ='Geldgeber-Sicht (FIN)' and aktiv=1 order by sortnr,type,name;]]></text> |
|
<text table="felderinfo" field="relation" where="tid=888880094"><![CDATA[<<SQL>> select distinct kapitel,ktobez from fin_kapitel where jahr=<<Haushaltsjahr>> order by ktobez]]></text> |
|
<text table="felderinfo" field="relation" where="tid=888880095"><![CDATA[<<SQL>> select distinct dr,ktobez from fin_dr where 1=1 /* and jahr=<<Haushaltsjahr>> */ /* and kapitel=<<Kapitel>> */ |
|
union select 'no_dr','Keine Titelgruppe' from xdummy |
|
order by ktobez]]></text> |
|
<text table="felderinfo" field="relation" where="tid=888880096"><![CDATA[<<SQL>> select tid,name,sortnr from sichten where art='Buchungstyp-Sicht' and aktiv=1 order by sortnr,name]]></text> |
|
<text table="felderinfo" field="relation" where="tid=888880097"><![CDATA[]]></text> |
|
<text table="felderinfo" field="relation" where="tid=888880098"><![CDATA[<<SQL>> select 'FIN_KOSTENART','FIN_KOSTENART' from xdummy union select 'FIN_KOSTENART2','FIN_KOSTENART2' from xdummy]]></text> |
|
</xupdate>
|
|
|