[Crystal reports] Kopie van factuur

Pagina: 1
Acties:
  • 174 views sinds 30-01-2008
  • Reageer

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Topicstarter
(overleden)
Ik ben met crystal reports aan het klooien en loop tegen het volgende probleem aan:

Ik heb een DB met facturen en geef (in VB6) het report alleen een factuur ID door. Het report haalt de factuur op (en drukt 'm eventueel af). Nu wil ik echter ook een 2e pagina laten printen, namelijk een kopie van de factuur. Er zit geen verschil in deze pagina behalve dat het woordje "Factuur" nu "Kopie factuur" wordt.

Ik dacht gewoon een pagina erbij te maken in crystal reports (versie 9 overigens), maar dat gaat dus niet (wiedes eigenlijk volgens mij). Ik kan wel een formula field erin gooien met standaard waarde "factuur" en die vanuit VB wijzigen in "kopie factuur", maar dan moet ik 2 keer een "print" naar crystal sturen en krijg ik dus 2 x een "printing..." pop-up, gaat crystal 2 x mijn DB query-en en duurt het dus ook 2 x zo lang.

Ik wil eigenlijk op de één of andere manier dus crystal zo ver krijgen 2 pagina's te printen in plaats van 1. Iemand ideën hoe ik dit het beste aanpak? En hoe pak jij dit normaliter aan?

Ik kan voor zover ik kan zien/vinden op Google geen "pagina" toevoegen aan mijn report, hoogstens een sub-report, maar dan weet ik weer niet hoe ik hier mee verder moet.

Ik heb ook overwogen de records gewoon dubbel terug te geven en die in een group te knallen om zo 2 pagina's te forceren, maar behalve dat dit weer problemen geeft met mijn report-header (die verschijnt alleen op de eerste pagina van de factuur) is dit natuurlijk ook niet echt een mooie oplossing.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Gaat volgens mij niet zomaar lukken in CR, behalve op de 2x printen manier die je al aangaf.
Maar het enige nadeel is dan dat je 2x een "printing..." dialog krijgt te zien. In snelheid zal 't in het algemeen nauwelijks uitmaken, omdat de meeste printers toch een stuk langzamer zijn dan de gebruikte database connectie.

Voordeel: je kunt dan sturen of de copie naar een ander printer of papierbak (plain paper i.p.v. briefpapier) gaat, en dat kan weer kosten schelen. :)

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Topicstarter
(overleden)
Verwijderd schreef op 16 juli 2003 @ 14:14:
Gaat volgens mij niet zomaar lukken in CR, behalve op de 2x printen manier die je al aangaf.
Maar het enige nadeel is dan dat je 2x een "printing..." dialog krijgt te zien. In snelheid zal 't in het algemeen nauwelijks uitmaken, omdat de meeste printers toch een stuk langzamer zijn dan de gebruikte database connectie.

