Jednostka podstawowa na korekcie faktury

Zapytania SQL, widoki, Crystal, definicje filtrów, szybkich raportów, wydruków, API, Hydra, .NET

Moderator: mikey

1shot2killa
Posty: 14
Rejestracja: 27 wrz 2018, 12:15
Rola: Inny
Wersja: 2018

Jednostka podstawowa na korekcie faktury

Post autor: 1shot2killa »

Cześć,
zmagam się z wydrukiem korekty faktury eksportowej, a dokładniej z jednostką pomocniczą.
Na korekcie wydania eksportowego jest zdjęte 6000kg, a na wydruku pokazuje 6BB (Big bag po 1t).
Jak to ugryźć?
jednostka1.jpg
jednostka.jpg
Załączniki
jednostki2.jpg

blecku
Posty: 56
Rejestracja: 08 sie 2018, 10:29
Rola: Administrator CDN XL

Re: Jednostka podstawowa na korekcie faktury

Post autor: blecku »

Dane wyciągane są bezpośrednio z tabeli czy przez polecenie "Command"?
Jeżeli przez polecenie to przeanalizuj sobie skrypt SQL.
W innym przypadku musisz mieć zrobiony gdzieś mechanizm podmieniający ilość i JM.
Pozdrawiam,
Kamil

1shot2killa
Posty: 14
Rejestracja: 27 wrz 2018, 12:15
Rola: Inny
Wersja: 2018

Re: Jednostka podstawowa na korekcie faktury

Post autor: 1shot2killa »

Przez polecenie Command. Tutaj zapytanie. Nie jestem biegły w SQLu, ale może coś pomożecie :)

Kod: Zaznacz cały

select Distinct abs(tre_pozycja),tre_gidnumer,
trn_stan,tep_przyczynakorekty,sekcja,tep_rozdzielony,(SELECT sum(tre_Zlom) from CDN.TraNag join CDN.TraElem on tre_gidnumer = trn_gidnumer where ((TraNag.TrN_GIDTyp=2041 AND TraNag.TrN_GIDNumer=5548) OR (TraNag.TrN_GIDTyp=2033 AND TraNag.TrN_GIDNumer=5547)) and trn_gidnumer =5548 and tre_Ilosc <> 0 and TrE_KsiegowaBrutto <> 0)  as Zlom, 
tep_PoczFlagaVat,tre_flagavat,tre_pozycja,Tre_Zlom,TrE_Ilosc,Twr_Kod,TeP_PoczPrzeliczM,TeP_PoczPrzeliczL,TrE_TwrNazwa, TrE_TwrKod,TrE_GIDLp, TeP_PoczKsiegowaNetto, TeP_PoczKsiegowaBrutto,TeP_PoczIlosc,TeP_Ilosc,TrE_cena, TeP_RozCena,TeP_PoczCena,
TeP_KsiegowaNetto, TeP_ksiegowabrutto, TeP_Vat, trs_gidtyp,TrS_GIDNumer,TrS_GIDLp,
TrE_KsiegowaNetto, TrE_KsiegowaBrutto, TrN_FlagaNB, TrE_StawkaPod,TrN_GIDTyp, TrE_StawkaPod,TrE_JmZ,TwR_Sww,TrE_PrzeliczL,TrE_PrzeliczM,TeP_PoczSww,TeP_PoczVat
from CDN.TraNag TraNag 
right join CDN.TraElem on TrN_GIDNumer = TrE_GIDNumer and TrN_GIDtyp = TrE_GIDTyp 
left join CDN.TraSElem on TrE_GIDNumer= TrS_GIDNumer and TrE_GIDLp = TrS_GIDLp
left join CDN.TwrKarty on Twr_GIDNumer=TrE_TwrNumer
join ((select 2 as sekcja) union all (select 1 as sekcja)) b on 1=1
outer apply CDN.lancuchkorekt2(TrS_GIDNumer,TrS_GIDLp) where {?filtr} and trs_zwrlp <> 0 order by sekcja desc, abs(tre_pozycja),tre_gidlp

blecku
Posty: 56
Rejestracja: 08 sie 2018, 10:29
Rola: Administrator CDN XL

Re: Jednostka podstawowa na korekcie faktury

Post autor: blecku »

Wygląda na to że gdzieś w raporcie siedzi jakiś mechanizm podmieniający jednostkę i ilość. Szukałbym w ekspercie sekcji czy nie ma gdzieś warunków, ewentualnie w samych polach. Ekspertem Crystala nie jestem więc jakiś filozofii strasznych nie wymyślę musiałbym mieć raporcik i go sobie "przeklikać" :P
Pozdrawiam,
Kamil

john_doe
Posty: 650
Rejestracja: 26 maja 2008, 22:15
Rola: Inny

Re: Jednostka podstawowa na korekcie faktury

Post autor: john_doe »

puść to na bazie dla jakiegoś przykładowego dokumentu i już....
skoro to

Kod: Zaznacz cały

TrE_JmZ
pokazuje Ci BB to jest to tam tak zapisane.

Zobacz/dodaj sobie Twr_Jm

Co do kodu, sformatuj go dla innych bo w to spaghetti nikomu się nie zachce

Kod: Zaznacz cały

