Autor Wątek: Filtr - typ transakcji VAT  (Przeczytany 14581 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Aga88

  • Użytkownik
  • **
  • Wiadomości: 64
  • Reputacja +0/-0
  • Wersja programu: Subiket GT 1,31
Odp: Filtr - typ transakcji VAT
« Odpowiedź #15 dnia: 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ć ??

Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4876
  • Reputacja +172/-11
Odp: Filtr - typ transakcji VAT
« Odpowiedź #16 dnia: 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 (...)
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Offline Aga88

  • Użytkownik
  • **
  • Wiadomości: 64
  • Reputacja +0/-0
  • Wersja programu: Subiket GT 1,31
Odp: Filtr - typ transakcji VAT
« Odpowiedź #17 dnia: 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ć

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17059
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Filtr - typ transakcji VAT
« Odpowiedź #18 dnia: 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"

Daniel, Białystok.

Offline Aga88

  • Użytkownik
  • **
  • Wiadomości: 64
  • Reputacja +0/-0
  • Wersja programu: Subiket GT 1,31
Odp: Filtr - typ transakcji VAT
« Odpowiedź #19 dnia: 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ś :) ??

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17059
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Filtr - typ transakcji VAT
« Odpowiedź #20 dnia: Listopad 08, 2015, 13:14:10 »
Daniel, Białystok.

Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4876
  • Reputacja +172/-11
Filtr - typ transakcji VAT
« Odpowiedź #21 dnia: 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ć.
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Offline Aga88

  • Użytkownik
  • **
  • Wiadomości: 64
  • Reputacja +0/-0
  • Wersja programu: Subiket GT 1,31
Odp: Filtr - typ transakcji VAT
« Odpowiedź #22 dnia: 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.

Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4876
  • Reputacja +172/-11
Filtr - typ transakcji VAT
« Odpowiedź #23 dnia: Listopad 08, 2015, 16:33:01 »
Możesz, Twoja decyzja.
Tylko czy na pewno chcesz mieć między filtrami OR?
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Offline Aga88

  • Użytkownik
  • **
  • Wiadomości: 64
  • Reputacja +0/-0
  • Wersja programu: Subiket GT 1,31
Odp: Filtr - typ transakcji VAT
« Odpowiedź #24 dnia: 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


Offline Aga88

  • Użytkownik
  • **
  • Wiadomości: 64
  • Reputacja +0/-0
  • Wersja programu: Subiket GT 1,31
Odp: Filtr - typ transakcji VAT
« Odpowiedź #25 dnia: Listopad 11, 2015, 16:45:00 »
Witam,

Uaktualniam temat, gdyż zestawienie nie działa i nie mam pojęcia dlaczego.

Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4876
  • Reputacja +172/-11
Odp: Filtr - typ transakcji VAT
« Odpowiedź #26 dnia: 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ć?
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Offline Aga88

  • Użytkownik
  • **
  • Wiadomości: 64
  • Reputacja +0/-0
  • Wersja programu: Subiket GT 1,31
Odp: Filtr - typ transakcji VAT
« Odpowiedź #27 dnia: Listopad 12, 2015, 19:35:54 »
Moja wiedza jest dopiero początkująca, więc zbędne jest moje tłumaczenie...

Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4876
  • Reputacja +172/-11
Odp: Filtr - typ transakcji VAT
« Odpowiedź #28 dnia: 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  ;)
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Forum Użytkownikow Subiekt GT

Odp: Filtr - typ transakcji VAT
« Odpowiedź #28 dnia: Listopad 12, 2015, 19:58:43 »