Voordeel: je kunt dan sturen of de copie naar een ander printer of papierbak (plain paper i.p.v. briefpapier) gaat, en dat kan weer kosten schelen. :)
Sh*t...Klopt ja. Ik heb idd geen rekening gehouden met verschillende bakken, en dat gebruik ik dus wel degelijk... :(

Ik heb idd deze oplossing al gebruikt en werkend (met verschillende printers en bakken), alleen vind ik het alleen een k*t oplossing. Ik heb die crystal juist aangeschaft om mij werk uit handen te nemen. Heb er onderhand even veel werk mee als dat ik 't zelf had geschreven... :(

...en de supportdesk heeft draagt dezelfde oplossing aan...

dit moet toch anders/beter kunnen?

[ Voor 12% gewijzigd door RobIII op 16-07-2003 14:31 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Troost je, je bent niet de enige.
Wij zijn sinds vorig jaar ook overgegaan van QuickReports (onder Delphi) naar CR 8.5 / 9, vooral vanwege die geweldige web-interface. Nou, vergeet 't maar: in ongeveer 50% van de pagina's geeft bij ons de .NET viewer "could not render page" als resultaat, terwijl de windows viewer er geen enkel probleem mee heeft.
Voor de webapplicaties laten we Crystal nu direct PDF-jes aanmaken (da's wel een voordeel, dat kon QuickReports niet uit zichzelf), maar dan ben je wel een hoop van de CR functionaliteit kwijt, zoals drill-down, etc.

Maar ik ben 't met je eens, CR kan een boel, maar het kost erg veel tijd om het naar wens in te passen binnen een applicatie.

Toevoeging:
Voor facturen in de Windows applicaties gebruiken wij CDO (Crystal Data Objects). De applicatie haalt 1 maal de data uit de database, en het maakt niet uit hoeveel copieen je wilt printen, CR krijgt z'n gegevens toch van de applicatie. Met als voordeel dat je vanuit de applicatie kunt sturen of er bv. wel of geen detailregels worden geprint ("totaal telefoonkosten" i.p.v. ieder gesprek afzonderlijk bv.).
In een webapplicatie kan dat ook (ietsje minder flexibel) met de XML-ondersteuning van CR 9.

[ Voor 29% gewijzigd door Verwijderd op 16-07-2003 14:52 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Topicstarter
(overleden)
...Ik bedenk zojuist iets...
Zoals ik al zei heb ik een formula field gebruikt, waar standaard de waarde "Factuur" in staat. Vervolgens wijzig ik die in VB6 voor de kopie in "Kopie factuur".

In CR heb je functies als PageNumber, PageNofM en TotalPageCount etc. Ik heb al even zitten kijken en zoeken, maar is er geen functie "CopyNofM" ofzo? Want dan gooi ik het aantal kopieen standaard op 2 en gooi ik in mijn formula-field iets als:
code:
1
2
3
4
5
If CopyNofM=1
  "Factuur"
else
  "Kopie factuur"
end if


...of mooier: :o
code:
1
  IIF(CopyNofM=1,"Factuur","Kopie factuur")


offtopic:
De documentatie van CR is ook zwaar bagger. En ik erger me al helemaal aan de "papierformaten" e.d. die je niet makkelijk kunt wijzigen. Ik heb er echt vet spijt van dat ik het ooit heb aangeschaft...

[ Voor 39% gewijzigd door RobIII op 16-07-2003 16:34 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • PieterJ
  • Registratie: Juli 2000
  • Laatst online: 21-08 09:35
Het enige wat ik nog kan verzinnen. (Niet geprobeerd.)
Maak gebruik van subreports.

Maar dat zal waarschijnlijk je layout overhoop gooien en je bent toch twee keer gegevens aan het verzamelen. Maar je hoeft maar één keer een print opdracht te sturen.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Topicstarter
(overleden)
PieterJ schreef op 16 July 2003 @ 17:21:
Het enige wat ik nog kan verzinnen. (Niet geprobeerd.)
Maak gebruik van subreports.

Maar dat zal waarschijnlijk je layout overhoop gooien en je bent toch twee keer gegevens aan het verzamelen. Maar je hoeft maar één keer een print opdracht te sturen.
Jah, maar ook een subreport levert geen 2e kopie op, wel? Want mijn factuur kan 1 blz. beslaan, maar ook 50.. Dus inc. kopie worden dat dan 100 blz. Een subreport lost daar toch niks aan op? Of mis ik iets?

Ik heb voorlopig toch mijn hoop nog even gevestigd op een CopyNofM functie ofzo...

[ Voor 7% gewijzigd door RobIII op 16-07-2003 17:28 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • PieterJ
  • Registratie: Juli 2000
  • Laatst online: 21-08 09:35
RobIII schreef op 16 juli 2003 @ 17:25:
[...]

Jah, maar ook een subreport levert geen 2e kopie op, wel? Want mijn factuur kan 1 blz. beslaan, maar ook 50.. Dus inc. kopie worden dat dan 100 blz. Een subreport lost daar toch niks aan op? Of mis ik iets?
Save je orginele report als fakt1.rpt. Vervolgens edit je "faktuur" in "kopie factuur". en deze save je als kfakt1.rpt.
Maak een nieuw report faktuur. Voeg beide reports in als subreport.

Maar zoals ik al zei: Ik weet niet of je layout intakt blijft. En je verzamelt nu twee keer het zelfde report. Dus zeker bij grote reporten zal dat ten koste gaan van je performance.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Topicstarter
(overleden)
...ben ik ook niet zo kapot van, maar wel bedankt voor de suggestie.

echt niemand met een creatieve oplossing?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Ik weet wel creative oplossing voor je probleem, maar dit werkt alleen als je op HP LaserJets afdrukt. Het produkt heet een ELP DIMM en eigenlijk zorgt dit ervoor dat de LaserJet zelf de kopieën maakt mbv een commando in de printstroom.
http://www.datascan.nl/product.php?productid=14

De oplossing kost wel aardig wat centjes ;)

Wat zou je nog meer kunnen doen? Eerst een printfile genereren ipv direct naar de printer printen en in de printfile zelf de printcommando's toevoegen om de kopie te maken. Daarna de gewijzigde printfile naar de printer queue kopieëren. Niet echt makkelijk, maar is misschien een optie.

It’s nice to be important but it’s more important to be nice

Pagina: 1