Verschillen
Dit geeft de verschillen weer tussen de geselecteerde revisie en de huidige revisie van de pagina.
Vorige revisie | |||
— | openwave:1.31:applicatiebeheer:instellen_inrichten:schermdefinitie [Ongeldige datum] (huidige) – Externe bewerking (Ongeldige datum) 127.0.0.1 | ||
---|---|---|---|
Regel 1: | Regel 1: | ||
+ | ====== Scherm(kolom)definitie ====== | ||
+ | {{tag> | ||
+ | Portal beheerportaal-NIEUW, | ||
+ | Screenidentifiers: | ||
+ | * MDLC_getScreenColumnsRapportageList.xml en MDDC_getScreenColumnsRapportageDetail.xml | ||
+ | * MDLC_getScreenColumnsTabellenStandaardApiList.xml en MDDC_getScreenColumnsTabellenStandaardApiDetail.xml | ||
+ | * MDLC_getScreenColumnsTabellenOWApiList.xml en MDDC_getScreenColumnsTabellenOWApiDetail.xml | ||
+ | |||
+ | ===== Waar komt de kolominformatie van OpenWave lijst- filter en detail schermen vandaan ===== | ||
+ | Elke lijst- filter-of detailscherm of standaardinsert-scherm heeft een eigen identifier. Voor de lijst- en detailschermen is deze identifier zichtbaar wanneer rechtsonder in het scherm op het in zacht grijs weergegeven regeltje met de versie-informatie wordt geklikt. Er verschijnt een ballonnetje met drie gegevens: screensource (aar of tbscreencolumns) en screenidentifier (een unieke xml-benaming voor elke scherm, bijv:// MDDC_getMilCodeBwlDetail.xml// | ||
+ | * **AAR**. In dat geval komt de schermkolominformatie uit de API-zelf. Dit is het geval wanneer het programma constateert dat er geen gevuld afwijkend scherm (de kolom dvscreenxml) in de tabel tbscreencolumns is gevonden bij de getoonde screenidentifier. De waarde van die identifier zoekt het programma in de kolom dvscreenfilename van die tabel tbscreencolumns. Deze tabel wordt bij database-updates vanzelf van de mogelijke screenidentifiers voorzien. De gebruiker ziet het scherm zoals door Rem standaard uitgeleverd | ||
+ | * **tbscreencolumns**. De beheerder heeft zelf een scherm aangepast. In dit geval komt de schermkolominformatie wel uit de kolom dvscreenxml van tbscreencolumns waarbij de waarde van de kolom dvscreenfilename overeenkomt met de getoonde identifier. Deze kolom dvscreenxml is gevuld met een xml-string waarin alle kolommen en labels van het scherm zijn gedefinieerd (daarover gaat de rest van deze hoofdstukken). De gebruiker ziet een aangepast scherm. Ook als bij een update Rem zelf een gewijzigd scherm meelevert in de AAR is dat niet zichtbaar: het zelf aangepaste scherm prevaleert. | ||
+ | * **fileserver**. Deze situatie kan alleen voorkomen in het lab van Rem Automatisering. Het programma zoekt op de fileserver naar een xml-file met de naam van de identifier indien zoeken binnen tbscreencolumns niets heeft opgeleverd. Deze xml-file bevat de scherminformatie op dezelfde manier als hierboven. De kolom //Tekst// van instelling //Sectie: OWB en Item: FlexRootmap// | ||
+ | |||
+ | Indien deze informatie wordt opgevraagd bij een **rapportlijst** dan zijn er twee mogelijkheden: | ||
+ | * De maker van het rapport heeft geen apart scherm gedefinieerd - dus de lijst is de exacte representatie van de SQL die aan het rapport ten grondslag ligt. In dat geval wordt als screensource de tekst // | ||
+ | * Als er wel een scherm is gedefinieerd bij het definiëren van een rapport, dan bestaat er een kaart in tbscreencolumns met initieel in de kolom dvscreencolumns.dvdescription de naam van het rapport. In dit geval wordt als screensource de tekst // | ||
+ | |||
+ | De screenidentifier voor de filteropties bij een lijst heeft dezelfde naam als die van de lijst met uitzondering van de prefix. Bij een lijst is dat MDLC_ en bij de definitie van het filter MDFC_. | ||
+ | |||
+ | De screenidentifier voor een standaardinsert-of kopieerscherm begint in ieder geval met de prefix ' | ||
+ | |||
+ | Paging voor de lijstschermen wordt geregeld door de instelling //Getal1// van //Sectie: Paging en Item: Page_Size// (defaultwaarde = 100). | ||
+ | |||
+ | ===== Aanpassen van standaard OpenWave schermen ===== | ||
+ | |||
+ | De inlogger moet beheerrechten hebben: tbmedewerker.dnbeheerniveau = 99 om de tabel met scherminformatie tbscreencolumns te benaderen. | ||
+ | |||
+ | In deze tabel zijn alle lijst-filter- en detailschermen gedefinieerd met een unieke scherm-identifier: | ||
+ | Aan de voorkant kan op dus op elk scherm rechtsonder de screenidentifier en de klasse zichtbaar gemaakt worden. De scherminformatie kan vervolgens opgezocht worden in het (nieuwe) beheerportaal onder de kolom //Scherm- en Tegelbeheertegel// | ||
+ | |||
+ | Naast alles lijst- en detail- en filter en insertschermen kunnen in deze tabel - maar hoeft niet - voor één of meer rapportages kaarten aangemaakt zijn teneinde de kolommen van die rapportage beter op te kunnen maken. Zie trigger //maak schermdefinitie// | ||
+ | |||
+ | De tabel is en wordt gevuld met de updatescripts van databasewijzigingen. Schermen onder de SysStandard-klasse (lijst, detail, filter en insertschermen) kunnen door functioneel beheerders worden aangemaakt: in dat geval moet het scherm opgeslagen worden in de kolom // | ||
+ | |||
+ | Bestaande schermen (ongeacht de klasse) kunnen aangepast worden door met de knop //Haal Origineel// onderaan het detailscherm van de schermdefinitie de schermopmaak binnen te halen in de kolom // | ||
+ | |||
+ | ===== De betekenis van de kolommen ===== | ||
+ | |||
+ | Alle kolommen (behalve de niet muteerbare: zie hieronder) en knoppen zijn dan toegankelijk. | ||
+ | * **systeemcategorie**. Codetabel tbsysstandardcategorie (beheertegel // | ||
+ | * **Systeem**. Niet aanpasbaar. Indien aangevinkt dan kan Rem bij een systeemupdate het scherm overschrijven. | ||
+ | * **Klasse**. Niet muteerbaar. Is categorie ten behoeve van de indeling van de schermen. Loopt gelijk met de indeling van de API's. | ||
+ | * **API** Niet muteerbaar. Is de naam van de API die de scherminformatie verzamelt en verwerkt in een standaard gestructureerde xml-file richting front/end webserver die de pagina' | ||
+ | * **View/ | ||
+ | * **Identifier scherm**. Niet muteerbaar. Dit is de unieke id van het scherm uitgedrukt als een betekenisvolle (xml)-filenaam. Ook deze is leeg indien het gaat om een rapportage. | ||
+ | * **Identifier rapport**. Niet muteerbaar. Een rapportage wordt geïdentificeerd door de dnkey van de tabel tbrapportages. | ||
+ | * **Toelichting** Vrij in te voeren. Wordt soms ook gevuld aangeleverd bijvoorbeeld in die situaties dat er meerdere schermvarianten zijn voor een bepaalde invoer-toepassing op grond van rechten of instellingen: | ||
+ | * **Zoekkolommen**. Is alleen van toepassing voor lijstschermen. Indien het lijstscherm een zoekbox onderin vertoont, dan is het default gedrag van die zoekbox dat de ingevoerde waarde gezocht wordt op alle stringkolommen van de bijbehorende view/tabel. Dat zijn de kolommen waarvan de kolomnaam begint met ' | ||
+ | * **Lijst automatisch in editmode** (dleditlist). Indien aangevinkt zal de lijst editable zijn voor die kolommen die zelf de tag < | ||
+ | * **Excelknop onderaan lijst**. Indien aangevinkt zal linksonder op de betreffende lijst een Excel knop verschijnen, | ||
+ | * **Paging met paginanummers** Aangevinkt betekent dat altijd paging in de lijst rechtsboven operationeel is mits het aantal items groter dan //Getal1// van //Sectie: Paging en Item: page_size// | ||
+ | * **Default sortering**. Is alleen van toepassing voor lijstschermen. Een valide SQL sorteringsstatement kan hier worden opgegeven. De lijst wordt bij het opstarten hierop gesorteerd. Bijvoorbeeld ' | ||
+ | * **Detailscherm openen na insert**. Dit geldt alleen voor bepaalde schermen die door de interne OW-API worden benaderd. Het al of niet automatisch openen van een detailscherm na een insert bij een systandaardtabel is geregeld bij de definitie van de standaardtabel. Indien aangevinkt en het scherm is hieronder genoemd, dan zal na een insert het detailscherm automatisch openen. | ||
+ | * nieuwe activiteit bij een omgevingzaak: | ||
+ | * nieuwe overtreding bij een inspectietraject: | ||
+ | * nieuwe bezwaar/ | ||
+ | * nieuwe SWF-ruimte: tbscreencolumns.dvscreenfilename = // | ||
+ | * nieuw inspectiebezoek bij een inspectietraject: | ||
+ | * nieuwe legesregel: tbscreencolumns.dvscreenfilename = // | ||
+ | * nieuwe projectlocatie: | ||
+ | * nieuw inspectietraject: | ||
+ | * nieuw advies: tbscreencolumns.dvscreenfilename = // | ||
+ | * ** Volgorde van kolommen (kolomnamen gescheiden door #) ** Indien gevuld en de kolom dvscreenxml is leeg en het gaat om een lijstscherm, | ||
+ | * ** dllistcolumnsaanvullen**. Indien aangevinkt dan worden de kolomlijst //Volgorde van kolommen// automatisch aangevuld met de ontbrekende kolommen. | ||
+ | * **Editschuif automatisch aan**. Is alleen van toepassing voor detailschermen. Indien aangevinkt zal het openen van het betreffende scherm gebeuren met de editschuif op AAN ongeacht de default instelling (zie: [[openwave: | ||
+ | * **Blokvolgorde** (dvblokvolgordedetail). Alleen van toepassing op detailschermen. Zonder de opmaak-xml van het scherm te veranderen (dus bij lege kolom dvscreenxml) kan hier een afwijkende volgorde van de blokken worden opgegeven. Zie hieronder onder kopje // | ||
+ | * ** Blok ingeklapt/ | ||
+ | * **sql kopregel1, kopregel2** en **kopregel3**. Indien gevuld met een valide SQL-statement worden de resultaten van die statements gebruikt voor de drie kopregels van het scherm (de bestaande waardes worden hiermee overschreven). Aan de query' | ||
+ | * het resultaat van een query ( dus de evaluatie van het select-statement) mag maar uit één kolom en één rij bestaan | ||
+ | * EN de query moet met ' | ||
+ | * EN er mag GEEN puntkomma (';' | ||
+ | * //: | ||
+ | * //{id}// wordt vervangen met de dnkey van tbomgvergunning of tbhandhavingen of tbmilinrichtingen of tbovvergunningen of tbmilvergunningen wanneer het statement gebruikt wordt op achterliggende schermen van een zaak- of inrichtingportaaltegel en/of door de primary key van de lijst waar vanuit een detailscherm wordt aangeroepen. | ||
+ | * **Kolominformatie** (dvscreenxml). Indien gevuld wordt de informatie in deze kolom gebruikt om een afwijkend scherm op te maken. Met de trigger //Haal Origineel// kan altijd het standaard uitgeleverde scherm worden opgehaald uit de aar (de OpenWave programmatuur) teneinde deze dus als afwijkend scherm aan te passen. Indien deze kolom leeg is, dan gebruikt het programma altijd de standaardversie van het scherm of rapport. Met F11 wordt de kolom weergegeven in een groot scherm met ondersteuning voor de xml-syntax. Met F11 kan nadien ook weer teruggekeerd worden naar normale modus. Voor de betekenis en gebruik van de xml-structuur in deze kolom zie: | ||
+ | * [[openwave: | ||
+ | * [[openwave: | ||
+ | * [[openwave: | ||
+ | * [[openwave: | ||
+ | |||
+ | ===== Kolomvolgorde lijstscherm ===== | ||
+ | De kolomvolgorde wordt bepaald door de volgorde van de tags in de MDLC_xxx.xml | ||
+ | Daar kan van afgeweken worden door (in het beheerportaal) de kolom dvkolomvolgordelijst van de betreffende kaart tbscreenxml te vullen.\\ | ||
+ | Zie [[openwave: | ||
+ | |||
+ | ===== Blokvolgorde detailscherm ===== | ||
+ | |||
+ | Achter de kolom // | ||
+ | |||
+ | <adm Voorbeeld> | ||
+ | Het detailscherm met identifier: MDDC_geefOmgActiviteitDetail.xml (onderdelen/ | ||
+ | * Onderdeel | ||
+ | * DSO; identifiers | ||
+ | * Gebouw- en; gebruik; | ||
+ | * Voortgang | ||
+ | * Geldigheid | ||
+ | * Kosten | ||
+ | * ROEB | ||
+ | * DSO Specificaties | ||
+ | Om nu het blok DSO Specificaties niet als achtste, maar als tweede te tonen, waarbij de overige blokken hun plaats behouden, moet de kolom blokvolgorde (tbscreencolumns.dvblokvolgordedetail) gevuld worden met: // | ||
+ | </ | ||
+ | <adm warning> | ||
+ | Indien een bloktitel twee of meer regels beslaat dan kan het zijn dat de werkelijke titel is voorzien van puntkomma' | ||
+ | </ | ||
+ | |||
+ | De titels moeten gescheiden worden door een hekje: # | ||
+ | Verschrijvingen in de bloktitels worden genegeerd (het blok kan namelijk niet gevonden worden). | ||
+ | |||
+ | ===== Automatisch inklappen van blokken (collapse) detailscherm ===== | ||
+ | |||
+ | Achter de kolom //selectie van in te klappen blokken (titels scheiden door #)// kan een selectie van blokken opgegeven worden die standaard ingeklapt moeten worden getoond. Op bloktitel gescheiden door een #. OpenWave kijkt hier alleen naar indien er voor het betreffende scherm GEEN afwijkend scherm is gedefinieerd in de kolominformatie (dvscreenxml). | ||
+ | |||
+ | <adm Voorbeeld> | ||
+ | In het detailscherm met identifier: MDDC_geefOmgevingzaakDetail.xml (odetailscherm van een omgevingzaak) kan geregeld worden dat het blok polygoon en het blok Toelichting F11 standaard ingeklapt worden, door deze kolom //selectie van in te klappen blokken// te vullen met // | ||
+ | </ | ||
+ | <adm warning> | ||
+ | Indien een bloktitel twee of meer regels beslaat dan kan het zijn dat de werkelijke titel is voorzien van puntkomma' | ||
+ | </ | ||
+ | |||
+ | De bloktitels moeten gescheiden worden door een hekje: # | ||
+ | Verschrijvingen in de bloktitels worden genegeerd (het blok kan namelijk niet gevonden worden). | ||
+ | |||
+ | Achter de bloktitels die ingeklapt moeten worden kan een voorwaarde worden gesteld door een aanroep naar een query. | ||
+ | |||
+ | <adm Voorbeeld ingeklapte bloktitels op basis van query> | ||
+ | Stel het blok toelichting moet alleen ingeklapt worden indien de achterliggende kolom tbomgvergunning.dvaanvraagoms leeg is.\\ | ||
+ | Er moet dan een query gedefinieerd worden die 1 of true retourneert wanneer de status ingeklapt moet zijn ( en anders 0 of false)\\ | ||
+ | Indien die query bijvoorbeeld als naam // | ||
+ | // | ||
+ | De query is in dit geval bijvoorbeeld: | ||
+ | select case when dvaanvraagoms is not null then ' | ||
+ | </ | ||
+ | |||
+ | ===== Trigger linksonder ===== | ||
+ | Met de knop //Haal Origineel// op het detailscherm van een schermdefinitie kan indien: | ||
+ | * het gaat om een lijst- of detailscherm, | ||
+ | * het gaat om een rapportage, de in de rapportdefinitie vastgelegde kolomvolgorde en benaming worden opgehaald. | ||
+ | In beide gevallen wordt de kolom // | ||
+ | |||
+ | Met de wizardknop //verwijder niet gekoppelde scherminformatie// | ||
+ | |||
+ | ===== Meer informatie Scherm(kolom)definitie ===== | ||
+ | * [[openwave: | ||
+ | * [[openwave: | ||
+ | * [[openwave: | ||
+ | * [[openwave: | ||
+ | * [[openwave: | ||
+ | * [[openwave: | ||
+ | * [[openwave: | ||
+ | * [[openwave: |