Numeracja wydruków na fs oraz wm

Problemy i pomysły związane z funkcjonowaniem modułu Sprzedaż

Moderator: mikey

bosak
Posty: 24
Rejestracja: 10 lut 2009, 22:20
Rola: Administrator CDN XL
Wersja: 7.1

Numeracja wydruków na fs oraz wm

Post autor: bosak »

Witam
Przeczytałem ostatnio w odpowiedziach C. jak można ustawić licznik ilości wydruków na podstawie atrybutów na podstawie klasy atrybutu. Jednak o ile można ustawić automatyczną zmianę ilosci atrybutu przy każdym skierowaniu myszki na ikonę drukarki (miało działać w/g panów z C. tylko wyłącznie podczas podglądu wydruku albo wydruku :)) , mam problem z ustawieniem warunku na wydruku aby ukrywał wydruk jeśli atrybut jest większy od '0' oraz mniejszy od '1' (warunek powinien wynosic atr_wartosc<1 oraz atr_wartosc>1). Moim zdaniem jest to problem odwołania sie do tabeli innej niz tranag. Czy ktos może przerabiał podobny problem?
pozdrawiam
pozdrawiam
Krzysztof

Awatar użytkownika
wacek
Posty: 714
Rejestracja: 27 paź 2008, 18:04
Rola: Administrator CDN XL
Lokalizacja: Łódzkie

Re: Numeracja wydruków na fs oraz wm

Post autor: wacek »

bosak pisze:Czy ktos może przerabiał podobny problem?
pozdrawiam
Musisz użyć „GetSQL”.
Pozdrawiam,
Robert

select convert(varchar(100),0x637a6173616d69207069737aea2074752067b375706f7479203a29)

bosak
Posty: 24
Rejestracja: 10 lut 2009, 22:20
Rola: Administrator CDN XL
Wersja: 7.1

Re: Numeracja wydruków na fs oraz wm

Post autor: bosak »

Witam
Czy mogę prosić o bardziej sprecyzowanie użycia funkcji „GetSQL” . Może jakiś przykład z wykorzystaniem getsql-a :) please
pozdrawiam
Krzysztof

Awatar użytkownika
wacek
Posty: 714
Rejestracja: 27 paź 2008, 18:04
Rola: Administrator CDN XL
Lokalizacja: Łódzkie

Re: Numeracja wydruków na fs oraz wm

Post autor: wacek »

Podanego przykładu używam na wydruku faktury pro-forma z zamówienia sprzedaży.
Warunek ukrywa wydruk jeżeli wartość elementów zamówienia nie zgadza się z nagłówkiem, co niestety sporadycznie zdarza się w CDNXL (błąd).

Kod: Zaznacz cały

GetSQL('select (case when zan_flaganb=''n'' then zav_netto-sum(zae_wartoscporabacie) else zav_brutto-sum(zae_wartoscporabacie) end) from cdn.zamnag 
join cdn.zamelem on zan_gidtyp=zae_gidtyp and zan_gidnumer=zae_gidnumer 
join cdn.zamvat on zan_gidtyp=zav_gidtyp and zan_gidnumer=zav_gidnumer 
where ' & FiltrSql & 'group by zan_flaganb,zav_netto,zav_brutto')=0
Pozdrawiam,
Robert

select convert(varchar(100),0x637a6173616d69207069737aea2074752067b375706f7479203a29)

Martin
Posty: 24
Rejestracja: 02 gru 2010, 21:49
Rola: Konsultant CDN XL
Lokalizacja: Katowice/Gliwice/Bielsko-Biała

Re: Numeracja wydruków na fs oraz wm

Post autor: Martin »

bosak pisze: Moim zdaniem jest to problem odwołania sie do tabeli innej niz tranag.
Atrybuty przypisane do obiektów przechowywane są w tabeli cdn.Atrybuty.
Musisz też pamiętać o tabeli cdn.MagNag, gdzie przechowywane są nagłówki transakcji magazynowej (PM/WM).
Lokalizacja: Katowice/Gliwice/Bielsko-Biała

Pozdrawiam,
Martin

elmiq
Posty: 1025
Rejestracja: 23 sie 2010, 10:04
Rola: Administrator CDN XL
Lokalizacja: Warszawa

Re: Numeracja wydruków na fs oraz wm

Post autor: elmiq »

W danym miejscu w XL ma się dostęp do określonych tabel i nic więcej - ot, chociażby w przypadku filtrowania dokumentów handlowych ma się dostęp bodajże do KntKarty, TraNag i jeszcze 1 tabeli (nie jestem pewien której z pamięci). W każdym razie o ile chcesz się odwoływać z tego poziomu do innych tabel, musisz to zrobić za pomocą zapytania (filtry), bądź zapytania zawartego w funkcji GetSQL (np. warunki na wydrukach, tak jak Ci to podpowiedział Wacek).
Mateusz Świerkosz

http://elmiq.blogspot.com/

bosak
Posty: 24
Rejestracja: 10 lut 2009, 22:20
Rola: Administrator CDN XL
Wersja: 7.1

Re: Numeracja wydruków na fs oraz wm

Post autor: bosak »

Witam
Oczywiście getsql działa super ale problem powstaje jak chcę dodać jeszcze jeden warunek np. trn_stan

GetSQL('SELECT CDN.Atrybuty.Atr_Wartosc
FROM CDN.Atrybuty INNER JOIN
CDN.TraNag ON CDN.Atrybuty.Atr_ObiNumer = CDN.TraNag.TrN_GIDNumer
WHERE CDN.Atrybuty.Atr_AtkId = 37 and Trn_stan>2 and ' & FiltrSql ) <1

Przy takim zapytaniu wydruk ma powstać dopiero gdy fs jest zatwierdzona a wartość atr_wartosc<1 ,atr_atkid-to mój atrybut ma być oraz jego wartość musi byc mniejsza od '1'. Chodzi aby sprzedawca mógł tylko raz dokonać wydruku fs.
Problemem jest dodanie Trn_stan>2 bo jeśli fs nie jest jeszcze zatwierdzona powstaje wartość null i program zawsze pokaże wydruk nawet jak dalej wartosc <1. Myslałem o 'or' ale tez nie dało rady. Może ktos ma pomysł?
pozdrawiam
Krzysztof

elmiq
Posty: 1025
Rejestracja: 23 sie 2010, 10:04
Rola: Administrator CDN XL
Lokalizacja: Warszawa

Re: Numeracja wydruków na fs oraz wm

Post autor: elmiq »

Zmień zapytanie i dołóż ISNULL na Atr_wartosc, dołóż CASE na Trn_Stan i dodawaj do wyniku jakąś liczbę, bądź nie - możliwości jest sporo :)
Mateusz Świerkosz

http://elmiq.blogspot.com/

bosak
Posty: 24
Rejestracja: 10 lut 2009, 22:20
Rola: Administrator CDN XL
Wersja: 7.1

Re: Numeracja wydruków na fs oraz wm

Post autor: bosak »

Witam
is null nie działa, ale mam inny pomysł( raczej z tą liczbą wpadłem rano), jak zrobię to napiszę
pozdrawiam
Krzysztof

elmiq
Posty: 1025
Rejestracja: 23 sie 2010, 10:04
Rola: Administrator CDN XL
Lokalizacja: Warszawa

Re: Numeracja wydruków na fs oraz wm

Post autor: elmiq »

bosak pisze:Witam
is null nie działa, ale mam inny pomysł( raczej z tą liczbą wpadłem rano), jak zrobię to napiszę
Nie Chodzi o IS NULL, tylko o ISNULL, np. ISNULL(Atr_Wartosc,0). Pamiętaj tylko, że nawet jeśli masz zapytanie jednostronne (czyli nie takie jak teraz) to odwołanie się w sekcji WHERE do tabeli która w założeniu może nie mieć wartości, najprościej mówiąc, tak czy tak przerabia takie zapytanie do zapytania obustronnego. Stąd moja uwaga o przerobieniu zapytania.
Mateusz Świerkosz

http://elmiq.blogspot.com/

ODPOWIEDZ