Minęło sporo czasu od ostatniego wpisu, jako że po prostu zaniedbałem to co niegdyś zacząłem. Niemniej jednak postaram się ożywić ten blog i mam nadzieje, że poruszę kilka interesujących tematów.
Dzisiejszy wpis to coś niezbyt trudnego, związanego z problemem z którym borykał się jeden ze znajomych użytkowników XL-a. Idea była taka, aby podczas wywoływania wydruku faktury pokazywał się parametr "opis" z domyślną wartością wziętą z opisu tego konkretnego dokumentu FS. Problemem jest fakt, że w momencie wywołania wydruku nie ma jak się dobrać do GID-u faktury na której stoimy (pomijam doklejanie do filtra obowiązkowego czegoś na zasadzie 1=1, gdzie jedynki to GID-y, które potem można powycinać). W tym przypadku z pomocą może nam przyjść pole TrN_Aktywny, dzięki któremu możemy stworzyć parametr na zasadzie poniższego przykładu:
@PAR ?@S255|Opis|&Opis:{GetSQL(' SELECT TnO_Opis FROM CDN.TraNag INNER JOIN CDN.TrNOpisy ON CDN.TraNag.TrN_GIDNumer=CDN. TrNOpisy.TnO_TrnNumer INNER JOIN CDN.Sesje ON CDN.TraNag.TrN_Aktywny=CDN. Sesje.SES_SesjaID AND SES_OpeIdent = '''& XLOpeIdent() &'''')} @? PAR@
Coś takiego spowoduje, że na oknie z parametrami, ten zdefiniowany powyżej będzie mieć domyślną wartość pobraną z opisu faktury, na której właśnie stoimy (Warto zaznaczyć, że w przypadku otwarcia kilku faktur jednocześnie przez jednego usera, warto się zabezpieczyć jakąś funkcją agregującą i pamiętać o tym, iż będzie to tylko ochrona przed błędem, a nie zwracanie dobrej wartości). Sposób ten jest o tyle fajny, że pozwala nam w parametrach wstawiać domyślne wartości pobrane z dowolnego miejsca w bazie które jest powiązane z fakturą na której użytkownik się znajduje (np. wartość atrybutu, który jest wypełniony na tej fakturze).
Dziękuje za zainteresowanie i do "poczytania" wkrótce :)
Dzisiejszy wpis to coś niezbyt trudnego, związanego z problemem z którym borykał się jeden ze znajomych użytkowników XL-a. Idea była taka, aby podczas wywoływania wydruku faktury pokazywał się parametr "opis" z domyślną wartością wziętą z opisu tego konkretnego dokumentu FS. Problemem jest fakt, że w momencie wywołania wydruku nie ma jak się dobrać do GID-u faktury na której stoimy (pomijam doklejanie do filtra obowiązkowego czegoś na zasadzie 1=1, gdzie jedynki to GID-y, które potem można powycinać). W tym przypadku z pomocą może nam przyjść pole TrN_Aktywny, dzięki któremu możemy stworzyć parametr na zasadzie poniższego przykładu:
@PAR ?@S255|Opis|&Opis:{GetSQL('
Coś takiego spowoduje, że na oknie z parametrami, ten zdefiniowany powyżej będzie mieć domyślną wartość pobraną z opisu faktury, na której właśnie stoimy (Warto zaznaczyć, że w przypadku otwarcia kilku faktur jednocześnie przez jednego usera, warto się zabezpieczyć jakąś funkcją agregującą i pamiętać o tym, iż będzie to tylko ochrona przed błędem, a nie zwracanie dobrej wartości). Sposób ten jest o tyle fajny, że pozwala nam w parametrach wstawiać domyślne wartości pobrane z dowolnego miejsca w bazie które jest powiązane z fakturą na której użytkownik się znajduje (np. wartość atrybutu, który jest wypełniony na tej fakturze).
Dziękuje za zainteresowanie i do "poczytania" wkrótce :)
Brak komentarzy:
Prześlij komentarz