14. maj 2001 - 12:58Der er
2 kommentarer og 1 løsning
Ændring af feltet i dokumenter, andre databaser
Hvor dan rettes felter i dokumenter i en anden database, end den man foretager rerttelsen fra. Feks. hvis man retter en dato i database 1, og ønsker at samme ændring skal ske i database 2, der har samme dato stående i et felt i et dokument.
Med version 7 af TeamShare tager Lector næste skridt og bygger en platform for AI-agenter, der i højere grad kan følge medarbejderen gennem hele arbejdsprocessen.
Har prøvet at benytte en agent der kører følgende: Dim ses As New NotesSession Dim db As NotesDatabase Dim view As NotesView Dim dc As NotesDocumentCollection Dim doc As NotesDocument Dim i As Integer, j As Integer
Set db = ses.getDatabase(\"\",\"Notesdatabase.nsf\" ) Set view=db.GetView\"Noteorinteringsoversigt\") Set dc = db.UnprocessedDocuments i = dc.Count For j = 1 To i Set doc = dc.getnthdocument(j) If doc.Dato_Udvmøde = startdato Then doc.Dato_UdvMøde = mdato Call doc.save(True,False) End If Next
Men eneste resultat er beskeden : Cant get left-to-do list, \"databasen\" is not the agent\'s database.
Skal der rettes i adgangs lister, eller er der nogle indstillinger af agenten jeg ikke er opmærksom på??
Ja du skal være sikker på at serveren har ret til at tilgå databaserne.
Så skal du også lige være sikker på at du som bruger har adgang til at afvikle scripts i hele domænet. Hvis du ikke har det, kommer det til at knibe med at hente data i en anden database (Se i serverdokumentet, hvem der må afvikle scripts). Husk i ACL på alle databaser kan man angive på alle brugere om de har ret til at afvikle agenter.
Men ingen diskussion: Du kan sagtens tilgå en anden database fra dit script.
Så et lille hint: LAD VÆRE MED AT HENTE DOKUMENTER SOM DU GØR: dc.getnthdocument(j) - måden den funktion kører på er nemligt som følger:
Gør istedet således: Set dc = db.UnprocessedDocuments Set doc = dc.getfirstdocument Do until doc is nothing ... Her kan du sætte din if sætning. ... Set doc = dc.getnextdocument(doc) Loop
Hvis du vil tune performancen yderligere laver du et view, hvor første kolonne er Dato_Udvmøde. Så kan du lave en collection, hvor du KUN får fat i de dokumenter der har den dato du er ude efter.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.