Scripting activeren in een lay-out


In het tab Veld opmaak heb je een lay-out geselecteerd.


Hier kan jij door de betreffende optie aan te vinken, gebruik maken van interatieve scripting.


Wat is interactieve scripting?

Hiermee wordt het mogelijk om diverse Sub routines in één Basic Script macro te laten uitvoeren op een specifiek moment. Dit wordt ook wel event-driven of triggered scripting genoemd. De betreffende routine die wordt aangeroepen heeft ook parameters waarmee duidelijk wordt welke regel, kolom, etc.. zojuist is aangepast, toegevoegd of verwijderd.


Deze Basic Script macro's worden niet op de standaardwijze opgeslagen. Zij worden altijd versleuteld opgeslagen in de O:\AdminSQL\SYSTEM map met de extensie "RT$". Dit zijn gecodeerde bestanden die alleen door de systeembeheerder kunnen worden aangepast. Er zijn aan de andere kant geen specifieke rechten nodig voor gebruikers om de script uit te voeren. als je als systeembeheerder interactieve scripting voor een lay-out activeert, geldt dit voor alle gebruikers.


hoe je een interactief script kunt bewerken

Je kunt alleen vanuit de applicatie orderinvoer het script bewerken. Het script wordt automatisch aangemaakt als je als systeembeheerder de applicatie opent. als je de vraag ziet "Do you want to start the debugger?", klik je op JA waarna de Basic Script Editor verschijnt. De events zijn op te vragen via de Proc: lijst dat rechtsboven in de editor staat.


Tabs toevoegen

Als interactieve scripting is geactiveerd, kan jij ook eventuele extra tabs toevoegen aan het orderinvoerscherm. Door op de <+> knop te klikken kan jij een nieuwe titel toevoegen. Verwijderen doe je door de titel te selecteren uit de lijst en dan op de <-> knop te drukken. Je ziet het resultaat direct in een voorbeeld weergegeven.

Een tab kan worden gebruikt om extra informatie weer te geven. Wanneer op een tab wordt geklikt, verschijnt een leeg tekstvak. Via interactieve scripting kan jij het tekstvak invullen. Zie hieronder voor nadere uitleg een een voorbeeld.


Gebeurtenissen (events):

Public Sub AfterNewOrder(Nummer)

Treedt op nadat een nieuwe order is aangemaakt, of nadat een bestaande order is geopend. Nummer verwijst naar het werkordernummer.

Public Sub AfterDeleteRecord(Nummer, Regel)


Treedt op nadat een orderregel is verwijderd. Wanneer meerdere regels worden verwijderd, bevat Regel de waarde -1.

Public Sub AfterEditOrder(Nummer, ColumnName)


Treedt op nadat een veld in de werkorderheader tabel is aangepast vanuit de applicatie. ColumnName verwijst naar de naam van het veld wat is bijgewerkt.

Public Sub AfterEditRecord(Nummer, Regel, ColumnName)


Treedt op nadat een veld in de werkorderspecs tabel is aangepast vanuit de applicatie. Regel verwijst naar het regelnummer in deze tabel en ColumnName verwijst naar het veld in de tabel.

Public Sub AfterNewRecord(Nummer, Regel)


Treedt op nadat een nieuwe orderregel is toegevoegd aan de werkorder. Regel bevat de waarde van het nieuwe regelnummer dat is toegewezen aan de nieuwe orderregel.

Public Sub BeforeProcessOrder(Nummer)


Treedt op nadat de gebruiker op F10 heeft gedrukt, maar voordat de orderverwerking plaats heeft gevonden. Nummer verwijst naar het ordernummer.

Public Sub OnTabClick(Title, RTFtext)


Treedt op nadat de gebruiker op een tab heeft geklikt. Title verwijst naar de naam van de tab en RTFtext naar de inhoud van het tekstvak.

Aan RTFtext kan een waarde worden gegeven. Bij het verlaten van deze subroutine wordt de waarde weergegeven in het tekstvak. Zie hieronder voor een voorbeeld.

Public Sub OnTabDblClick(Title, RTFtext)

Treedt op nadat de gebruiker op een tab heeft geklikt. Title verwijst naar de naam van de tab en RTFtext naar de inhoud van het tekstvak.

Aan RTFtext kan een waarde worden gegeven. Bij het verlaten van deze subroutine wordt de waarde weergegeven in het tekstvak. Zie hieronder voor een voorbeeld.

Public Sub OnTabSwitched(VerticalTab, Title, Nummer,  RTFtext)

Treedt op nadat de gebruiker heeft gewisseld van een tab. Deze gebeurtenis treedt alleen op indien de orderinvoer actief is. Deze gebeurtenis treedt dan op vòòr de OnTablClick gebeurtenis.

VerticalTab is TRUE als er gewisseld is van orderinvoer. Wanneer FALSE, is er gewisseld in de tabs bovenin.

Nummer verwijst naar het ordernummer.

Title verwijst naar de naam van de tab en RTFtext naar de inhoud van het tekstvak.

Aan RTFtext kan een waarde worden gegeven. Bij het verlaten van deze subroutine wordt de waarde weergegeven in het tekstvak. Zie hieronder voor een voorbeeld.


Voorbeeld script:

Option Explicit



Sub Main

         Do

                  Wait 1

                  DoEvents

         Loop

End Sub



Public Sub AfterNewOrder(Nummer As Long)


MsgBox "Nummer: " & Nummer


End Sub



Public Sub AfterDeleteRecord(Nummer As Long, Regel As Integer)


MsgBox "Nummer: " & Nummer & vbNewLine & _

                           "Regel: " & Regel


End Sub



Public Sub AfterEditOrder(Nummer As Long, ColumnName As String)


MsgBox "Nummer: " & Nummer & vbNewLine & _

                           "ColumnName: " & ColumnName


End Sub



Public Sub AfterEditRecord(Nummer As Long, Regel As Integer, ColumnName As String)


MsgBox "Nummer: " & Nummer & vbNewLine & _

                           "Regel: " & Regel & vbNewLine & _

                           "ColumnName: " & ColumnName


End Sub



Public Sub AfterNewRecord(Nummer As Long, Regel As Integer)


MsgBox "Nummer: " & Nummer & vbNewLine & _

                           "Regel: " & Regel


End Sub



Public Sub BeforeProcessOrder(Nummer As Long)


MsgBox "Nummer: " & Nummer


End Sub



Public Sub OnTabClick(Title As String, RTFtext As String)


MsgBox "Title: " & Title & vbNewLine & _

                           "RTFText: " & RTFtext


RTFtext = "Hello, World!"


End Sub







TradiumTech.nl is voor de technische ondersteuning van Tradium Business Software, kijk op www.tradium.nl voor meer informatie.