Tapahtumakäsittelijät
Tapahtumakäsittelijöiden avulla voit määrittää erilaisia toimintoja, jotka suoritetaan tiettyjen tapahtumien tapahtuessa, kuten kohteen muokkauksen jälkeen tai ennen uuden arvolistan arvon luomista. Toiminnot määritellään muuttujia, VBScriptin yleisiä ominaisuuksia ja APIa käyttämällä.
Esimerkkejä tapahtumakäsittelijöiden hyödyntämisestä:
- Voidaan määrittää, että kun kohteen ominaisuuksia muutetaan, myös kohteen suojausasetukset muuttuvat automaattisesti.
- Tiettyjä perusdokumentteja voidaan lisätä kuhunkin uuteen projektiin ennalta määritetyn projektimallin kautta.
- Määritetyt Word-tiedostot voidaan tallentaa aina PDF-muodossa niin, että kun Word-tiedosto palautetaan muokkauksesta, se tallennetaan palvelimelle myös PDF-muodossa.
- Valokuvaan liittyvät tiedot, kuten päivämäärä ja kuvan koko, voidaan automaattisesti lisätä valokuvadokumentin metatietoihin.
- Mikäli käyttäjä lisää uuden arvon arvolistaan, voidaan tapahtumakäsittelijän avulla tarkistaa, että lisättävä arvo on syötetty oikein.
- Sisäänkirjautumiset iin voidaan estää työajan ulkopuolella, esimerkiksi yöllä ja viikonloppuisin.
- Tiettyjen tiedostojen lataamista voidaan seurata, suurien tiedostomäärien lataaminen voidaan estää tai epäilyttävistä lataamisista voidaan lähettää hälytys järjestelmänvalvojalle.
Huomaa:
Luo uusi tapahtumakäsittelijä seuraavasti:
-
-
- Napsauta varastoa hiiren oikealla painikkeella.
- Valitse Tapahtumakäsittelijät.
- Napsauta Lisää tapahtumakäsittelijä... -painiketta.
-
Valitse Valitse tapahtuma -pudotusvalikosta tapahtuma, jolle haluat luoda tapahtumakäsittelijän.
Esimerkki:Jos haluat luoda tapahtumakäsittelijän, joka suoritetaan aina uutta kohdetta luotaessa, valitse BeforeCreateNewObjectFinalize-tapahtuma.Katso luettelo käytettävissä olevista tapahtumista ja niiden kuvaukset kohdasta Käytettävissä olevat tapahtumakäsittelijät.
-
Anna uudelle tapahtumakäsittelijälle kuvaava nimi Nimi-kenttään ja napsauta OK. Lisää tapahtumakäsittelijä -ikkuna sulkeutuu.
Esimerkki:Tarkista kaksoiskappaleotsikoiden varalta.Jos samantyyppisiä tapahtumakäsittelijöitä on useampi kuin yksi, voit vaihtaa niiden suoritusjärjestyksen valitsemalla tapahtumakäsittelijän Tapahtumakäsittelijät-ikkunassa ja napsauttamalla ikkunan oikean reunan ylös- tai alas-nuolipainiketta.
- Kun olet taas Tapahtumakäsittelijä-ikkunassa, napsauta Muokkaa koodia.
-
Anna tapahtumakäsittelijän suoritettaessa suoritettava koodi ja sulje sitten Muokkaa VBScript-koodia -ikkuna.
Esimerkki:Seuraavaa BeforeCreateNewObjectFinalize-tapahtuman koodia voidaan käyttää virheilmoituksen näyttämiseen käyttäjälle, kun hän on luomassa uutta kohdetta (eli metatietokorttiin on täytetty tarvittavat tiedot ja käyttäjä napsauttaa Luo-painiketta) ja dokumenttivarastossa on jo kohde, jolla on sama otsikko:
' The ID of the title property. Dim titleProperty titleProperty = MFBuiltInPropertyDefNameOrTitle ' Find the title property of the current object. Dim currentTitleProp currentTitleProp = PropertyValues.SearchForProperty(titleProperty) ' Get the title of the object. Dim currentTitle currentTitle = currentTitleProp.Value ' Search for objects on the basis of title. Dim titleSearch Set titleSearch = CreateObject("MFilesAPI.SearchCondition") Dim titleExpression Set titleExpression = CreateObject("MFilesAPI.Expression") titleExpression.SetPropertyValueExpression titleProperty, MFParentChildBehaviorNone, Nothing Dim titleTypedValue Set titleTypedValue = CreateObject("MFilesAPI.TypedValue") titleTypedValue.SetValue MFDatatypeText, currentTitle titleSearch.Set titleExpression, MFConditionTypeEqual, titleTypedValue Dim SearchResults Set SearchResults = Vault.ObjectSearchOperations.SearchForObjectsByCondition(titleSearch, false) ' If an existing object with the same title was found, raise an error. If SearchResults.Count > 1 Then Err.Raise MFScriptCancel, _ "The document vault already contains an object with the same title. Please choose another title." End if - Kun olet taas Tapahtumakäsittelijät-ikkunassa, napsauta OK. Tekemäsi muutokset tallennetaan ja Tapahtumakäsittelijät-ikkuna sulkeutuu.