Please enable JavaScript to view this site.

Invantive Estate

Navigatie: Invantive Estate > Invantive Estate Online

Schermen Aanpassen met JavaScript

Inhoud Vorige Home Volgende More

Binnen Invantive Estate kun je schermen dynamisch aanpassen voor de lokale installatie, zonder dat de wijzigingen verloren gaan bij de installatie van een nieuwe versie. Bij de installatie van een nieuwe versie hoef je slechts te controleren of de lokale aanpassingen nog naar behoren werken.

Deze functionaliteit kan gebruikt worden voor:

Opnemen van een knop waarmee de inkooporder voor een opdracht getoond en afgedrukt kan worden.

Koppelen van een woning met een kaart van de omgeving binnen een webapplicatie elders.

Opnemen van een knop waarmee het telefoonnummer van een getoonde relatie opgevraagd kan worden in de telefoongids.

Opnemen van een knop waarmee een online formulier van een andere webapplicatie ingevuld wordt voor bijvoorbeeld het aanvragen van extra budget.

Het aanpassen van schermen gebeurt door op drie plekken HTML-code in te voegen in de schermen van Invantive Estate. Deze HTML-code kan via het scherm Instellingen opgegeven worden. Na het aanpassen dien je je af- en weer aan te melden om de nieuwe instellingen te activeren voor je websessie.

De HTML-code mag aanroepen naar JavaScript en andere geldige HTML bevatten, zolang deze maar een geldig geheel van code vormt.

Let op! Het is eenvoudig mogelijk om de werking van de webinterface van Invantive Estate nadelig te beïnvloeden door onjuiste of langzame HTML-code toe te voegen. Voor supportdoeleinden kan gevraagd worden om het toevoegen van HTML-code via de instellingen ongedaan te maken.

De geadviseerde aanpak voor het gebruik van JavaScript:

Maak in de map ‘local’ een bestand met lokale aanpassingen. Noem dit bestand ‘xxNAAM.js’, waarbij ‘NAAM’ vervangen wordt door de bedrijfsnaam in kleine letters.

Neem hierin een Javascript function ‘xxNAAM_after_payload’ en ‘xxNAAM_before_payload’ op (zie onder voor een voorbeeld).

Zet in ‘Lokale HTML Boven Kop’ het volgende (zie ook Schermen Aanpassen):

 

<styler LISTING>

<script language="JavaScript1.2" src="local/xxNAAM.js" type="text/javascript"></script> </style LISTING>

 

Zet in ‘Lokale HTML Kop’ het volgende (zie ook Schermen Aanpassen):

 

<styler LISTING>

<script language="JavaScript" type="text/javascript"> xxNAAM_before_payload(); </script> </style LISTING>

Zet in ‘Lokale HTML Voet’ het volgende (zie ook Schermen Aanpassen):

 

<styler LISTING>

<script language="JavaScript" type="text/javascript"> xxNAAM_after_payload(); </script> </style LISTING>

De inhoud van xxNAAM.js kan er bijvoorbeeld als volgt uit zien:

 

<style LISTING>

//

// $Header: http://svn.invantive.com/repos/p104/trunk/help/nl/manual/Topics/ontwikkeling-schermen-javascript.xml 21357 2013-01-29 16:40:21Z nno $ // // (C) Copyright 2004-2011 Invantive Software BV, the Netherlands. All rights reserved.

//

// JavaScript library with extensions for the default Invantive Estate forms.

//

 

//

// The before_payload is executed after the head section of the html and // within the body section, but before the contents of the webpage.

//

function xxNAAM_before_payload()

{

 // Empty.

}

 

//

// The before_payload is executed after the head section of the html and // within the body section, but after the contents of the webpage.

//

function xxNAAM_after_payload()

{

 //

 // Disable contract number on purchase order form.

 // The contract number is auto-generated using a calculated field.

 //

 // You may not disable the field. CodeCharge 3 then tries to set it to null within SQL.

 // With CCS 4, this restriction has been lifted.

 //

 // You might use bubs_set_element_readonly as an alternative.

 //

 if (bubs_get_page() == "bubs_odt_all")

 {

   //

   // Make field gray.

   //

   BUBS_OPDRACHTEN_V1.ODT_VOLGNUMMER.style.backgroundColor="#cccccc";

   //

   // Associate events leading to a change with a function that bails out with false and therefore

   // makes the event non-operable.

   //

   BUBS_OPDRACHTEN_V1.ODT_VOLGNUMMER.onkeypress = function()

   {

     window.event.returnValue = false;

     return false;

   };

   BUBS_OPDRACHTEN_V1.ODT_VOLGNUMMER.onkeydown = function()

   {

     window.event.returnValue = false;

     return false;

   };

 }

 //

 // Show a button for a purchase order PDF when on the purchase order form.

 //

 // The button is only shown when a purchase order selected (as signalled through ODT_ID as a GET-parameter on the URL).

 //

 if (bubs_get_page() == "bubs_odt_all" && bubs_get_parameter("ODT_ID"))

 {

   document.write('<div id="customizations">');

   bubs_show_hyperlink_button('bubs_custom21_pdf_rpt.do?P_ODT_ID=' + bubs_get_parameter("ODT_ID"), 'Opdrachtformulier (PDF)');

   document.write('<p/>');

   document.write('</div>');

 }

 //

 // Create button on the projects page to an outside webpage.

 //

 // This is meant for the connection with the ERP system.

 //

 if (bubs_get_page() == "bubs_pjt_all" && bubs_get_parameter("PJT_ID"))

 {

   document.write('<div id="customizations">');

               bubs_show_hyperlink_button

               ( 'http://my-erp-system/show-project-data?PJT_CODE='

               + bubs_get_parameter("PJT_CODE")

               + "&"

               + escape(BUBS_PROJECTEN_V1.PJT_JURIDISCHE_EENHEID.value)

               , 'Open project in ERP'

               );

   document.write('<p/>');

   document.write('</div>');

 }

}

</style LISTING>