Voortaan is het mogelijk om een via JoPPS script een zelf geprogrammeerde dialoog te laten verschijnen bij het aanmaken van een “Nieuw project”.
Kies bij 'Dialoog nieuw project' voor '3. Aangepast' zodat het event _ONNEWPROJECT wordt opgestart:
- Wizard interne dialoog in wizard stijl
- Normaal interne dialoog normale stijl
- Aangepaste eigen dialoog via scripting
Deze instelling is voor de “Dealer” versie onzichtbaar gemaakt zodat de gebruiker deze niet zelf kan wijzigen achteraf. Het is de bedoeling dat via scripting een eigen dialoog wordt samengesteld om een nieuw project te creëren.
Hiervoor is een extra script gebeurtenis _ONNEWPROJECT voorzien. Deze actie wordt aangeroepen in plaats van de standaard dialoog indien “Aangepast” is aangevinkt en dit op het moment dat de gebruiker een nieuw project wil aanmaken:
Start wizard – Maak een nieuw project
Bestand – Nieuw project
Knop – Aanmaken van een nieuw project
In de actie _ONNEWPROJECT kan men dan de gepaste logica voorzien om alle project gegevens op te vragen.
De beschikbare eigenschappen van de actie zijn op dit moment:
Action.Project (project informatie)
Action.Filename (project bestand naam)
Nieuwe functie BROWSEDATADLG voorzien om basisgegevens op te pikken via scripting:
BrowseDataDlg(Ddlg,Scode[,…[,Dfltr[,Dlock[,Dpage]]]);
Ddlg bepaalt welke gegevens dialoog te tonen
DLG_CLIENT (klant/leverancier)
DLG_FINISH (uitvoeringen)
DLG_SYSTEM (reeks)
DLG_PRODUCT (profiel product)
DLG_PROFILE (profiel parameters)
DLG_COMBINATION (profiel combinaties)
DLG_GLAZINGBEAD (glaslatten)
DLG_REINFORCEMENT (versterkingen)
DLG_ACCESSORY (beslag product)
DLG_SET (beslag set)
DLG_ACCSET (beslag tabel)
DLG_FILLING (vullingen)
DLG_FINISHES (afwerkingen)
DLG_PRICEBLOCK (prijs groepen)
DLG_PRICE (prijs parameters)
DLG_PRICESTANDARD (standaard prijzen)
DLG_PRICETARIFF (tarief prijzen)
DLG_NORM (wind normen)
DLG_TASK (taken)
DLG_ACTION (acties)
DLG_OPERATION (bewerkingen)
DLG_UPROFILE (U-waarden profielen)
DLG_UFILLING (U-waarden vullingen)
DLG_CEDATA (CE waarden)
DLG_JOB (handelingen)
DLG_FRAME (kader modellen bibiliotheek)
DLG_VENT (vleugel modellen bibliotheek)
SCode,…sleutelveld waarden voor eventueel te tonen record
het aantal en type velden hangt of van de sleutelvelden van de tabel welke dient getoond te wordend,
indien de veld waarden blanco/nul zijn wordt het eerste record geselecteerd
Dfltr bepaalt welke categorieën te activeren
32-bit waarde waarvan elke bit met waarde = 1 een geactiveerde categorie voorstelt
Dlock bepaalt of gebruiker zelf categorieën mag wijzigen
0 gebruiker kan categorieën nog wijzigen
1 gebruiker kan categorieën niet wijzigen
Dpage bepaalt de te tonen tab van de dialoog
PAGE_FORM (tab formulier)
PAGE_LIST (tab lijst)
PAGE_REMARK (tab opmerking)
PAGE_OUTLINE (tab schets detail)
PAGE_THUMBS (tab schets overzicht)
PAGE_FILTERS (tab categorieën)
PAGE_SPECIAL (tab speciaal)
/* -------------------------------------------------- */
/* Example Dialogs.jss */
/* */
/* Example for selection of DB record in scripting. */
/* */
/* TechWIN Software BVBA 2013 (c) - Gunter Selleslagh */
/* --------------------------------------------------------------------- */
/* create client object */
client := CONTACTS.Create();
profile := PROFILES.Create();
frame := FRAMES.Create();
/* show client dialog */
sCode := 'TECHWIN';
sKey := BrowseDataDlg(DLG_CLIENT,sCode,0,True,PAGE_THUMBS);
if sKey <> '' then { ShowMessage(sKey); };
/* show profile dialog */
sSystem := 'ZENDOW';
sProfile := '5001';
sKey := BrowseDataDlg(DLG_PROFILE,sSystem,sProfile,1,False,PAGE_LIST);
if sKey <> '' then { ShowMessage(sKey); };
/* show frame dialog */
sCode := '';
sKey := BrowseDataDlg(DLG_FRAME,sCode,'',1,True,PAGE_THUMBS);
if sKey <> '' then { ShowMessage(sKey); };
/* free objects */
client.Free();
profile.Free();
frame.Free();
Indien de dialoog met “OK” wordt afgesloten zal de sleutelveld waarde van de gekozen record worden teruggegeven, indien men kiest voor “Annuleren” is de waarde leeg.