SELECT Twr_Jm,
       abs(tre_pozycja),
       tre_gidnumer,
       trn_stan,
       tep_przyczynakorekty,
       sekcja,
       tep_rozdzielony,

  (SELECT sum(tre_Zlom)
   FROM CDN.TraNag
   JOIN CDN.TraElem ON tre_gidnumer = trn_gidnumer
   WHERE ((TraNag.TrN_GIDTyp=2041
           AND TraNag.TrN_GIDNumer=5548)
          OR (TraNag.TrN_GIDTyp=2033
              AND TraNag.TrN_GIDNumer=5547))
     AND trn_gidnumer =5548
     AND tre_Ilosc <> 0
     AND TrE_KsiegowaBrutto <> 0) AS Zlom,
       tep_PoczFlagaVat,
       tre_flagavat,
       tre_pozycja,
       Tre_Zlom,
       TrE_Ilosc,
       Twr_Kod,
       TeP_PoczPrzeliczM,
       TeP_PoczPrzeliczL,
       TrE_TwrNazwa,
       TrE_TwrKod,
       TrE_GIDLp,
       TeP_PoczKsiegowaNetto,
       TeP_PoczKsiegowaBrutto,
       TeP_PoczIlosc,
       TeP_Ilosc,
       TrE_cena,
       TeP_RozCena,
       TeP_PoczCena,
       TeP_KsiegowaNetto,
       TeP_ksiegowabrutto,
       TeP_Vat,
       trs_gidtyp,
       TrS_GIDNumer,
       TrS_GIDLp,
       TrE_KsiegowaNetto,
       TrE_KsiegowaBrutto,
       TrN_FlagaNB,
       TrE_StawkaPod,
       TrN_GIDTyp,
       TrE_StawkaPod,
       TrE_JmZ,
       TwR_Sww,
       TrE_PrzeliczL,
       TrE_PrzeliczM,
       TeP_PoczSww,
       TeP_PoczVat
FROM CDN.TraNag TraNag
RIGHT JOIN CDN.TraElem ON TrN_GIDNumer = TrE_GIDNumer
AND TrN_GIDtyp = TrE_GIDTyp
LEFT JOIN CDN.TraSElem ON TrE_GIDNumer= TrS_GIDNumer
AND TrE_GIDLp = TrS_GIDLp
LEFT JOIN CDN.TwrKarty ON Twr_GIDNumer=TrE_TwrNumer
JOIN (
        (SELECT 2 AS sekcja)
      UNION ALL
        (SELECT 1 AS sekcja)) b ON 1=1 OUTER apply CDN.lancuchkorekt2(TrS_GIDNumer, TrS_GIDLp)
WHERE (TrN_GIDTyp=2001
       AND TrN_GIDNumer=462269827)
  AND trs_zwrlp <> 0
ORDER BY sekcja DESC,
         abs(tre_pozycja),
         tre_gidlp

czasem jak widzę distinct to z doświadczenia wiem, że koderowi tego zapytania ... wychodziły podwojone wiersze co niektóre ... to lubudu DISTINCT // dygresja

a tutaj dlaczego tak usztywniłeś?

Kod: Zaznacz cały

   WHERE ((TraNag.TrN_GIDTyp=2041
           AND TraNag.TrN_GIDNumer=5548)
          OR (TraNag.TrN_GIDTyp=2033
              AND TraNag.TrN_GIDNumer=5547))

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

Re: Jednostka podstawowa na korekcie faktury

Post autor: elmiq »

Tylko co tu jest nie tak? Na FSE masz przecież ewidentnie dwie pozycje, pierwsza na 6BB, druga na 6 szt. Korygujesz obie do zera, więc pokazuje Ci ilość korygowaną i ilość po korekcie (czyli -6BB, 0BB oraz -6szt., 0szt.). Jednostka BB pokazuje się, bo masz ją JAWNIE wybraną na elemencie, stąd Tre_JMZ jest BB, a nie kg jak jednostka podstawowa.

Pozdrawiam,
Mateusz
Mateusz Świerkosz

http://elmiq.blogspot.com/

1shot2killa
Posty: 14
Rejestracja: 27 wrz 2018, 12:15
Rola: Inny
Wersja: 2018

Re: Jednostka podstawowa na korekcie faktury

Post autor: 1shot2killa »

elmiq pisze:
12 paź 2018, 09:45
Tylko co tu jest nie tak? Na FSE masz przecież ewidentnie dwie pozycje, pierwsza na 6BB, druga na 6 szt. Korygujesz obie do zera, więc pokazuje Ci ilość korygowaną i ilość po korekcie (czyli -6BB, 0BB oraz -6szt., 0szt.). Jednostka BB pokazuje się, bo masz ją JAWNIE wybraną na elemencie, stąd Tre_JMZ jest BB, a nie kg jak jednostka podstawowa.

Pozdrawiam,
Mateusz
Dzięki. Przeanalizowałem to jeszcze raz. Rzeczywiście faktura była wystawiona na towar w jednostce BB. Następnie jeden z użytkowników usunął z karty towaru jednostkę pomocniczą, która była BB i zostawił tylko podstawową czyli kg. Na fakturze eksportowej pierwotnej były BB, ale kolega podmienił wydruk i na FV miałem kg. Gdy robiłem korektę nie wiedziałem dlaczego wyświetla ją w BB. Teraz już wiem, bo źródłowa FV również tak była wstawiona.
Sprawdzając na bazie testowej wystawiłem FV na ten indeks i wykonałem jego korektę i wszystko było w porządku czyli w jednostkach podstawowych.
Trzeba chyba, poucinać niektórym uprawnienia w firmie.

ODPOWIEDZ