Biuletyn techniczny Zmiany w plikach definicji wydruków programu Report Writer - Przykłady Copyright 2008 COMARCH SA
Wstęp Wydruki z programu wykonane w narzędziu Clarion Report Writer moŝna edytować za pomocą programu edycyjnego Clarion Report Writer w wersji 5.5 ( dostarczanego przez firmy trzecie ). efinicja wydruku jest zawarta w pliku tekstowego o sformatowanej strukturze. zięki temu istniej moŝliwość wykonania niewielkich zmian w definicji wydruku bez uŝycia narzędzia graficznego, moŝna skorzystać z zwykłego edytora tekstu (np. systemowy notepad.exe). o wykonywania bardziej skomplikowanych zmian np. stworzenia wydruku potrzebne jest narzędzie graficzne. Podstawowy opis struktury plików TXR z definicją wydruków zawiera artykuł: OPT027-Struktura pliku raportucrw Spis przykładów zamieszczonych w dokumencie: Q: W jaki sposób przenieść wydruk standardowy do wydruków uŝytkownika....3 Q: W jaki sposób moŝna przeprowadzać drobną zmianę wydruku faktury: chodzi o to, aby czcionka opisująca towar bądź usługę była trochę większa i ewentualnie wytłuszczona....4 Q: Chciałabym fakturę wystawioną w EURO i drukowaną tylko w EURO ( 3 typ ) zmodyfikować w ten sposób: Pod tabelką umieścić 5 linii po 60 znaków tekstu stałego zawierającego jednak zmienne wartości dotyczące ilości kartonów, wagi netto, wagi brutto. Tekst nad tabelką juŝ wykorzystuję: czy moŝna drukować większą ilość znaków?...4 Q: Chciałbym zmienić w wydruku Paragonu w sekcji la / Od kogo pole kod podmiotu na jego nazwę....5 Q: Prosimy o sugestię w sprawie modyfikacji wydruku płatności nierozliczonych w programie CN OPT!MA. Chodzi o uzupełnienie wydruku o dodatkowe informacje np. miasto, nr telefonu...5 Q: Jak dodać logo do dokumentu FA...6 Q: Mam jaszcze jeden problem jak zmienić nagłówek na wydruku faktury sprzedaŝy z Faktura VAT na Faktura VAT komis...6 Q: Jak wyświetlać róŝnice między datami w dniach....7 Q: Jak wprowadzić warunkowe wyświetlanie tekstu opisu...7 Q: Jak dodać opisu w postacie tekstu na dokument....7 Q: Chciałbym za pomocą narzędzia Clarion Report Writer do zestawienia z listy MM które funkcjonuje aktualnie w CN OPTIMIE dodać kolumnę pokazującą sumę ilości towaru na danym dokumencie (przyjmując Ŝe towar jest tylko w sztukach)...8 Zmiany w plikach definicji wydruków programu Report Writer - Przykłady Str. 2
Q: W jaki sposób przenieść wydruk standardowy do wydruków uŝytkownika. A: Po otwarciu managera wydruków na oknie z którego wywołuje się interesujący nas wydruk wybieramy gałąź z przenoszonym wydrukiem i trzymając klawisz CTRL przeciągamy gałąź do wydruków uŝytkownika. Np. przenoszenie wydruku faktury Formatowany numer moŝe wyglądać następująco: 1. W wydrukach uŝytkownika tworzymy gałąź do której podłączymy wydruk standardowy: 2. Korzystając w mechanizmu drag & drop. Ustawiamy kursor z okna prawego na wydruku który będziemy przenosić i trzymając klawisz CTRL przeciągamy zaznaczony wydruk do utworzonej gałęzi w wydrukach uŝytkownika. Końcowy rezultat operacji: Copyright 2008 COMARCH SA
Q: W jaki sposób moŝna przeprowadzać drobną zmianę wydruku faktury: chodzi o to, aby czcionka opisująca towar bądź usługę była trochę większa i ewentualnie wytłuszczona. A: Musi Pan przenieść wydruk FA do wydruków uŝytkownika. NaleŜy wykonać to następująco: - wejść na pierwszą z brzegu FA, - nacisnąć CTRL+ikona drukarki, - przenieść wydruk standardowy FA do wydruków uŝytkownika. - wejść do przeniesionego wydruku klikając dwa razy myszą na wydruk, - na drugiej zakładce definicja znaleźć przycisk eksportuj definicję do pliku, - zapisać na dysku nazwa_pliku.txr, - otworzyć w notatniku i znaleźć linię: STRING(@s50),USE(TrE:TrE_TwrNazwa),AT(315,0,2490) - i zamienić na taką: STRING(@s50),FONT(,,,700),USE(TrE:TrE_TwrNazwa),AT(315,0,2490) Nazwa dostanie atrybut BOL. Q: Czy mogę zmienić wysokość czcionki na fakturze. Pozycje towarowe są bardzo małe. Potrzebny jest duŝy wyraźny druk dla kierowców rozwoŝących towar. A: Powinna Pani przenieść wydruk do wydruków uŝytkownika i następnie dokonać zmian w samej definicji wydruku. Zmiana rozmiaru czcionki dla nazwy towaru moŝe wyglądać w następujący sposób: Linia oryginalna STRING(@s50),FONT('Times New Roman',),USE(TrN:TrN_PodNazwa1),AT(158,1904,3322) Po modyfijacji STRING(@s50),FONT('Times New Roman',10,,),USE(TrN:TrN_PodNazwa1),AT(158,1904,3322) Parametr rozmiaru ( 10 ) został wytłuszczony. Q: Chciałabym fakturę wystawioną w EURO i drukowaną tylko w EURO ( 3 typ ) zmodyfikować w ten sposób: Pod tabelką umieścić 5 linii po 60 znaków tekstu stałego zawierającego jednak zmienne wartości dotyczące ilości kartonów, wagi netto, wagi brutto. Tekst nad tabelką juŝ wykorzystuję: czy moŝna drukować większą ilość znaków? A: Całą operację naleŝy zacząć od przeniesienia definicji wydruku standard do wydruków uŝytkownika. Opisuje ją dokument na stronie: https://www.cdn.com.pl/obszar/v_optima/index_optima_faq.asp w linku "Jak moŝna przenieść wydruk standardowy z programu do wydruków uŝytkownika" Następnie naleŝy wykonać zmiany w samej definicji wydruku po wyeksportowaniu jej do pliku TXT. (Operację tą wykonuje się z formularza definicji wydruku - podwójne kliknięcie na definicję. Na zakładce efinicja) W samej definicji naleŝy dodać pole wyliczane które będzie sumowało ciągi znakowe. A następnie pole takie wywołać w sekcji wydruku związanej z obszarem w którym ma się pojawić. NP : odanie pola wyliczanego. efinicja musi znaleźć się na końcu sekcji [REPORTS]. Przed słowem EN. PoniŜej EN zaczyna się nowa sekcji - [FILES].... Pole_wyliczane FORMULA(@s255),VALUE('''Numer dok '' & TrN:TrN_NumerPelny & '' Kwota slownie : '' &KwotaSlownie') EN [FILES]... Pole to składa się z tekstu oraz z wklejonych do niego wartości zmiennych i pól z bazy. Zmiany w plikach definicji wydruków programu Report Writer - Przykłady Str. 4
Po zdefiniowaniu pola naleŝy je umieścić w odpowiedniej sekcji - w tym przypadku będzie to sekcja FOOTER. Np: Wyświetlenie zmiennej jako jeden wiersz: STRING(@s255),USE(Pole_wyliczane),AT(104,18,2927) Lub jako pole txtowe o dowolnej ilości wierszy: TEXT,USE(Pole_wyliczane),AT(3145,8,2396,437) Oczywiście musi Pani przesunąć pola w sekcji FOOTER tak aby na jej początku mogło zmieścić się nowe pole. Za połoŝeniem i rozmiar pól odpowiada parametr AT. Jest on atrybutem kaŝdego wyświetlanego pola oraz sekcji. Pole zawiera koordynaty połoŝenia i wielkości jako prostokąta: AT ( X,Y,X,Y) W przypadku obiektów o wysokości zdeterminowanej np. rodzajem czcionki pole Y jest pomijane. Jednostką w której wyraŝone są koordynaty pól jest 1/1000 cala Aby przesunąć pole o 1cm naleŝy dodać 400 do jednej z koordynat w sekcji AT. PS. o wykonywania zmian w pliku wydruku moŝna posłuŝyć się programem edytującym Report Writer (http://www.speed.pl/) Q: Chciałbym zmienić w wydruku Paragonu w sekcji la / Od kogo pole kod podmiotu na jego nazwę. A: Powinien Pan wykonać małą zmianę w samej definicji wydruku po przeniesieniu go do wydruków uŝytkownika. W definicji w sekcji ETAIL powinien Pan odnaleźć wiersz : STRING(@s20),USE(Pod:Pod_Kod)... i zmienić kolumnę wyświetlaną z Pod:Pod_Kod na Pod:Pod_Nazwa. Wyświetli się wówczas Nazwisko pracownika. Jeśli chce Pan dodatkowo wyświetlić imię pracownika powinien Pan dodać wiersz z definicją kolejnej kolumny: Pod:Pod_Nazwa2. MoŜe ją Pan dodać bezpośrednio pod polem z Pod_Nazwa1. NP: STRING(@s20),USE(Pod_Nazwa2),AT(2214,1,745) STRING(@s50),USE(Pod:Pod_Nazwa1),AT(2213,110,745) Z tym, Ŝe dla wydruków w wersji 5.2 powinien Pan równieŝ poszerzyć całą sekcję ETAIL np 252 ( 1= 1000/c) ETAIL,FONT('Times New Roman',8),AT(0,0,7375,252) Q: Prosimy o sugestię w sprawie modyfikacji wydruku płatności nierozliczonych w programie CN OPT!MA. Chodzi o uzupełnienie wydruku o dodatkowe informacje np. miasto, nr telefonu. A: W samej definicji wydruku musi Pan zmienić definicję sekcji nagłówka : Z _BREAK4 BREAK(Knt:Knt_Kod) HEAER,AT(0,0,,281) STRING('Nazwa :'),AT(2549,31,542) STRING(' Kod:'),FONT(,10,,400),AT(20,31,375) STRING(@s20),USE(Knt:Knt_Kod),AT(442,31,1907) STRING(@s50),USE(Knt:Knt_Nazwa1),AT(3103,31,3375) LINE,LINEWITH(10),AT(0,272,7070,0) EN NA _BREAK4 BREAK(Knt:Knt_Kod) HEAER,AT(0,0,,787) STRING('Nazwa :'),AT(2549,31,542) STRING(' Kod:'),FONT(,10,,400),AT(20,31,375) Zmiany w plikach definicji wydruków programu Report Writer - Przykłady Str. 5
STRING(@s20),USE(Knt:Knt_Kod),AT(490,31,1907) STRING(@s50),USE(Knt:Knt_Nazwa1),AT(3103,31,3375) LINE,LINEWITH(10),AT(0,722,7070,0) STRING(@s40),USE(Knt:Knt_Miasto),AT(490,245,3073) STRING(@s20),USE(Knt:Knt_Telefon2),AT(2053,469,1500) STRING('Miasto:'),FONT(,10,,400),AT(20,245,438) STRING('Tel:'),FONT(,10,,400),AT(20,469,375) STRING(@s20),USE(Knt:Knt_Telefon1),AT(490,469,1490) EN Opis sposobu przeniesienia wydruku do wydruków uŝytkownika znajduje się na naszej stronie dla dealerów w "Najczęściej zadawanych pytaniach". Wykonaniem wydruków na zamówienie zajmują się równieŝ firmy dealerskie które swoje oferty umieszczają na "Giełdzie" https://www.cdn.com.pl/obszar/gielda/index_gielda.htm Q: Jak dodać logo do dokumentu FA A: Po przejściu na formularz faktury sprzedaŝy naleŝy uruchomić manager wydruków i przenieść definicję standardowego wydruku faktury do wydruków uŝytkownika. Po wykonaniu tej czynność moŝna wyeksportować definicję wydruku do pliku tekstowego, który będzie podlegał edycji. Zmiana definicji pola FakturaNumer Usunięcie pól: odatkowyopisfaktury CN_FNip CN_Firma5 CN_Firma4 Adres KodMiastoAdres PieczNrTel GROUP('Sprzedawca') BOX,COLOR(16777215) odanie loga w formie graficznej. IMAGE('C:\logo.BMP'),AT( XP,YP,XK,YK ) Np. IMAGE('c:\LOGO.BMP'),AT(0,0,3694,1486) Wszystkie pola znajdują się w obrębie sekcji HEAER. Usunięcie elementów z wydruku nie będzie konieczne jeśli pole IMAGE dodamy jako ostatni jej element przed wierszem zamykającym sekcji - EN ( na wysokości słowa HEAER ). W takiej sytuacji element graficzny przykryje dotychczasowe elementy. Q: Mam jaszcze jeden problem jak zmienić nagłówek na wydruku faktury sprzedaŝy z Faktura VAT na Faktura VAT komis. A: Proszę przenieść wydruk standardowy, faktury do wydruków uŝytkownika i następnie dokonać zmian w samej definicji wydruku. Sposób przeniesienia wydruków opisany jest w podręczniku do konfiguracji oraz na początku dokumentu. W definicji naleŝy podmienić linię: FakturaNumer FORMULA(@s40),VALUE('''Faktura VAT ''&CHOOSE( Czy_mala_fir =1,'' - MP'','''')& CHOOSE( TrN:TrN_Bufor =-1,'' Anulowana'','''')') Na: FakturaNumer FORMULA(@s40),VALUE('''Faktura VAT komis.''&choose( Czy_mala_fir =1,'' - MP'','''')& CHOOSE( TrN:TrN_Bufor =-1,'' Anulowana'','''')') Zmiany w definicji wytłuszczono. Zmiany w plikach definicji wydruków programu Report Writer - Przykłady Str. 6
Q: Jak wyświetlać róŝnice między datami w dniach. W RW pola z datą dostępne są w postaci liczby zawierającej ilość dni od daty zero. Jeśli zamierzamy wyliczyć róŝnice w dniach między datami moŝna skorzystać z tego faktu. Pola z datą w formacie Clarina są tworzone przez engin wydruków na podstawie pola z bazy danych. o nazwy tego typu dodawany jest sufiks ATA np.: la pola w bazie TrN_ataok engin wydruków tworzy pole TrN_ataokata W tym przypadku naleŝy utworzyć pole wyliczane w którym wykonamy operację odejmowania dwóch interesujących nas pul np.: Iloscdni FORMULA(@n14),VALUE('TrN:TrN_Terminata - TrN:TrN_ataOpeata') Pole zwraca wynika juŝ jako liczba format @n14 Oraz przykład wyświetlania pola: STRING(@n14),USE(Iloscdni),AT(1348,2125,740) Pole sformatowane jest jako liczba format @n14 PowyŜszy przykład zwróci ilość dni do terminu płatności dla dokumentów magazynowych. Q: Jak wprowadzić warunkowe wyświetlanie tekstu opisu Warunkowe wyświetlanie wymaga wprowadzenia pola RunTime przekazującego decyzję od operatora. Oraz uŝycia tego pola w wyraŝeniu warunkowym. Np.: Pole CzyOpis zwraca wartości wybraną przez operatora, pole Opis zawiera warunek w którym uŝyto pola CzyOpis.. EN CzyOpis RUNTIME(@n1),PROMPT('CzyOpis'), Opis FORMULA(@s30),VALUE('CHOOSE( CzyOpis =1,''Opis'', '''')').. Po zaimportowaniu definicji wydruku do programu pole RunTime naleŝy dodatkowo sformatować poza definicją wydruku z poziomu samego programu : Formularz wydruku zakładka inne pole Parametry Import pól RunTIme z wydruku wykonuje się za pomocą batona Import definicji parametrów dynamicznych z definicji wydruku. Formatowanie za importowanego pola moŝna wykonać za pomocą kreatora wywoływanego z menu kontekstowego w obszarze pola Parametry. Q: Jak dodać opisu w postacie tekstu na dokument. Poprzez dodanie w sekcjach wydruku ( details, footer, header ) wydruku pól:. Lub STRING('TEST'),AT(2150,1698,792) TEXT('TEST'),RESIZE,SKIP,AT(2130,1937,1168,390) Wyświetlany tekst oznaczony jest kolorem czerwonym. Parametr AT oznacza połoŝenia pola w obrębie sekcji. Zmiany w plikach definicji wydruków programu Report Writer - Przykłady Str. 7
Q: Chciałbym za pomocą narzędzia Clarion Report Writer do zestawienia z listy MM które funkcjonuje aktualnie w CN OPTIMIE dodać kolumnę pokazującą sumę ilości towaru na danym dokumencie (przyjmując Ŝe towar jest tylko w sztukach). A: Lista MM drukuje pozycje z tabeli TraNag, natomiast elementy dokumentów MM są w tabeli TraElem. Miedzy oboma tabelami występuje powiązanie relacyjne. Nagłówek wiele elementów. Po pierwsze więc naleŝy dodać do wydruku tabelę TraElem i połączyć ją z tabelą TraNag. Musimy: 1 Zaimportować słownik: ( https://www.cdn.com.pl/cdnpartnerzy/v_optima/index_optima_techniczne.aspx - Wydruki, słownik (v. ) do programu Report Writer ) 2. odać powiązanie tabel. Wybieramy ikonę File Schematic W formularzu który się pojawia ustawiamy kursor w lewym oknie na tabeli bazy do które będziemy dodawać powiązanie TraNag Tabele dowiązujemy za pomocą batona Add File W oknie podłączenia tabeli wybieramy tabelę TraElem z obszaru Related Files lub z obszaru User efined Related Files w tym przypadku trzeba określić wg jakich pól powiązanie będzie realizowane. Po dowiązaniu tabeli TraElem okno File Schematic będzie wyglądało następująco: W tym momencie w sekcja ETAILs będzie wyświetlała się tyle razy ile jest elementów na dokumentach MM z listy, np 5 dok. MM po 10 towarów to jest 50 elementów. PoniewaŜ chcemy Ŝeby na liście pozostało tylko 5 pozycji ( nagłówki dokumentów ) a elementy dokumenty mają posłuŝyć do wyliczania sumy towarów to: Zmiany w plikach definicji wydruków programu Report Writer - Przykłady Str. 8
1. odajemy grupowanie wydruku wg I dokumentu z tabeli TraNag 2. Ukrywamy sekcję ETAILs a dane do wyświetlanie z dokumentu Mag przenosimy do sekcji grupującej. 1. odawanie grupowania: Wybieramy ikonę (Sort Order) i dajemy grupowanie wg klucza głównego (KeyI) oraz zaznaczamy pojawienie się sekcji grupującej (Group Break) dla pola Trn_TrnI. Po zaakceptowaniu okna na poziomie wydruku pojawią się dwie nowe sekcji (HEAER i FOOTER), nad i pod sekcją ETAIL ( w której dotychczasowo znajdowały się pola raportu dotyczące dokumentu ). Sekcje HEAER i FOOTER są ściśle związane z grupowaniem danych które otrzymuje raport i wyświetlanych w sekcji ETAILs przy grupowaniu wg I dokumentu sekcje te pojawiają się w momencie gdy zostaną wyświetlone wszystkie elementy z poszczególnego dokumentu. Sekcja HEAER drukuje się nad grupą elementów ETAILs o tym samym Trn_TrnI a sekcja FOOTER pod tą grupą.:. Header Footer Header Footer zięki grupowaniu wg pola Trn_TrnI powstanie moŝliwość wyświetlania pól tylko związanych z nagłówkiem dokumentu np. sum dla elementów nad lub pod elementami dokumentu w dotykowych sekcjach. W przypadku modyfikowanego wydruku będzie potrzebna jedna sekcja FOOTER więc usuwamy sekcję Zmiany w plikach definicji wydruków programu Report Writer - Przykłady Str. 9
(HEARE) nad sekcją ETAILs. Po zaznaczeniu interesujących nas sekcji z menu kontekstowego wybieramy elete Band - jak na ilustracji poniŝej. Teraz powinniśmy przenieść wszystkie pola z sekcji ETAILs do sekcji FOOTER ( np. Metodą CTRL-X - CTRL-V ) Po tej operacji moŝemy dodać pole sumujące ilość i umieścić go w sekcji FOOTER: 1. Np wybierając z menu kontekstowego (przy zaznaczonej sekcji (FOOTER) dodanie pola typu Totals) 2. W kreatorze pola wybieramy sumowanie pola z tabeli TraElem zawierającego ilość towaru w jednostce podstawowej ( Tre_IlośćJM ) WaŜne jest teŝ wybranie momentu restartowania sumowania (zerowania) - ResetON na Trn_TrnI. Sekcją jaka ma być wyświetlana jest sekcja FOOTER natomiast sekcja ETAILs nie powinna być wyświetlana w tym momencie będziemy ją chcieli ukryć np. w właściwości sekcji ETAILs podając warunek wyświetlenia zwracający zawsze wartość logiczną 0. Zmiany w plikach definicji wydruków programu Report Writer - Przykłady Str. 10
W tym momencie wydruk jest ukończony i w edytorze RW będzie wyglądał jak po poniŝszym obrazie: Przykładowy wydruk będzie następujący: Na wydruku widać, Ŝe wyświetlana jest jedynie sekcja FOOTER kolumna z sumą ilości - a sekcja ETAILs nie pojawia się. UWAGA! Edycję powinniśmy prowadzić w programie Clarion Report Writer min v 5.5 Zmiany w plikach definicji wydruków programu Report Writer - Przykłady Str. 11