Crystal - kopia pierwszej strony

Zapytania SQL, widoki, Crystal, definicje filtrów, szybkich raportów, wydruków, obiekty COM .NET

Moderator: mikey

dawid.c
Posty: 70
Rejestracja: 22 kwie 2010, 14:53
Rola: Użytkownik CDN XL
Wersja: 10

Crystal - kopia pierwszej strony

Post autor: dawid.c »

Witam serdecznie, mam takie pytanie.
Jak zrobić w Crystalu by zawsze pierwsza strona wydruku była drukowana np. 5 razy a kolejne normalnie.

Potrzebujemy coś takiego zrobić , wydruki mają czasami dwie strony czasami 6. Ważne by pierwsza zawsze drukowała się 5 razy.

Z góry dzięki za pomoc.

Awatar użytkownika
STAY_PJE
Posty: 646
Rejestracja: 24 wrz 2009, 12:08
Rola: Konsultant CDN XL
Lokalizacja: Warszawa i od Helu do Wawelu
Kontakt:

Re: Crystal - kopia pierwszej strony

Post autor: STAY_PJE »

To zależy co jest na tej pierwszej stronie - czy kilka różnych sekcji (nagłówek strony, nagłówek raportu, nagłówki grup), czy dane uporządkowane w obrębie detali lub grup. Jeśli sekcje są rozmaite to wydrukować ich kilkakrotnie się nie da. Jeśli dane da się w jakiś sposób uprządkować to da się napisać formułę, która każdą stronę będzie drukować 5 razy. Zbyt ogólne pytanie zadałeś aby uzyskac jakąś lepszą odpowiedź.

dawid.c
Posty: 70
Rejestracja: 22 kwie 2010, 14:53
Rola: Użytkownik CDN XL
Wersja: 10

Re: Crystal - kopia pierwszej strony

Post autor: dawid.c »

Dzięki bardzo za informację. Jakbyś mógł zerknąć na mój układ raportu.
Wszystko do stopki raportu d powinno być 5 razy wydrukowane, jest szansa to zrobić ?
Z góry dzięki za informację.
Obrazek

Awatar użytkownika
STAY_PJE
Posty: 646
Rejestracja: 24 wrz 2009, 12:08
Rola: Konsultant CDN XL
Lokalizacja: Warszawa i od Helu do Wawelu
Kontakt:

Re: Crystal - kopia pierwszej strony

Post autor: STAY_PJE »

Standardowo zrobić się tego nie da ale mam pomysł na pewien trick. Postępuj zgodnie z kolejnością ewoluując raport do kolejnych etapów:

1. Przerób ten raport w ten sposób, aby w ogóle nie drukował stron powyżej pierwszej. W każdej sekcji (na poziomie grupy i detali) dodaj formułę, która będzie ukrywać sekcję jeśli PageNumber>1. Sprawdź czy działa, czyli czy drukuje wyłącznie pierwszą stronę. Jeśli tak to przejdź do kolejnego etapu.

2. Zmodyfikuj formułę odpowiedzialną za ukrywanie sekcji bazując na formule odpowiedzialnej za informację czy faktura jest kopią czy oryginałem (niestety nie pamiętam nazwy tej zmiennej, a chwilowo nie mogę tego sprawdzić). Umownie nazwijmy tę formułę [Licznik kopii]. Wartość liczbowa w tej formule jest automatycznie inkrementowana przez XL-a gdy drukuje się więcej niż jednen egzemplarz dokumentu (0-pierwszy egzemplarz, czyli oryginał, 1-drugi egzemplarz czyli kopia, 3-n..- kolejne kopie). Modyfikacja formuły polega na tym aby dla wartości formuły [Licznik kopii]<5 sekcje były ukrywane.

3. Sprawdź w Crystalu jak zachowuje się raport, gdy wpiszesz na sztywno w tej formule wartość mniejszą od pięciu, a jak zachowuje się dla wyższych wartości. Jeśli OK to przejdź do kolejnego etapu.

4. Podłącz wydruk w XL-u, we właściwościach formatu ustaw licznik kopii na 6 (szósty egzemplarz ustawi jak sądzę wartość formuły [Licznik kopii] na 5). Puść wydruk bezpośrednio na drukarkę lub do pdf. Puszczenie na ekran nie spowoduje tego efektu, bo nie zależnie od ustawienia licznika kopii zawsze będzie drukował się tylko jeden egzemplarz.

Zakładam, że pierwszych pięć iteracji wydrukuje tylko stronę pierwszą, zaś szósta iteracja wydrukuje wszystkie strony.

ODPOWIEDZ