Autor Thema: Web Agent mit LS, need help  (Gelesen 4050 mal)

Offline Manolo

  • Frischling
  • *
  • Beiträge: 26
  • Me gusta este Forum mucho!!!!!!!!!
Web Agent mit LS, need help
« am: 11.08.04 - 15:06:39 »
Hi, ich bins wieder mal mit einer web frage oder besser gesagt mit einem Problem wo ich nicht lössen kann und somit eure hilfe brauche.

Ich habe eine search gebaut die im notes ohne probleme lauf aber auf dem Web nicht!!!

Hat irgend jemand eine Idee was mir noch fehlt oder was ich falsch mache.

Ich will nur das er mir das resultat auf einer neuer seite anzeigt, fehlt mir ein URL oder so.
Oder muss ich das ganze neu schreiben damit es auf dem web tute.

Hier der Code:

   Dim ws As New notesuiworkspace
   Dim session As New notessession
   Dim uidoc As notesuidocument
   
   Dim db1 As Notesdatabase
   Dim db2 As Notesdatabase
   Dim doc As notesdocument
   Dim doc1 As notesdocument
   Dim doc2 As notesdocument
   Dim view2 As Notesview
   Dim rtitem As NotesRichtextItem
   Dim rtitem2 As NotesRichtextItem
   Dim rtstyle As NotesRichtextStyle
   Dim item As NotesItem
   
   
   
   Dim IdxDbMax As Integer
   Dim IdxDb As Integer
   
   Dim PartNr As Long
   Dim DatVon As Variant
   Dim DatBis As Variant
   Dim ReNr As Long
   Dim StrPartNr As String
   Dim StrDatVon As String
   Dim StrDatBis As String
   Dim StrClass As String
   Dim StrKlasse As String
   Dim StrType As String
   Dim StrReNr As String
   Dim StrName As String
   Dim StrVorname As String
   Dim content As String
   
   Dim x As Integer
   Dim AzDoc1 As Long
   Dim AzDoc2 As Long
   
   Dim BoxTitel As String
   Dim xLng As Long
   Dim xStr As String
   Dim StrQuery As String
   
   BoxTitel = "Search Engine"
   
   Set uidoc = ws.currentdocument
   Set doc = uidoc.Document
   StrPartNr = doc.SearchPartnerNr(0)
   StrDatVon = doc.SearchDocDatumVon(0)
   StrDatBis = doc.SearchDocDatumBis(0)
   StrClass = doc.SearchDocClass(0)
   StrKlasse = doc.SearchDocKlasse(0)
   StrType = doc.SearchDocType(0)
   StrName = doc.SearchName(0)
   StrVorname = doc.SearchVorname(0)
   
   
   
   '-- Doc Datum Von
   '--
   If StrDatVon <> "" Then
      If Isdate(StrDatVon) Then
         DatVon = Cdat(StrDatVon)
      Else
         Goto ErrDatumVon
      End If
   End If
   
   '-- Doc Datum Bis
   '--
   If StrDatBis <> "" Then
      If Isdate(StrDatBis) Then
         DatBis = Cdat(StrDatBis)
      Else
         Goto ErrDatumBis
      End If
   End If
   
   '-- Tabelle abfüllen
   '--
   IdxDbMax = -1
   Forall DbNameX In doc.DbName
      IdxDbMax = IdxDbMax + 1
   End Forall
   
   '-- open Db nach Doc.klasse
   '--
   IdxDb = 0
   For x = 1 To IdxDbMax
      If StrClass = doc.PartNrV(x) Then
         idxDb = x
         Exit For
      End If
   Next
   
   '-- set rtitem
   '--
   Set db1 = session.CurrentDatabase
   Set doc1 = New notesdocument(db1)
   Set rtstyle = session.CreateRichTextStyle
   
   If (doc1.hasitem("Body")) Then
      Set rtitem = doc1.getfirstitem("Body")
   Else
      Set rtitem = New notesrichtextitem(doc1, "Body")
   End If
   
   rtstyle.Bold = False
   rtstyle.NotesColor = COLOR_BLACK
   'rtstyle.NotesFont = FONT_HELV
   rtstyle.Italic = False
   
   Call rtitem.AppendStyle(rtstyle)
   
   
   '-- Suchen in der DB
   '--
   AzDoc1 = 0
   AzDoc2 = 0
   Set db2 = New notesdatabase(db1.server,doc.DbName(IdxDb))
   Set view2 = db2.GetView(doc.ViewNameKey(0))
   Set doc2 = view2.GetFirstDocument
   
   
   Do While Not (doc2 Is Nothing)
      
      If StrPartNr <> "" Then
      '-- Partner Nummer
         If StrPartNr = "" Then Goto ErrPartnerNr   
         If Isnumeric(StrPartNr) Then
            On Error Goto ErrPartNrOverflow
            PartNr = Clng(StrPartNr)
            On Error Goto errorX
            If PartNr = 0 Then
               Goto ErrPartNr0
            End If
      '-- ohne führende Nullen
            StrPartNr = Cstr(PartNr)
         Else
            Goto ErrPartnerNr
         End If
         Forall PNRSearch In doc2.PNRSearch
            If Instr(PNRSearch,StrPartNr) > 0 Then
               If DatVon <> "" Then
                  If DatVon > doc2.PDatum(0) Then
                     Goto NextRead
                  End If
               End If
               If DatBis <> "" Then
                  If DatBis < doc2.PDatum(0) Then
                     Goto NextRead
                  End If
               End If               
               Goto Addtabelle
            End If
         End Forall
      End If
      
      If StrName <> "" Then
         Forall PName In doc2.PName
            If Instr(PName,StrName) > 0 Then
               If DatVon <> "" Then
                  If DatVon > doc2.PDatum(0) Then
                     Goto NextRead
                  End If
               End If
               If DatBis <> "" Then
                  If DatBis < doc2.PDatum(0) Then
                     Goto NextRead
                  End If
               End If      
               Goto Addtabelle
            End If
         End Forall
      End If
      
      If StrVorname <> "" Then
         Forall PVorname In doc2.PVorname
            If Instr(PVorname,StrVorname) > 0 Then
               If DatVon <> "" Then
                  If DatVon > doc2.PDatum(0) Then
                     Goto NextRead
                  End If
               End If
               If DatBis <> "" Then
                  If DatBis < doc2.PDatum(0) Then
                     Goto NextRead
                  End If
               End If      
               Goto Addtabelle
            End If
         End Forall
      End If
      
      If DatVon <> "" Then
         If DatVon <> "" Then
            If DatVon > doc2.PDatum(0) Then
               Goto NextRead
            End If
         End If
         If DatBis <> "" Then
            If DatBis < doc2.PDatum(0) Then
               Goto NextRead
            End If
         End If      
         Goto Addtabelle
      End If   
      
      Goto NextRead   
      
      '-- hinzufügen vom neuen element
      '--
Addtabelle:
      AzDoc1 = AzDoc1 + 1
      rtstyle.FontSize = 8
      Call rtitem.AppendStyle(rtstyle)
      
      Call rtitem.AppendDocLink(doc2,"")
      Call rtitem.addtab(1)
      
      If Isdate(doc2.Createdate(0))  Then
         Call rtitem.appendtext(Left(Cstr(doc2.PDatum(0)), 10))
      End If
      Call rtitem.addtab(1)
      
      'Call rtitem.AppendStyle(rtstyle)
      'Call rtitem.appendtext(doc2.DocKlasse(0))
      'Call rtitem.addtab(1)
      
      Call rtitem.appendtext(doc2.DocType(0))
      Call rtitem.addtab(1)
      
      Call rtitem.appendtext(doc2.Title(0))
      Call rtitem.addtab(1)
      
      Call rtitem.appendtext(Cstr(doc2.nichts(0)))
      Call rtitem.addnewline(2)
      
NextRead:
      Set doc2 = view2.GetNextDocument(doc2)   
   Loop
   
   '--
   '-- Wurden Documente gefunden
   '--
   If AzDoc1 = 0 Then
      Goto ErrNoDoc      
   End If
   
   Call doc1.replaceitemvalue("Form","SearchResults")
   '-
   '- String Query abfüllen
   '-
   StrQuery = "Partner-Nr. = " & StrPartNr
   If StrDatVon <> "" Then
      StrQuery = StrQuery & ", Datum von = " & StrDatVon
   End If
   If StrDatBis <> "" Then
      StrQuery = StrQuery & ", Datum bis = " & StrDatBis
   End If
   'If StrKlasse <> "" Then
   '   StrQuery = StrQuery & ", Dokument-Klasse = " & StrKlasse
   'End If
   If StrType <> "" Then
      StrQuery = StrQuery & ", Dokument-Typ = " & StrType
   End If
   If StrReNr <> "" Then
      StrQuery = StrQuery & ", Rechnungs-Nr. = " & StrReNr
   End If
   Call doc1.replaceitemvalue("Current", "Suchkriterien: " & StrQuery)
   
   Call rtitem.CopyItemToDocument( doc1, "$$Body" )
   Call ws.EditDocument(True, doc1)
