[RaveReports] - wybór drukarki oraz etykiety

0

Witam...

Zadawałem już kiedyś pytanie dotyczące wyboru drukarki, ale jakoś nikt nie znalazł rozwiązania - ponieważ problem powrócił, a ówczesne rozwiązanie zastępcze nie da się teraz zastosować, pozwolę sobie ponowić...


Jak wybrać na którą drukarkę będzie drukowany raport - tylko proszę nie piszcie że można dać userowi okienko z wyborem drukarki - chodzi o 'automat' który kieruje odpowiednie wydruki na odpowiednie drukarki, zależnie od zawartości, od zajętości drukarek itp... w dodatku drukarka domyślna może być zmieniana przez użytkownika i nie może to mieć wpływu na działanie mojego programu do wydruków - działa on w tle i drukuje co trzeba bez ingerencji z zewnątrz. Nie działa niestety przypisanie nazwy drukarki do właściwości 'Printer' raportu (zarówno w 'OnBeforePrint' jak i w 'OnBeforeReport'. Nie zadowala mnie również zrobienie kilku raportów z przypisanymi różnymi drukarkami, bo dodanie nowej drukarki spowoduje że trzeba będzie robić nowy raport, podobnie jak zmiana nazwy drukarki przez usera....

W starym programie (jeszcze w D5) w QR bez problemu dało się przypisać drukarkę, w tabeli konfiguracyjnej miałem nazwy drukarek i powiązanie z wydrukami i chciałbym taki model utrzymać, niestety albo RR wydaje się być gorszy pod tym względem, albo jest to tak ukryte, że dotąd nie udało się tego odkryć.. ;)


Druga sprawa, czy robił ktoś przez RR obsługę drukarek do etykiet? Niby wszystko OK, ale przy małych etykietach (30x20 mm) wszystko mi się rozjeżdża... nie mogę pozbyć się marginesów w RR, mimo że we właściwościach drukarki jest wszystko OK...

0

Właśnie metodą prób i błędów znalazłem rozwiązanie pierwszego problemu - otóż można przekazać do raportu nazwę drukarki jako parametr, tylko że samo ustawienie tej drukarki w raporcie, odbywa się przez OnBeforeReport, ale nie jak można się było spodziewać raportu, czy choćby strony, ale jakiegoś komponentu tekstowego umieszczonego bezpośrednio na stronie... (nie sprawdziłem czy na regionie też zadziała, ale nie ma to już znaczenia skoro problem jest rozwiązany)

Tak więc w programie ustawiamy parametr np. 'drukarka',
w raporcie jakiemuś label`owi przypisujemy dla OnBeforeReport kod

Report1.Printer := RaveProject.GetParam('drukarka');

i po sprawie...

Czemu nie działa w tym samym zdarzeniu dla raportu czy strony? pojęcia nie mam :(

1 użytkowników online, w tym zalogowanych: 0, gości: 1