Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Ming am 20.09.04 - 19:52:13

Titel: Komplette Ansicht incl Datensätze drucken
Beitrag von: Ming am 20.09.04 - 19:52:13
Mein Druckproblem unter LoNo:

Über eine Schaltfläche sollen alle über eine Maske befüllten Ansichten incl. derer Datensätze automatisch markiert und ausgedruckt werden ohne die jeweiligen Ansichten zuvor zu öffnen.
 Sprich einen Gesamtreport erstellen.
 Nach stundenlanger Recherche im Internet und LoNo-Foren komme ich einfach nicht weiter. Ich möchte kein AddOn-Produkt wie Notes To Paper kaufen. Geht das nicht irgendwie auch mit LN direkt über ein Script?!
Titel: Re:Komplette Ansicht incl Datensätze drucken
Beitrag von: MartinG am 20.09.04 - 20:19:39
Zitat
über eine Schaltfläche sollen alle über eine Maske befüllten Ansichten incl. derer Datensätze automatisch markiert und ausgedruckt werden ohne die jeweiligen Ansichten zuvor zu öffnen.  

Ehrlich gesagt verstehe ich nicht wirklich was Du willst? Was verstehst Du über eine Maske befüllten Ansichten bzw. Datensätze?

In der Notes-Welt gibt es Ansichten, Masken, Dokumente und Felder und wenn Du diese Begriffe verwendest dann wird das ganze sicherlich klarer...
Titel: Re:Komplette Ansicht incl Datensätze drucken
Beitrag von: TMC am 20.09.04 - 20:34:14
Du könntest z.B. durch eine View loopen und mit set uidoc = uiws.editdocument(docCurrent) das BackendDoc als UIDocument setzen.
Zum Drucken selbst kannst Du die Print Methode der NotesUIDocument-Klasse verwenden.

Oder Du nimmst die Print - Methode der notesUIView - Klasse.
Titel: Re:Komplette Ansicht incl Datensätze drucken
Beitrag von: Ming am 20.09.04 - 21:05:19
Na ja über Print ist ja ganz nett..aber nur wenn die Ansicht geöffnet ist..bzw in der Ansicht per Maus manuell die Datensätze selektiert werden alles kein Problem. Die DB besitzt jedoch ca. 25 Ansichten! Es ist für mich etwas schwierig diese Problem zu lösen, da ich kein Proggy bin...ein Autodidakt wühlt sich so durch die Hilfestellungen von LoNo und diesem Forum..
Titel: Re:Komplette Ansicht incl Datensätze drucken
Beitrag von: TMC am 20.09.04 - 21:38:39
Nö, Du kannst ja per Script eine (oder mehrere) Views abarbeiten.

z.B.
Set doc = view.getfirstdocument
 while Not (doc Is Nothing)
  Set uidoc = uiws.editDocument(false, doc, true)
  Call uidoc.print
  Call uidoc.close
  Set doc = view.GetNextDocument(doc)
wend
Titel: Re:Komplette Ansicht incl Datensätze drucken
Beitrag von: koehlerbv am 20.09.04 - 21:51:33
... da ich kein Proggy bin...

Ich verstehe sowas nach wie vor nicht: Kein Programmierer, aber programmieren wollen ... Bei wem lässt Du Deine Zähne behandeln, wer war Dein Fahrlehrer, wo lässt Du Dein Auto reparieren ?

Bernhard
Titel: Re:Komplette Ansicht incl Datensätze drucken
Beitrag von: Heiggo am 20.09.04 - 22:40:12
Heee, enttäusch uns nicht, wo ist denn dein berühmtes Zitat...

Notes wurde nicht zum drucken... etc.  ;D

Ich verstehe sowas nach wie vor nicht: Kein Programmierer, aber programmieren wollen ... Bei wem lässt Du Deine Zähne behandeln, wer war Dein Fahrlehrer, wo lässt Du Dein Auto reparieren ?
Bernhard
Titel: Re: Komplette Ansicht incl Datensätze drucken
Beitrag von: Ming am 24.09.04 - 21:48:51
Danke TMC for your Commentation...Ergänzung: Anscheinend sind einige Kommentatoren hier aufgrund ihrer unqualifizierten Kommentare auf ihr Kleinhirn gefallen...bisher war ich es gewohnt, das man hier NETT miteinander umgeht....naja...es menschelt halt...lol
Titel: Re: Komplette Ansicht incl Datensätze drucken
Beitrag von: koehlerbv am 24.09.04 - 22:10:10
Anscheinend sind einige Kommentatoren hier aufgrund ihrer unqualifizierten Kommentare auf ihr Kleinhirn gefallen...bisher war ich es gewohnt, das man hier NETT miteinander umgeht....naja...es menschelt halt...lol

Obicht, Ming ! Nicht beleidigend werden ! Oder hat Dich jemand beleidigt ?

Vielleicht hätte man es weniger sarkastisch schreiben können:
Notes kann eine derart "user-specific action" nicht von alleine ausführen.
Mit Notes kann man sowas aber ohne weiteres machen.
Dazu darf man aber kein "kein Proggy" sein.

Ich werde mir auf jeden Fall Mühe geben, meinen Sarkasmus mehr zu zügeln. Das "Ich will etwas, was ich nicht kann" und die Aufforderung an andere, das auszubügeln, nerven mich aber, weil es an keiner Stelle zu etwas führt.
Wenn Du lernen willst, wie "Notes tickt" und lernen willst, für Notes zu programmieren, dann bist Du hier an der richtigen Stelle. Versprochen !

Bernhard
Titel: Re: Komplette Ansicht incl Datensätze drucken
Beitrag von: Ming am 24.09.04 - 22:46:27
Nett...es geht doch...Spass bei Seite....ich weiß wie LN funzt...ich habe einige DB´s aufgebaut und sie laufen prächtig...aber LN hat Grenzen...dazu zählen nun mal die Druckroutinen. Und zum Thema Wissensmanagment, so sehe ich dieses Forum, hat nichts mit "Macht mal Leut isch han ein Problem" zu tun.
O.K. Ich lass mich mal überraschen.

Also zur Verdeutlichung was ich nicht realisiert bekomme:

In einer Maske sind Datenfelder eingebunden. Über verschiedene Ansichten werden die jeweiligen Datenfelder selektiert angezeigt(Spalten).
Es werden neue Datensätze erstellt und Datenfelder befüllt.

Es sollen nun alle Ansichten und deren Datensätze/Datenfelder automatisch per Schaltflächenclick in einer Rahmendarstellung(so ist die DB aufgebaut) markiert und sortiert werden, ohne die Ansichten zu öffnen und anschließend ausgedruckt werden.   Ich hoffe, man kann mir folgen wie das Problem zu verstehen ist.
Titel: Re: Komplette Ansicht incl Datensätze drucken
Beitrag von: koehlerbv am 24.09.04 - 23:03:58
Es sollen nun alle Ansichten und deren Datensätze/Datenfelder automatisch per Schaltflächenclick in einer Rahmendarstellung(so ist die DB aufgebaut) markiert und sortiert werden, ohne die Ansichten zu öffnen und anschließend ausgedruckt werden.   Ich hoffe, man kann mir folgen wie das Problem zu verstehen ist.

Nein, ich kann nicht folgen. Ansichten haben keine "Datensätze / Datenfelder", sie stellen Feldinhalte aus Dokumenten dar oder auf Dokumentinhalten berechnete Inhalte.
Markiert und sortiert ? Das gehört erläutert.
Willst Du alle Docs der DB ausdrucken ? Das ginge nur im FrontEnd (und dazu müsste Deine DB gar keine Ansichten haben), aber nicht in R5, da das dauernde Öffnen (,Drucken) und Schliessen der Docs nicht funktioniert.
Im Backend drucken geht prinzipiell nicht (ohne Zusatztools).

Warum machst Du nicht einfach eine Ansicht, die alle Deine zu druckenden Docs anzeigt und dann einen Button mit @Commands ? Das würde funktionieren.

Bernhard
Titel: Re: Komplette Ansicht incl Datensätze drucken
Beitrag von: Kadlec am 25.09.04 - 07:13:03
Nein, ich kann nicht folgen.
...und ich dachte schon ich wär wieder der einzige ders nicht kapiert hat.
Titel: Re: Komplette Ansicht incl Datensätze drucken
Beitrag von: Ming am 25.09.04 - 16:54:16
Ich hab es mal versucht anhand eines fiktiven Beispiels bildlich darzustellen.
Titel: Re: Komplette Ansicht incl Datensätze drucken
Beitrag von: eknori (retired) am 25.09.04 - 18:02:21
Du möchtest also Ansichten drucken. Die Ansichten basieren auf 1 - n Feldern der Grundgesamtheit aller Felder der den Dokumenten zugrundeliegenden Maske (n).

Grundsätzlich kannst du jedes Dokument drucken, egal in welcher Ansicht es sich befindet. So wie ich es verstanden habe, willst du aber die Ansichten drucken. Und die sind unterschiedlich aufgebaut. Ist wohl nicht unmöglich, mir fällt aber spontan keine Lösung ein ...

Das ist nicht ganz trivial; du musst zunächst einmal herausfinden, wie die zu druckende Ansicht aussieht ( welche Felder der Maske werden verwendet ) Dann musst du die Dokumente der Ansicht anhand der View Selection aus der Grundgesamtheit aller in der Datenbank verfügbaren Docs filtern und gem. des Ansichtenaufbaus die betreffenden Felder ausdrucken.
So in etwa.

Soweit meine 2 Cent
Titel: Re: Komplette Ansicht incl Datensätze drucken
Beitrag von: koehlerbv am 25.09.04 - 20:17:51
Wenn wirklich der Inhalt der Ansicht gedruckt werden soll (im Sinne von "die Ansicht") und keine Dokumente, folgende definitive Aussage:

Da Notes nicht im Backend drucken kann, ist es vollkommen unmöglich, Ansichten zu drucken, ohne diese hierzu vorher im Frontend zu öffnen.

Amen.

Bernhard

PS: Oder wir erfahren doch noch, dass etwas ganz anderes gedruckt werden soll und das Herr Ming sich hierfür auch in die Programmiererei einarbeiten würde ...
Titel: Re: Komplette Ansicht incl Datensätze drucken
Beitrag von: Ming am 25.09.04 - 23:19:38
Nun ja, da ich die Db aufgebaut habe, kenne ich natürlich die Felder und Ansichten...aber wie Du schon gesagt hast, geht es leider nur im Frontend-Bereich..und nur durch manuelles markieren der Dokumente in der geöffneten Ansicht werden alle Dokus gedruckt.

Irgendwie hab ich das Gefühl, wohl doch so ein Tool wie NotesToPaper beschaffen zu lassen. Ich dank Euch erst mal für eure Kommentare.
Titel: Re: Komplette Ansicht incl Datensätze drucken
Beitrag von: eknori (retired) am 25.09.04 - 23:24:32
Die Frage ist immer noch, was ist der Sinn eines solchen Stunts ? Mir ist bisher noch nie in den Sinn gekommen, nicht sichtbare Views auzudrucken ...
Titel: Re: Komplette Ansicht incl Datensätze drucken
Beitrag von: koehlerbv am 25.09.04 - 23:25:51
Und jetzt ist immer noch nicht die Frage beantwortet: Willst Du ANSICHTEN oder DOKUMENTE drucken ? Kannst Du diese einfache Frage nicht einfach mal beantworten ?

Bernhard
Titel: Re: Komplette Ansicht incl Datensätze drucken
Beitrag von: Ming am 28.09.04 - 08:26:36
Alle erzeugten Dokumente!!!!!!!!!!!!!!!!!
Titel: Re: Komplette Ansicht incl Datensätze drucken
Beitrag von: Kadlec am 28.09.04 - 11:01:15
Also einfach eine Ansicht aufrufen, alle doks. anwählen und diese dann drucken??
Das geht doch sogar mit @Command.

Da gibt es ein @Command([ViewChange]), ein @Command([EditSelectAll]) usw. würde das nicht ausreichen??

Boris
Titel: Re: Komplette Ansicht incl Datensätze drucken
Beitrag von: Ming am 08.11.04 - 12:18:08
Diese Möglichkeit kommt meinen Vorstellungen schon recht nahe.

Habe dazu eine neue Ansicht (Druckansicht) erstellt.

In der Menueleiste habe ich eine Schaltfläche mit dem u.a. LN-Script eingebunden.
Nach Aktivierung wird ein Auswahlfenster angezeigt, wo man die jeweilige Ansicht auswählen kann um dann die Dokumente aus der DB automatisch in eine Excel-Tabelle einzubinden. Die Excel-Zellen werden automatisch angepasst. Danach kann man nun einen vernünftigen Druckauftrag erstellen.

Einziger Manko: Ich hätte es gerne auf der Word-Plattform.

Wer kennt sich mit diesen Portierungen aus? :-(
Das Script ist nicht auf meinem Mist gewachsen.

Sub Click(Source As Button)
   Dim Session As New NotesSession ,db As NotesDatabase
   Dim sourceview As NotesView,sourcedoc As NotesDocument
   Dim dataview As NotesView, dc As NotesDocumentCollection
   Dim datadoc As NotesDocument, maxcols As Integer
   Dim WS As New Notesuiworkspace
   Dim ViewString As String, Scope As String, GetField As Variant
   Dim C As NotesViewColumn, FieldName As String, K As Integer,N As Integer
   Dim xlApp As Variant, xlsheet As Variant, rows As Integer, cols As Integer
   Dim nitem As NotesItem  , entry As NotesViewEntry, vwNav As NotesViewNavigator
   Dim ShowView()  As Variant, i As Integer, VList As Variant, ColVals As Variant
   
   Set db = session.CurrentDatabase   'link to current database
   
        'fetch then display a list of views in the database
   Vlist= db.views
   K=Ubound(Vlist)  'get size of list
   Redim Preserve ShowView(K)
   N=-1
   For i = 0 To K
      If Len(Vlist(i).Name) >0 Then 
         FieldName=Trim(Vlist(i).Name)
         If Mid(Fieldname,1,1) <>"(" Then  'do not show hidden views
            N=N+1                         
            ShowView(N) = FieldName
         End If
      End If 
   Next i 
   Redim Preserve ShowView(N)
     'now sort the list - by default views are listing in the order that they were created
   For i=0 To N
      For K=i To N
         If  ShowView(i) > ShowView(k) Then
            FieldName=ShowView(i) 
            ShowView(i) = ShowView(k)
            ShowView(k)=FieldName
         End If
      Next k
   Next i 
   
   viewstring= ws.Prompt(PROMPT_OKCANCELLIST,"Liste der Ansichten","Wählen Sie eine Ansicht","",ShowView )
   If Len(viewstring)=0 Then Exit Sub
        'ViewString ="Dan's View"
   
   Set dataview = db.getview(ViewString)  'get selected view
   
   Set vwnav= dataview.createViewnav()
   
   rows = 1
   cols = 1
   maxcols=dataview.ColumnCount  'how many columns?
   
   Set xlApp = CreateObject("Excel.Application")  'start Excel with OLE Automation
   xlApp.StatusBar = "Generiere Arbeitsblatt. Bitte warten..."
   xlApp.Visible = True
   xlApp.Workbooks.Add
   xlApp.ReferenceStyle = 2
   Set xlsheet = xlApp.Workbooks(1).Worksheets(1)   'select first worksheet
   
        'worksheet title
   xlsheet.Cells(rows,cols).Value ="Ansicht: " + ViewString + ", aus Datenbank: " +  db.title +",  Auszug vom: " +  Format(Now,"mm/dd/yyyy HH:MM")
   
   xlApp.StatusBar = "Generiere Überschriften. Bitte warten..."
   
   rows=2  'column headings starts in row 2
   For K=1 To maxcols
      Set c=dataview.columns(K-1)
      xlsheet.Cells(rows,cols).Value = c.title
      cols = cols + 1
   Next K
   
   Set entry=vwnav.GetFirstDocument
   rows=3   'data starts in third row
   Do While Not (entry Is Nothing)
      
      For cols=1 To maxcols 
         colvals=entry.ColumnValues(cols-1)      'subscript =0
         scope=Typename(colvals)
         Select Case scope
         Case "STRING"
            xlsheet.Cells(rows,cols).Value ="'" +  colvals
         Case Else     
            xlsheet.Cells(rows,cols).Value = colvals
         End Select                     
      Next cols             
      xlApp.StatusBar = "Importiere Daten  -    Dokument " & rows-1 '& " of " & dc.count & "." 
      rows=rows+1
      Set entry = vwnav.getnextdocument(entry)               
   Loop
   
   xlApp.Rows("1:1").Select
   xlApp.Selection.Font.Bold = True
   xlApp.Selection.Font.Underline = True
   xlApp.Range(xlsheet.Cells(2,1), xlsheet.Cells(rows,maxcols)).Select
   xlApp.Selection.Font.Name = "Arial"
   xlApp.Selection.Font.Size = 9
   xlApp.Selection.Columns.AutoFit
   With xlApp.Worksheets(1)
      .PageSetup.Orientation = 2
      
      .PageSetup.centerheader = " " 'Hier kann man eine Titel für den Ausdruck vorgeben
      '.Pagesetup.RightFooter = "Seite &P" & Chr$(13) & "Datum: &D"
      .Pagesetup.CenterFooter = ""
   End With
   xlApp.ReferenceStyle = 1
   xlApp.Range("A1").Select
   xlApp.StatusBar = "Import aus Lotus Notes abgeschlossen."
        'xlapp.ActiveWorkbook.saveas "c:VX" + Trim(Format(Now,"yyy"))   'save with generated name
   dataview.clear 
   
   Set xlapp=Nothing   'stop OLE
   Set db=Nothing
End Sub
Titel: Re: Komplette Ansicht incl Datensätze drucken
Beitrag von: Axel am 08.11.04 - 12:35:23
Hi,

hier (http://www.free.dominoserver.de/computer/noteslibrary.nsf/d2d59a3d7fc73a2bc1256a6900638352/331dd66d2239a1b2c1256dc50038f49e!OpenDocument) findest du generelle Hinweise wie man Notes-Daten nach Word bekommt.

Ausserdem gibt's hier im Forum eine ganze Menge Threads dazu. Bemüh' mal die Suche.
In der Sandkiste gibt's auch Beispiele zu em Thema. Auch da sollte was dabei sein.

Aber mal ganz dumm gefragt, was spricht denn gegen Excel?   ???


Axel
Titel: Re: Komplette Ansicht incl Datensätze drucken
Beitrag von: Ming am 08.11.04 - 13:08:53
Die Geschäftsführung! You know what i mean....
Titel: Re: Komplette Ansicht incl Datensätze drucken
Beitrag von: Axel am 08.11.04 - 13:14:18
Hi,

I know what you mean, aber...

Wenn du in Word das Ganze auch in Tabellenform haben willst ist das aber aufwändiger als in Excel.

Auch eine Geschäftsleitung kann man überzeugen.

Axel