Avatar billede palle1976 Nybegynder
28. november 2006 - 10:45 Der er 7 kommentarer

Udskriv et dokument af gangen

Jeg har en agent som skal udskrive forskellige dokumenter. Mit problem er at jeg gerne vil have den til at udskrive et dokument inden den går videre til at udskrive det næste.

Jeg kan eventuelt stoppe agent-tråden ved at bruge codelock, men jeg ved ikke hvornår programmet er færdig med at printe.

Er der noget der ved om man kan lave codelock på en system variabel (eller lignende...), som gør at jeg kan stoppe agenten indtil dokumentet er udskrevet ?? Hvis i eventuelt kan komme med en anden løsning til dette problem er det perfekt.
Avatar billede jogii Nybegynder
28. november 2006 - 11:00 #1
Jeg printer et dokument ad gangen ved at oprette dokumentet ved at åbne det med UI kode, UI-print og UIClose(Immediatedly) og så næste dokument.
UI-afhngigheden gør at dokumentet. Hvis du allerede anvender UI-kode, så vis den her på siden så vi kan ret den til.
Avatar billede palle1976 Nybegynder
28. november 2006 - 11:19 #2
Set Doc = view.GetFirstDocument 
  While Not doc Is Nothing           
    Call UIView.SelectDocument( Doc )
    Select Case Ucase(doc.CaseSkuffeStyring(0))
           
    Case "POLICE", "SKADE SPECIFIKATION", "BREV", "SPECIFIKATION", "BILAG"
        Call uiview.Print(1)  ' udskriver 1 kopi fra side 1 til side 99 på bakke 2 (=Logo papir)
        Call Printdocument("Tray2Logopapir", printernavn, uiview.ViewName, templib)
                           
    End Select
Call view.refresh()
Call Workspace.ViewRefresh
Set doc = view.GetFirstDocument
           
Wend
Avatar billede palle1976 Nybegynder
28. november 2006 - 11:20 #3
Det er efter jeg har lavet kaldet "Call uiview.Print(1)" (som printer til en fil) jeg skal være sikker på at den er færdig med at printe inden min egen metode "Printdocument" bliver kaldt.
Avatar billede jogii Nybegynder
28. november 2006 - 11:49 #4
Ok, sådan ligger landet. Den er ikke helt nem.
Jeg tror min kode ligner din lidt og jeg har derfor ikke løsningen liggende.
Problemet er mao at du via UIPrint for skabt en slags PDF-fil (er det korrekt?) og den har sikkert samme navn ved hver print, korrekt?
Umiddelbart ville det kunne løses ved at PDF-printningen genererer unikke filnavne, og at du efterfølgende ÉN gang kalder din egen Printdocument, som udskriver alle filer i templib og derefter flytter/sletter dem.
Avatar billede palle1976 Nybegynder
28. november 2006 - 12:49 #5
Det er korrekt at mit dokument har samme filnavn hver gang, men det kunne nu sagtens ændres. Problemet ligger i at dokumenterne ikke skal udskrives fra samme skuffe hver gang og der for at det nødvendigt at kalde min printrutine efter hver dokument.

Den "Select Case" jeg har vist i eksemplet viser kun en dokumentype (for at det skal være overskueligt...), men den indeholder mange flere muligheder. Og hver dokumenttype har kan have forskellige måder de skal udskrives på.

Har du andre gode forslag, jeg har lidt svært ved at se en løsning på dette problem...
Avatar billede jogii Nybegynder
28. november 2006 - 13:06 #6
Du kan holde øje med rækkefølgen ved at gemme udskriftsdata i en liste/array og så sammenligne dem med rækkefølgen i udskriftsbiblioteket (oprettelsestidspunktet), så burde den være hjemme ...
Avatar billede palle1976 Nybegynder
30. november 2006 - 14:17 #7
Du har ret i at det kan gøres på den måde, men vi har helt droppet den måde at udskrive på, så jeg får det ikke testet. Men siden du fandt en løsning kan du smide et svar, så kommer der points.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester