Object LWCRM

<< Click to Display Table of Contents >>

Navigation:  Customization > LWCRM Object Model >

Object LWCRM

Previous pageReturn to chapter overviewNext page

Dit is het hoofdobject welke algemene eigenschappen en methoden van Logicworks CRM bevat.

 

 

Application : String

Retourneert de applicatienaam. Dit kan handig zijn om als parameter te gebruiken bij het tonen van een melding m.b.v. MsgBox() .

 

Voorbeeld

Call MsgBox( "Hello World", vbOKOnly, LWCRM.Application )

 

 

ApplicationDataFolder : String

Retourneert het pad naar de lokale applicatie folder van de gebruiker. Bijv: C:\Documents and Settings\{Windows gebruikersnaam}\Local Settings\Application Data

 

 

BrowseForFile : String

Open een dialoogvenster waarmee de gebruiker een bestand kan selecteren.

 

Syntax

LWCRM.BrowseForFile( txtStartInFolder, txtFilter, [txtTitel], [txtBestandsnaam] )

 

Parameters

txtStartInFolder

Geef de folder aan waarin de bestandsselectie moet beginnen.

 

txtFilter

Hiermee kan een filter op de bestandsextensie worden meegegeven aan het dialoogvenster.

 

txtTitel

Koptekst van het dialoogvenster.

 

txtBestandsnaam

Het is mogelijk een bestandsnaam mee te geven en wordt getoond als in het dialoogvenster.

 

Voorbeeld

strFileName = LWCRM.BrowseForFile("c:\temp", "Word document (*.doc)|*.doc|Word 2007 document (*.docx)|*.docx", "Openen")

 

 

BrowseForFolder : String

Open een dialoogvenster waarmee de gebruiker een map kan selecteren.

 

Syntax

LWCRM.BrowseForFolder( txtStartInFolder )

 

Voorbeeld

strFolderName = LWCRM.BrowseForFolder("c:\temp")

 

 

Build : String

Retourneert de actuele build-versie (YYMMDD) van Logicworks CRM, bijvoorbeeld '110929'

 

 

ClearUserInfo

De methode verwijdert de zichtbare tekst in de statusbalk van het hoofdvenster.

 

Syntax

Call LWCRM.ClearUserInfo()

 

 

ClipboardSetText

Deze methode kopieert de opgegeven tekst naar het klembord, waarna deze gegevens via Plakken in andere applicaties gebruikt kunnen worden.

 

Syntax

LWCRM.ClipboardSetText( txtTekst )

 

Parameters

txtTekst

De tekst die naar het klembord gekopieerd moet worden.

 

 

CNull : Variant

Het komt voor dat een database veld geen waarde bevat, maar leeg is. In dergelijke gevallen wordt NULL of EMPTY geretourneerd. VBScript kan echter niet met dergelijke waarden overweg. Deze methode converteert een NULL of EMPTY waarde naar een op te geven geldige waarde.

 

Voorbeeld

strUserName = LWCRM.CNull( rstUser.Fields("nickname").Value, "(onbekend)" )

 

 

DriveType : Integer

Retourneert een van de onderstaande waarden voor het drive type waar het opgegeven pad zich bevindt.

0: DRIVE_UNKNOWN

1: DRIVE_NO_ROOT_DIR

2: DRIVE_REMOVABLE

3: DRIVE_FIXED

4: DRIVE_REMOTE

5: DRIVE_CDROM

6: DRIVE_RAMDISK

 

Syntax

LWCRM.DriveType( strPath ) : Integer

 

Voorbeeld

If LWCRM.DriveType( "c:\program files\logicworks crm\lwcrm.exe" ) = 3 Then ...

 

 

ExchangeFolder : String

Retourneert de map welke standaard wordt gebruikt om gegevens uit te wisselen met externe informatiesystemen.

 

 

FileExists : Boolean

Retourneert Waar als het opgegeven bestand bestaat en Onwaar als het bestand niet bestaat.

 

Syntax

LWCRM.FileExists( strBestandsnaam ) : Boolean

 

Voorbeeld

If LWCRM.FileExists( "c:\program files\logicworks crm\lwcrm.exe" ) Then ...

 

 

FolderNameExists : Boolean

Hiermee kan worden nagegaan of een specifieke gebruikersfolder bestaat.

 

Syntax

LWCRM.FolderNameExists( strFoldernaam ) : Boolean

 

Voorbeeld

If LWCRM.FolderNameExists( "c:\program files\logicworks crm") Then ...

 

 

FormOpen

Deze methode opent het detailvenster behorend bij het opgegeven objecttype en toont de gegevens behorend bij het opgegeven objectitem.

 

Syntax

LWCRM.FormOpen( intObjectType, strObjectItemId, [intMode]  )

 

Parameters

intObjectType

Het objecttype (crmObjectTypes.objecttype) waarvan het bijbehorende venster moet worden geopend.

 

intObjectItemId

De primary key van het object waarvan de gegevens in het scherm moeten worden getoond. Wordt "(new)" als parameter doorgegeven, dan wordt een leeg invoerscherm geopend, zodat de gebruiker een nieuw item aan kan maken.

 

intMode

Een scherm kan Modal (=1) of Modeless (=0) worden geopend. Bij een venster van het type Modal moet de gebruiker het scherm sluiten om een andere venster binnen Logicworks CRM te benaderen. Default wordt een venster Modeless geopend.

 

Voorbeeld

Const otContact = 1

Const vbModal = 1

Call LWCRM.FormOpen( otContact, "00010", vbModal )

 

 

GetUserInput : String

Bij het ontwikkelen van scripts zal regelmatig invoer van de gebruiker zijn vereist. Als dit een eenvoudige vraag is, welke met Ja of Nee kan worden beantwoord, dan dient de standaard MsgBox() functie te worden gebruikt. Als echter een daadwerkelijke invoer nodig is, van bijvoorbeeld een getal, tekst of een specifieke contactpersoon, dan kan de functie LWCRM.GetUserInput() worden gebruikt. Er kunnen maximaal 3 invoeritems worden gedefinieerd, waarbij zowel het 2e als het  3e invoerveld optioneel is.

 

Input type

Toelichting

lwcVarchar (0)

Tekst invoer

lwcDateTime (5)

Datum invoer

lwcMap (9)

Map-selectie

lwcPicklist (11)

Keuzelijst. De parameter strLookup dient een geldige keuzelijst-referentie (zie tabel crmLookup) te bevatten. Ook is het mogelijk een lijst met opties op te geven. In dat geval dienen de verschillende opties te worden gescheiden door een ';'.

lwcLookup (12)

Opzoeklijst. De parameter strLookup dient een geldige opzoeklijst-referentie (zie tabel crmLookup) te bevatten.

lwcDecimal (3)

Numeriek invoer.

 

Defaultwaarden

Standaard blijven de in te voeren  leeg. Het is echter mogelijk deze voor het aanroepen van de functie te vullen met een defaultwaarde via de properties LWCRM.InputValue(1) t/m LWCRM.InputValue(4).  Met de functie LWCRM.ClearInputValues() worden de bestaande waarden van een eventueel eerdere invoer leeggemaakt.

 

 

Syntax

strInput = LWCRM.GetUserInput( strFormCaption, strVeldOpschrift, intInputType [, strLookup], strVeldOpschrift2, intInputType2 [, strLookup2], strVeldOpschrift3, intInputType3 [, strLookup3]  )

 

Voorbeeld

strInput = LWCRM.GetUserInput( "Parameter", LWCRM.TranslateText("products.name"), lwcLookup, "product" )

 

 

 

GridRecordSource

Als de gebruiker een selectie maakt van meer dan 10.000 records, dan werkt LWCRM.SelectedKeyValues niet meer. Om toch de geselecteerde regels te kunnen bepalen kan dan gebruik gemaakt worden van LWCRM.GridRecordSource(). Deze methode retourneert een SQL statement, welke bij uitvoering een recordset met alleen de primary key values van de geselecteerde regels retourneert.

 

Voorbeeld

sql = "SELECT * FROM (" & LWCRM.Database.LoadSQLQuery("5000N") & ") WHERE contractid IN (" & LWCRM.GridRecordSource & ")"

Call LWCRM.ExportDataToExcel( sql, fileName, false )

 

 

HideConvertSalesorderToInvoice

Als deze eigenschap op wordt geactiveerd, dan wordt de menuoptie 'Omzetten naar factuur' in het Verkooporder venster verborgen voor alle gebruikers. Deze eigenschap kan het beste worden geactiveerd via het onStart-script in de Setup.

 