end sub

THX Manolo

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Web Agent mit LS, need help
« Antwort #1 am: 11.08.04 - 15:14:21 »
11. Du sollst keine UI-Klassen in Web-Agents verwenden!
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Web Agent mit LS, need help
« Antwort #2 am: 11.08.04 - 15:15:09 »
12. Du sollst nicht ohne Error-Handler aus dem Haus gehen!
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re:Web Agent mit LS, need help
« Antwort #3 am: 11.08.04 - 15:29:47 »
Anstatt den uiworkspace und das uidoc solltest Du im Web
die Notessession und den Documentcontext benutzen....
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline Manolo

  • Frischling
  • *
  • Beiträge: 26
  • Me gusta este Forum mucho!!!!!!!!!
Re:Web Agent mit LS, need help
« Antwort #4 am: 12.08.04 - 11:03:12 »
12. Du sollst nicht ohne Error-Handler aus dem Haus gehen!

Habe ich nicht gepostet da sonst das script noch länger wird.

Offline Manolo

  • Frischling
  • *
  • Beiträge: 26
  • Me gusta este Forum mucho!!!!!!!!!
Re:Web Agent mit LS, need help
« Antwort #5 am: 12.08.04 - 11:04:32 »
Anstatt den uiworkspace und das uidoc solltest Du im Web
die Notessession und den Documentcontext benutzen....

Hallo

Merci für die antwort, aber ich werde nicht so ganz schlau was du damit meinst???


Offline Manolo

  • Frischling
  • *
  • Beiträge: 26
  • Me gusta este Forum mucho!!!!!!!!!
Re:Web Agent mit LS, need help
« Antwort #6 am: 13.08.04 - 11:54:27 »
Hallo Noch mals!!!

Ich schnall das nicht so ganz was muss ich jetzt genau abändern damit es auch auf dem web klappt,

Madmission

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re:Web Agent mit LS, need help
« Antwort #7 am: 13.08.04 - 13:02:09 »
Also ganz simpel:

KEINE UI KLASSEN IM WEB! ->keine NotesUIWorkspace -> Kein NotesUIDOcument

Als Lösung kannst Du direkt das aktive Dokument via DocumentContext erhalten s.h. Code
Code

     Dim session As New notessession
     
   Dim db1 As Notesdatabase
   Dim db2 As Notesdatabase
   Dim doc As notesdocument
   Dim doc1 As notesdocument
   Dim doc2 As notesdocument

   <SCHNIPP>
   
   BoxTitel = "Search Engine"
   

 Set doc = session.DocumentContext


   StrPartNr = doc.SearchPartnerNr(0)
   StrDatVon = doc.SearchDocDatumVon(0)
   StrDatBis = doc.SearchDocDatumBis(0)
   StrClass = doc.SearchDocClass(0)
   StrKlasse = doc.SearchDocKlasse(0)
   StrType = doc.SearchDocType(0)
   StrName = doc.SearchName(0)
   StrVorname = doc.SearchVorname(0)
<schnipp>
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz