Forum Użytkownikow Subiekt GT

InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: Aga88 w Listopad 04, 2015, 11:52:28

Tytuł: Filtr - typ transakcji VAT
Wiadomość wysłana przez: Aga88 w Listopad 04, 2015, 11:52:28
Witam,

Czy ktoś mógłby pomóc mi w przygotowaniu filtru donośnie wyboru typu transakcji VAT ?? Chodzi mi o WDT oraz Export.

Pozdrawiam
Tytuł: Odp: Filtr - typ tranzakcji VAT
Wiadomość wysłana przez: dkozlowski w Listopad 04, 2015, 11:55:31
Wartości jakie może przyjmować kolumna "dok_RodzajOperacjiVat":

Cytuj
Rodzaj operacji VAT (0 - nabycie/dostawa krajowa; 1 - import/eksport towarów; 2 - nabycie/dostawa ue; 3 - transakcja trójstronna; 4 - import/eksport usług; 6- odwrotne obciążenie; 12 - nabycie/dostawa poza terytorium kraju)
Tytuł: Odp: Filtr - typ tranzakcji VAT
Wiadomość wysłana przez: Aga88 w Listopad 04, 2015, 12:09:39
Niestety nie działa  :(
Tytuł: Odp: Filtr - typ tranzakcji VAT
Wiadomość wysłana przez: dkozlowski w Listopad 04, 2015, 12:18:50
A co niby nie działa ? To nie jest przecież filtr tylko wartości jakie może przyjmować... Napisałaś "Czy ktoś mógłby pomóc", a nie "Czy ktoś zrobi wszystko za mnie"...
Tytuł: Odp: Filtr - typ tranzakcji VAT
Wiadomość wysłana przez: Aga88 w Listopad 04, 2015, 12:25:10
Pozjadałeś wszystkie rozumy ??????? Ideał się znalazł wszystko wiedzący.
Tytuł: Odp: Filtr - typ tranzakcji VAT
Wiadomość wysłana przez: dkozlowski w Listopad 04, 2015, 12:45:25
Pozjadałeś wszystkie rozumy ???????

Nie, tak się nie da, trzeba po prostu poświęcić dużo czasu, aby zdobyć tę wiedzę o czym poinformowałem wyraźnie na samym początku: http://www.forumsubiekta.pl/subiekt/zestawienie-sprzedazy-w-obcej-walucie/msg59731/#msg59731 (http://www.forumsubiekta.pl/subiekt/zestawienie-sprzedazy-w-obcej-walucie/msg59731/#msg59731).

Ideał się znalazł wszystko wiedzący.

Zachęcam też do tego, abyś najpierw napisała kilka słów o sobie, zanim zaczniesz próbować oceniać innych. Jeśli inaczej rozumiesz "pomoc" niż ja to chętnie zobaczę jak "pomagasz" na forum, można poświęcić na to bardzo dużo czasu i co jakiś czas przeczytać wypowiedzi niezadowolonych użytkowników, którym nie spodobała się odpowiedź, zapraszam.
Tytuł: Odp: Filtr - typ tranzakcji VAT
Wiadomość wysłana przez: Aga88 w Listopad 04, 2015, 12:54:52
Nie, nie pomagam nikomu, gdyż jestem zielona jak szczypiorek. Zaczęłam korzystać z subiekta nie dawno (zmiana pracy).
 
Tytuł: Odp: Filtr - typ tranzakcji VAT
Wiadomość wysłana przez: dkozlowski w Listopad 04, 2015, 13:01:52
Zwracam też uwagę, że ja też jeszcze nie dawno byłem "zielony"... Rozumiem i nie zazdroszczę takiej pracy, gdzie nie zapewniono Ci wsparcia przy obsłudze programów Insertu... Tworzenie zestawień SQL to NIE jest zakres wiedzy "użytkownika", użytkownik powinien jedynie wiedzieć, że można realizować takie rozwiązanie, gdzie je może zamówić i jak je dodać w programie.
Tytuł: Odp: Filtr - typ tranzakcji VAT
Wiadomość wysłana przez: Aga88 w Listopad 04, 2015, 13:11:39
Czy w takim wypadku mam napisać na priv, aby uzgodnić ceną za udostępnienie filtru ?? :)
Tytuł: Odp: Filtr - typ tranzakcji VAT
Wiadomość wysłana przez: Aldo w Listopad 04, 2015, 14:40:04
W tym programie nie takiej opcji, żeby sobie dodawać dowolne fitry w dowolnym miejscu, gdzie akurat jest potrzebny.
Więc pytanie o udostęnienie filtru jest bez sensu.
Chcąc osiągnąć jakiś efekt trzeba najpierw zdefiniować co i gdzie chcesz coś osiągnąć. Mając to możesz pytać jak to osiągnąć. Określiłać co chcesz, ale nie określiłaś gdzie, stąd odpowiedź taka jak pytanie.
I nie unoś się, bo to jest forum użytkowników, a nie Insertu i jesli ktoś ma wiedzę i chęć, żeby się nia podzielić, to może to robić, ale nie musi. To jego dobra wola. Więc trzymaj raczej nerwy na wodzy.
Tytuł: Odp: Filtr - typ tranzakcji VAT
Wiadomość wysłana przez: Aga88 w Listopad 05, 2015, 08:18:32
Chcę osiągnąć zestawienie, które mi zobrazuje wartości w walucie w Euro zgodnie z tym co jest na fakturach. Uwzględniając podział na magazyny, kontrahenta i transakcje VAT. Czyli ogólnie rzecz biorąc zestawienie wg. dokumentów w EUR bez PLN.
Tytuł: Odp: Filtr - typ tranzakcji VAT
Wiadomość wysłana przez: dkozlowski w Listopad 05, 2015, 11:16:28
Czy w takim wypadku mam napisać na priv, aby uzgodnić ceną za udostępnienie filtru ?? :)

Gdzieś program został kupiony, gdzieś jest wykupowany abonament, gdzieś jest serwisowany, więc powinnaś mieć gdzie spytać o takie tematy... Ja się nie napraszam, jeśli będziesz chciała to się odezwij na PW, jeśli nie to nie.

Nie mniej poruszany problem jest chyba jednym z najprostszych do rozwiązania, wystarczy skopiować przykład z pomocy:

Cytuj
IN ({CHL:faktura zakupu#1#faktura sprzedaży#2#korekta faktury zakupu#5#korekta faktury sprzedaży#6#zwrot detaliczny#14#paragon#21#:Typ dokumentu}))

i podmienić/uzupełnić wartości na te z pierwszej mojej (nie) pomocnej odpowiedzi ;)
Tytuł: Odp: Filtr - typ transakcji VAT
Wiadomość wysłana przez: Aga88 w Listopad 05, 2015, 20:35:04
Czy dobrze:

IN ({CHL:nabycie/dostawa krajowa#0#import/eksport towarów#1#nabycie/dostawa eu#3#transakcja trójstronna#3#import/eksport usług#6#odwrotne obciązenie#6#naybcie/dostawa poza terytorium kraju#12#:Typ dokumentu}))
Tytuł: Odp: Filtr - typ transakcji VAT
Wiadomość wysłana przez: Aga88 w Listopad 05, 2015, 20:48:26
Stworzyłam coś takiego:

SELECT dok_DataWyst AS [Data], dok_NrPelny AS [Numer], adr_NazwaPelna AS [Kontrahent],
CASE WHEN dok_WalutaKurs = 0 THEN 0 ELSE dok_WartNetto/dok_WalutaKurs END AS [Netto w walucie],
CASE WHEN dok_WalutaKurs = 0 THEN 0 ELSE dok_WartBrutto/dok_WalutaKurs END AS [Brutto w walucie],
dok_Waluta AS [Waluta], dok_WalutaKurs AS [Kurs]
FROM dok_Pozycja
join dok__Dokument ON ob_DokHanId = dok_Id
join tw__Towar ON ob_TowId = tw_Id
join tw_Stan on tw_Id = st_TowId and st_MagId = dok_MagId
WHERE (dbo.fnMAKE_DOKPARAM(dok_Typ, dok_Podtyp) IN ({CHL:nabycie/dostawa krajowa#0#import/eksport towarów#1#nabycie/dostawa eu#3#transakcja trójstronna#3#import/eksport usług#6#odwrotne obciązenie#6#naybcie/dostawa poza terytorium kraju#12#:Typ dokumentu}))
and dok_Status =1
and  dok_DataWyst BETWEEN {DR:Data dokumentu}
and dok_MagId IN ({CHL_DB: SELECT mag_Id, mag_Nazwa FROM sl_Magazyn :Magazyn})
and tw_IdGrupa IN ({CHL_DB: SELECT grt_Id, grt_Nazwa FROM sl_GrupaTw :Grupa Towarów})
GROUP BY tw_Symbol, tw_Nazwa


Ale cyba jest tak beznadziejne, iż nie zadziałało  :(
Tytuł: Odp: Filtr - typ transakcji VAT
Wiadomość wysłana przez: dkozlowski w Listopad 05, 2015, 21:04:15
Porównujesz "typ długi" z "rodzajem transakcji VAT", więc jak ma zadziałać ? W pierwszej swojej odpowiedzi podałem przecież nazwę kolumny, w której jest przechowywany rodzaj transakcji VAT...
Tytuł: Odp: Filtr - typ transakcji VAT
Wiadomość wysłana przez: Aga88 w Listopad 05, 2015, 21:14:48

SELECT dok_DataWyst AS [Data], dok_NrPelny AS [Numer], adr_NazwaPelna AS [Kontrahent],
CASE WHEN dok_WalutaKurs = 0 THEN 0 ELSE dok_WartNetto/dok_WalutaKurs END AS [Netto w walucie],
CASE WHEN dok_WalutaKurs = 0 THEN 0 ELSE dok_WartBrutto/dok_WalutaKurs END AS [Brutto w walucie],
dok_Waluta AS [Waluta], dok_WalutaKurs AS [Kurs]
FROM dok_Pozycja
join dok__Dokument ON ob_DokHanId = dok_Id
join tw__Towar ON ob_TowId = tw_Id
join tw_Stan on tw_Id = st_TowId and st_MagId = dok_MagId
IN ({CHL:nabycie/dostawa krajowa#0#import/eksport towarów#1#nabycie/dostawa eu#3#transakcja trójstronna#3#import/eksport usług#6#odwrotne obciązenie#6#naybcie/dostawa poza terytorium kraju#12#:Typ dokumentu}))
and dok_Status =1
and  dok_DataWyst BETWEEN {DR:Data dokumentu}
and dok_MagId IN ({CHL_DB: SELECT mag_Id, mag_Nazwa FROM sl_Magazyn :Magazyn})
and tw_IdGrupa IN ({CHL_DB: SELECT grt_Id, grt_Nazwa FROM sl_GrupaTw :Grupa Towarów})
GROUP BY tw_Symbol, tw_Nazwa

W którym miejscu powyższego schematu mam jeszcze popracować ??
Tytuł: Odp: Filtr - typ transakcji VAT
Wiadomość wysłana przez: candy w Listopad 05, 2015, 21:21:54
join tw_Stan on tw_Id = st_TowId and st_MagId = dok_MagId
(*)
IN ({CHL:nabycie/dostawa krajowa#0#import/eksport towarów#1#nabycie/dostawa eu#3#transakcja trójstronna#3#import/eksport usług#6#odwrotne W którym miejscu powyższego schematu mam jeszcze popracować ??
W zaznaczonym gwiazdką  ;)
Zgubiło Ci się WHERE i początek warunku.
Nie wiadomo co ma być IN (...)
Tytuł: Odp: Filtr - typ transakcji VAT
Wiadomość wysłana przez: Aga88 w Listopad 05, 2015, 21:38:07
WHERE
dok_DataWyst BETWEEN {DR:Data dokumentu}
and (dok_Typ IN({CHL:IN ({CHL:nabycie/dostawa krajowa#0#import/eksport towarów#1#nabycie/dostawa eu#3#transakcja trójstronna#3#import/eksport usług#6#odwrotne obciązenie#6#naybcie/dostawa poza terytorium kraju#12#:Typ dokumentu}))
and dok_Status =1
and dok_MagId IN ({CHL_DB: SELECT mag_Id, mag_Nazwa FROM sl_Magazyn :Magazyn})
and tw_IdGrupa IN ({CHL_DB: SELECT grt_Id, grt_Nazwa FROM sl_GrupaTw :Grupa Towarów})
GROUP BY tw_Symbol, tw_Nazwa

Niestety przestał mi działać zdalnie subiekt i nie mogę przetestować
Tytuł: Odp: Filtr - typ transakcji VAT
Wiadomość wysłana przez: dkozlowski w Listopad 05, 2015, 22:31:08
Niestety przestał mi działać zdalnie subiekt i nie mogę przetestować

Nie ma czego... Teraz przecież porównujesz typ dokumentu z rodzajem transakcji VAT... Kolejny raz odsyłam do swojej pierwszej odpowiedzi:

... kolumna "dok_RodzajOperacjiVat"

Tytuł: Odp: Filtr - typ transakcji VAT
Wiadomość wysłana przez: Aga88 w Listopad 08, 2015, 13:08:22
and IN ({CHL:nabycie/dostawa krajowa#0#import/eksport towarów#1#nabycie/dostawa eu#3#transakcja trójstronna#3#import/eksport usług#6#odwrotne obciązenie#6#naybcie/dostawa poza terytorium kraju#12#:dok_RodzajOperacjiVat}))

Czy przed IN także należy wstawić coś :) ??
Tytuł: Odp: Filtr - typ transakcji VAT
Wiadomość wysłana przez: dkozlowski w Listopad 08, 2015, 13:14:10
Tak, link do dokumentacji:
Cytuj
https://msdn.microsoft.com/en-us/library/ms177682.aspx
.
Tytuł: Filtr - typ transakcji VAT
Wiadomość wysłana przez: candy w Listopad 08, 2015, 13:53:04
Musisz napisać co ma być "IN (...)" bo teraz to podajesz że COŚ ma należeć do wskazanego zbioru,  ale nie podajesz CO ma do tego zbioru należeć.
Tytuł: Odp: Filtr - typ transakcji VAT
Wiadomość wysłana przez: Aga88 w Listopad 08, 2015, 15:52:15
A czy mogę połączyć to w ten sposób:

FROM dok__Dokument
INNER JOIN adr__Ewid ON dok_PlatnikId = adr_IdObiektu AND adr_TypAdresu = 1
WHERE (dok_Typ IN({CHL:Faktura zakupu#1#Faktura sprzedaży#2#Korekta faktury zakupu#5#Korekta faktury sprzedaży#6#:Typ dokumentu}))
or (dok_RodzajOperacjiVat IN ({CHL:nabycie/dostawa krajowa#0#import/eksport towarów#1#nabycie/dostawa eu#3#transakcja trójstronna#3#import/eksport usług#6#odwrotne obciązenie#6#naybcie/dostawa poza terytorium kraju#12#:dok_RodzajOperacjiVat}))

Bo w sumie oba filtry mogą być dla mnie przydatne.
Tytuł: Filtr - typ transakcji VAT
Wiadomość wysłana przez: candy w Listopad 08, 2015, 16:33:01
Możesz, Twoja decyzja.
Tylko czy na pewno chcesz mieć między filtrami OR?
Tytuł: Odp: Filtr - typ transakcji VAT
Wiadomość wysłana przez: Aga88 w Listopad 08, 2015, 16:45:08
AND :)

Czy mogłabym prosić o sprawdzenie poprawności ??

SELECT dok_DataWyst AS [Data], dok_NrPelny AS [Numer], adr_NazwaPelna AS [Kontrahent],
CASE WHEN dok_WalutaKurs = 0 THEN 0 ELSE dok_WartNetto/dok_WalutaKurs END AS [Netto w walucie],
CASE WHEN dok_WalutaKurs = 0 THEN 0 ELSE dok_WartBrutto/dok_WalutaKurs END AS [Brutto w walucie],
dok_Waluta AS [Waluta], dok_WalutaKurs AS [Kurs]
from dok__Dokument join adr__Ewid on dok_PlatnikId=adr_IdObiektu and adr_TypAdresu=1
WHERE (dok_Typ IN({CHL:Faktura zakupu#1#Faktura sprzedaży#2#Korekta faktury zakupu#5#Korekta faktury sprzedaży#6#:Typ dokumentu}))
and (dok_RodzajOperacjiVat IN ({CHL:nabycie/dostawa krajowa#0#import/eksport towarów#1#nabycie/dostawa eu#3#transakcja trójstronna#3#import/eksport usług#6#odwrotne obciązenie#6#naybcie/dostawa poza terytorium kraju#12#:dok_RodzajOperacjiVat}))
and dok_Status =1
and  dok_DataWyst BETWEEN {DR:Data dokumentu}
and dok_MagId IN ({CHL_DB: SELECT mag_Id, mag_Nazwa FROM sl_Magazyn :Magazyn})
and tw_IdGrupa IN ({CHL_DB: SELECT grt_Id, grt_Nazwa FROM sl_GrupaTw :Grupa Towarów})
GROUP BY tw_Symbol, tw_Nazwa

Tytuł: Odp: Filtr - typ transakcji VAT
Wiadomość wysłana przez: Aga88 w Listopad 11, 2015, 16:45:00
Witam,

Uaktualniam temat, gdyż zestawienie nie działa i nie mam pojęcia dlaczego.
Tytuł: Odp: Filtr - typ transakcji VAT
Wiadomość wysłana przez: candy w Listopad 11, 2015, 19:31:11
Ale Ty w ogóle masz jakieś pojęcie o TSQL, czy tak poprawiasz "na czuja" nie rozumiejąc co to robi i dlaczego?

Wkleiłem to do Subiekta i kliknąłem "Testuj zapytanie" to dostałem komunikat "Invalid column name 'tw_IdGrupa'".
Twój SELECT bierze dane z 2 tabel: dok__Dokument i adr__Ewid.
W żadnej z nich nie ma kolumny 'tw_IdGrupa', więc jak to ma zadziałać?
Tytuł: Odp: Filtr - typ transakcji VAT
Wiadomość wysłana przez: Aga88 w Listopad 12, 2015, 19:35:54
Moja wiedza jest dopiero początkująca, więc zbędne jest moje tłumaczenie...
Tytuł: Odp: Filtr - typ transakcji VAT
Wiadomość wysłana przez: candy w Listopad 12, 2015, 19:58:43
Hmm...
Rozumiem, ale jak dla mnie to jedno z dwojga - poznajesz TSQL i piszesz/modyfikujesz własne zestawienia, albo zamawiasz u kogoś.

No to tak na początek, dla zachęty  ;)
SELECT wybiera dane z bazy, a konkretnie z tabel do których się odwołujesz po FROM.
W tym co tu wklejasz, tak na pierwszy rzut oka, zmieniła się lista tych tabel.

W wersji z 05.11 było tak:
FROM dok_Pozycja
join dok__Dokument ON ob_DokHanId = dok_Id
join tw__Towar ON ob_TowId = tw_Id
join tw_Stan on tw_Id = st_TowId and st_MagId = dok_MagId
A w ostatniej już cąłkiem inaczej, bo:
from dok__Dokument join adr__Ewid on dok_PlatnikId=adr_IdObiektu and adr_TypAdresu=1
Oprócz tego są jeszcze warunki (po WHERE) i w Twoim przypadku dodatkowo także grupowanie (po GROUP BY).

U Ciebie dane mają pochodzić z tabel dok__Dokument i adr__Ewid, a w warunkach wykorzystujesz kolumnę tw_IdGrupa, której nie ma w żadnej z tych dwóch tabel.
Do tego grupowanie masz po kolumnach tw_Symbol, tw_Nazwa, których także nie ma ani w żadnej z tych dwóch tabel.
Wszystkie te 3 kolumny pochodzą z tabeli tw__Towar, w ogóle nie występującej w tym zestawieniu.

Nie wiem co chciałaś osiągnąć, ale mam wrażenie że ostatnie 2 linijki ,o te:
and tw_IdGrupa IN ({CHL_DB: SELECT grt_Id, grt_Nazwa FROM sl_GrupaTw :Grupa Towarów})
GROUP BY tw_Symbol, tw_Nazwa
są z innej bajki niż cała reszta.

PS purystów proszę o wyrozumiałość. Wiem że SELECT może nie tylko z tabel, ale to nie ten etap  ;)