Syntax

LWCRM.HideConvertSalesorderToInvoice = True

 

 

HideSalesorderTotals

Als deze eigenschap op wordt geactiveerd, dan worden de verkooporderbedragen in het Verkooporder venster niet getoond. Deze eigenschap kan het beste worden geactiveerd via het onStart-script in de Setup.

 

Syntax

LWCRM.HideSalesorderTotals = True

 

 

IIF : Variant

Retourneert afhankelijk van het resultaat van de 1e parameter de expressie varWaar of varOnwaar.

 

Syntax

LWCRM.IIF( varExpressie, varWaar, varOnwaar )

 

Voorbeeld

strLand = LWCRM.IIF( strCountrycode = "NL", "Nederland", "Buitenland" )

 

 

ISOWeek : Integer

Deze methode berekent het weeknummer van de doorgegeven datum. Hierbij wordt uitgegaan van de door ISO gehanteerde methode om een weeknummer te bepalen.

 

Syntax

intWeekNumber = LWCRM.ISOWeek( datDatum )

 

 

Licencee : String

Retourneert de licentiehouder van Logicworks CRM, veelal de naam van de organisatie.

 

 

LocalInternationalDialingCode : String

Retourneert het default landnummer dat wordt gebruikt in de methodes van LWCRM.TAPI. Standaard staat het landnummer ingesteld op '+31'.

 

 

MyDocuments : String

Retourneert het pad naar de folder Mijn documenten van de ingelogde gebruiker. Bijv: C:\Documents and Settings\{Windows gebruikersnaam}\Mijn documenten

 

 

NextFrequencyDate : Date

 

Syntax

Call LWCRM.NextFrequencyDate( datStartDate, intFrequencyType, intFrequency )

 

Parameters

datStartDate

Datum welke als basis dient voor de berekening van de volgende datum.

 

intFrequencyType

Middels een Index-waarde uit de keuzelijst Termijnen (lstPeriodFrequency) kan de termijn worden doorgegeven.

 

intFrequency

Hier dient het aantal termijnen te worden doorgegeven.

 

Voorbeeld

Const lwcMonth = 2

NextDate = LWCRM.NextFrequencyDate( datToDay, lwcMonth, 2)

 

 

ObjecttypeName : String

Retourneert de naam van het opgegeven object type.

 

Syntax

Const otAccount = 2

Call LWCRM.ObjecttypeName( otAccount )

 

 

PreDeleteXmlRowData : String

Retourneert de inhoud van het verwijderde record in XML formaat. De waarde van dit veld is te gebruiken in het script dat wordt geschreven bij de onDelete uitgang van het object.

 

Syntax

strContactId = LWCRM.XML.GetTagValue(LWCRM.PreDeleteXmlRowData, "contactid")

 

 

Release : String

Retourneert de actuele release van Logicworks CRM, bijv. '1.2.0'

 

 

RefreshForm

Deze methode controleert of het opgegeven venster op dat ogenblik is geopend en zal de gegevens in het venster verversen vanuit de database. Deze methode kan belangrijk zijn als via de scripts een databasewijziging wordt doorgevoerd. Om ervoor te zorgen dat de nieuwe gegevens ook in het scherm worden getoond kan deze methode worden aangeroepen.

 

Syntax

Call LWCRM.RefreshForm( objectType, objectId )

 

Parameters

objectType

Geef hier het objecttype waarop het venster is gebaseerd door. Geldige objecttype-waarden kunnen worden gevonden via de kolom 'objecttype' de lijstweergave van de Object Designer.

 

objectId

Hier dient de ID (bijvoorbeeld contacts.contactid) van het record doorgegeven te worden, zodat Logicworks CRM kan controleren of het specifieke record wordt getoond aan de gebruiker.

 

Voorbeeld

Const otContact = 1

 

Call LWCRM.RefreshForm( otContact, "00012")

 

 

 

RefreshFormTabControls

Hiermee kan de weergave van de Tab-elementen in een detailvenster worden ververst. Dit kan handig zijn, indien een tab-blad bijvoorbeeld verborgen moet worden op basis van een specifieke waarde van een item.

 

Syntax

Call LWCRM.RefreshFormTabControls()

 

Voorbeeld

If ActiveForm.IncidentType.ListIndex = 1 then

  If Form.tbcTab.Tabs(2).visible Then Form.tbcTab.Tabs(2).visible = False

  Form.XPTab(2).visible = False

Else

  Form.tbcTab.Tabs(2).visible = True

  Form.XPTab(2).visible = True

End If

 

Call LWCRM.RefreshFormTabControls( Form )

 

 

RefreshMainGrid

Deze methode zorgt ervoor dat de actieve lijstweergave in het hoofdvenster wordt vernieuwd.

 

Syntax

Call LWCRM.RefreshMainGrid()

 

 

RefreshCalendarView

Deze methode zorgt ervoor dat de actieve agenda in het hoofdvenster wordt vernieuwd.

 

Syntax

Call LWCRM.RefreshCalendarView()

 

 

RunApplication

Deze methode start een externe applicatie. Afhankelijk van de tweede parameter wacht Logicworks CRM eventueel tot de gestarte applicatie wordt afgesloten door de gebruiker.

 

Syntax

Call LWCRM.RunApplication( strApplicatiePad, [blnWait] )

 

Parameters

strApplicatiePad

Pad naar de te starten applicatie.

 

blnWait

Met True (tevens de defaultwaarde) geeft u aan dat Logicworks CRM moet wachten tot de uitgevoerde applicatie wordt afgesloten. Wordt False doorgegeven, dan wordt niet gewacht tot de gestart applicatie is afgesloten.

 

Voorbeeld

Call LWCRM.RunApplication( "c:\program files\logicworks crm\test.exe " & strParameters, False )

 

 

RunAppMaxDuration

Deze eigenschap kan ik in combinatie met de hiervoor beschreven methode RunApplication worden gebruikt.

 

Voorbeeld

LWCRM.RunAppMaxDuration = 30 

Call LWCRM.RunApplication( "c:\program files\logicworks crm\test.exe " & strParameters, True )

 

 

 

Script.{methode}

Tijdens het ontwikkelen van scripts zal een gebruiker bedrijfsspecifieke functies in meerdere scripts willen gebruiken. Deze functie kan natuurlijk steeds worden gekopieerd naar het nieuwe script, maar dit is geen efficiente werkwijze. Een ander nadeel van deze werkwijze is dat alle scripts moeten worden doorgelopen als blijkt dat de functie moet worden gewijzigd. Dit kan een zeer tijdrovende activiteit zijn.

 

De Script Library bevat tevens de mogelijkheid om scripts aan te merken als Prive. Het script wordt nu gecodeerd opgeslagen in de database en kan alleen nog worden bekeken en gewijzigd door de script-eigenaar. Andere gebruikers kunnen dit script nog wel aanroepen vanuit hun eigen scripts.

 

Als u verwacht dat een functie meerdere malen zal worden gebruikt, dan is het dus verstandig deze functie op te nemen in de Script Library. Vanuit ieder script kan nu op eenvoudige wijze naar deze functie worden verwezen, zonder de code van de functie over te nemen in het huidige script.

 

Voorbeeld

Function crmScript()

 

  strFileName = "C:\Documents and Settings\All Users\Documenten\DYMO Label\Label Files\LWCRM Adreslabel.LWT"

  call LWCRM.Script.PrintDymoContactLabel( strFileName, LWCRM.SelectedKeyValues )

 

  crmScript = true

 

End Function

 

 

SelectedKeyValues : String

Retourneert de sleutelveld waarden van de geselecteerde items of het actieve venster. De waarden worden gezet voordat een gebruikersmenu script wordt geactiveerd. Als in een lijstweergave meerdere regels zijn geselecteerd, dan worden de sleutelveld waarden, gescheiden door een komma, achter elkaar geplaatst.

 

note_10x16   De sleutelveld waarde '(new)' geeft aan dat de gegevens in het actieve detailvenster nog niet zijn bewaard.

 
 

LWCRM.ShowHistoryPerObjectType

In de standaard situatie zal Logicworks CRM de geschiedenis van de geopende invoervensters per menuoptie weergeven. Als deze optie in het StartUp-script wordt uitgeschakeld, dan toont de geschiedenis-knop een algemene lijst met meest recent geopende invoervensters, ongeacht de menuoptie welke op dat ogenblik actief is.

 
 

ShowUserInfo

De methode toont de opgegeven tekst in de statusbalk van het hoofdvenster.

 

Syntax

Call LWCRM.ShowUserInfo( strMelding )

 

Voorbeeld

Call LWCRM.ShowUserInfo( "Afdrukken rapporten, even geduld..." )

 

 

TemporaryFileName: String

Functie retourneert een tijdelijke bestandsnaam.

 

note_10x16   Let op: iedere keer als Logicworks CRM wordt gestart, dan zullen alle via deze functie aangemaakt tijdelijke bestanden worden verwijderd.

 

 

ReadFile : String

Deze functie leest de inhoud van een tekstbestand en geeft deze terug als een String.

 

Syntax

strData = LWCRM.ReadFile( strFileName )

 

Parameters

strFileName

Een geldige pad- en bestandsnaam.

 

Voorbeeld

strFileName = "C:\Program Files\Logicworks CRM\Import\test.txt"

strData = LWCRM.ReadFile( strFileName )

 

 

WriteToFile

Met deze functie kan de inhoud van een string worden weggeschreven naar een bestand .

 

Syntax

Call LWCRM.WriteToFile( strFileName, strText, [blnAppendToFile] )

 

Parameters

strFileName

Een geldige pad- en bestandsnaam.

 

strText

String waarvan de inhoud moet worden weggeschreven naar het opgegeven bestand.

 

blnAppendToFile

Normaal gesproken wordt het opgegeven bestand aangemaakt of overschreven. Wilt u de tekst echter toevoegen aan een bestaand bestand, dan moet als parameter True worden meegegeven.

 

Voorbeeld

strFileName = "C:\Program Files\Logicworks CRM\Import\test.txt"

strData = LWCRM.WriteToFile( strFileName, strText )

 

 

TranslateText : String

De methode vertaald de opgegeven tekst naar de lokale tekst. Voor het vertalen van meldingen (txtTekst begint met 'msg_') wordt gebruik gemaakt van de tabel crmMessages. Bij de vertaling van woorden wordt gebruik gemaakt van de tabellen crmLocalization en crmEntityAttributes. Bij de vertaling van een melding kan een optionele parameter worden doorgegeven, welke wordt verwerkt in de vertaling van de tekst.  

 

Bij het doorgeven van een te vertalen woord kan in de parameter txtTekst de volgende parameters worden meegegeven:

/lc  = converteert het resultaat naar kleine letters (lower case)

/uc = converteert het resultaat naar hoofdletters (upper case)

/pl  = vertaalt het opgegeven woord naar meervoud (plural)

 

Syntax

LWCRM.TranslateText( strTekst, [strParameter] )

 

Voorbeeld

Call MsgBox( "msg_DataUpdateFinished" )

strInvoer = LWCRM.GetUserInput( "Parameter", LWCRM.Translate("products.name"), lwcLookup, "product" )

 

 

UserValue() : String

Deze functie kunt u een tijdelijke globale opvraagbare variable opslaan en uitlezen.

 

Syntax

LWCRM.UserValue( Index ) = strData

strData = LWCRM.UserValue( Index )

 

Parameters

Index

Een waarde tussen 1 en 100.

 

Voorbeeld

LWCRM.UserValue(1) = ActiveForm.LastName.Text

...

 

If LWCRM.UserValue(1) = ActiveForm.LastName.Text Then

  ...

End If

 

 

vbFormat : Variant

In VBScript ontbreekt de Visual Basic Format() functie. Middels deze methode is de functionaliteit ervan beschikbaar gesteld in de Scripts. Aanvullende informatie over de parameters welke kunnen worden doorgegeven aan deze functie, kunt u onder andere nalezen op http://www.vb6.us/tutorials/understanding-vb-format-function-custom-numeric-formats .

 

 

Syntax

LWCRM.vbFormat(  varExpression[, strFormat [, intFirstdayofweek [, intFirstweekofyear] ] ]  )

 

Parameters

VarExpression

Een geldige expressie. 

 

strFormat

Layout waaraan de uitvoer moet voldoen 

 

intFirstDayOfWeek

Eerste dag van de week

 

intFirstWeekOfYear

Eerst week van het jaar

 

Voorbeeld

LWCRM.vbFormat(Time, "hh:mm:ss")   => 15:26:01

LWCRM.vbFormat(312, "###0.00")     => 312,00

LWCRM.vbFormat(5, "0.00%")         => 500,00%

 

 

Zie ook

Script Bibliotheek