RKZ faktury

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

Moderator: mikey

Kyniu
Posty: 417
Rejestracja: 21 mar 2008, 10:10
Rola: Administrator CDN XL
Lokalizacja: Świętokrzyskie, Kielce

RKZ faktury

Post autor: Kyniu »

Hej,

Jak się zagląda w fakturę to można podejrzeć taką zakładkę jak RKZ - rozliczenie kosztu zakupu. Podana jest tam marża na dokumencie i koszty na dokumencie. Jak to jest liczone? Bo mnie zaraz coś trafi - podglądam raport w systemie i wynika jakoby koszt był liczony z elementów transakcji TraElem.TrE_KosztKsiegowy. Tylko dlaczego jak ja liczę sumę z tej kolumny to mi wychodzi kupa. Pomóżcie bo zaraz komputer przez okno wywalę i się na kopanie rowów przekwalifikuje.

Kyniu

P.S. Jednak zdecydowanie wolę sieci. Tam wszystko jest takie logiczne i oczywiste.

Awatar użytkownika
S0Cool
Posty: 150
Rejestracja: 13 lut 2008, 10:49
Rola: Administrator CDN XL
Wersja: 2018
Lokalizacja: śląskie

Re: RKZ faktury

Post autor: S0Cool »

Napisz konkretniej co Ci nie wychodzi, może coś wymyślimy.

P.S.
Stopień subiektywnie postrzeganej logiki jest wprost proporcjonalny do stopnia zgłębienia tematu.
Dla mnie sieć to ta chmurka połączona kreską z kodem aplikacji :)
Niniejszy podpis był testowany na zwierzętach.
Nie rozumiały go.

marceynowa
Posty: 341
Rejestracja: 29 lut 2008, 11:27
Rola: Administrator CDN XL
Wersja: 2022
Lokalizacja: Gdynia

Re: RKZ faktury

Post autor: marceynowa »

W tabeli TraElem dla każdej pozycji podana jest wartość księgowa oraz koszt księgowy. U mnie te wartości pokrywają się z zakładką RKZ. Marża jest liczona jako różnica między sprzedaża, a zakupem, natomiat procentowo to jest wzór na to - poza tym zależy od konfiguracji - może być marża "do 100" i "od 100". O dziwo oba wzory podane są w pomocy do CDN XL w rozdziale administrator.

U mnie jest księgowość zewnętrzna, więc może po zaksięgowaniu dokumentó dzieją sie jakieś rzeczy w tabeli. Najlepiej byłoby gdybyś przedstawił jakiś przykład.

Kyniu
Posty: 417
Rejestracja: 21 mar 2008, 10:10
Rola: Administrator CDN XL
Lokalizacja: Świętokrzyskie, Kielce

Re: RKZ faktury

Post autor: Kyniu »

S0Cool pisze:Napisz konkretniej co Ci nie wychodzi, może coś wymyślimy.
Nie wychodzi mi łączenie tabel. Chcę tak (oczywiście kolejność jest zbieżna z rozumowaniem a nie z tym jak to powinno wyglądać w języku SQL):

1. Wybrać z tabeli TraNag transakcje sprzedaży (WHERE CDN.TraNag.TrN_TrNTyp = 3),
2. Wyszukać odpowiadające transakcji wiersze w tabeli TraElem (jak rozumiem zapisując to w postaciu warunku brzmiałoby to tak WHERE CDN.TraElem.TrE_GIDTyp = CDN.TraNag.TrN_GIDTyp AND CDN.TraElem.TrE_GIDNumer = CDN.TraNag.TrN_GIDNumer
3. Zrobić grupowanie po CDN.TraElem.TrE_GIDNumer a sumy w ten sposób SUM(CDN.TraElem.TrE_KsiegowaNetto) AS 'Sprzedaż netto', SUM(CDN.TraElem.TrE_KosztKsiegowy) AS 'Koszt zakupu'.

Tylko tyle a jak się w praktyce okazuje aż tyle.

Kyniu

Awatar użytkownika
wojtini
Posty: 150
Rejestracja: 24 sty 2008, 22:41
Rola: Administrator CDN XL
Wersja: 2016
Lokalizacja: Grodków, opolskie

Re: RKZ faktury

Post autor: wojtini »

Kod: Zaznacz cały

SELECT 
CDN.NumerDokumentuTRN(TrN_GIDTyp, TrN_SpiTyp, TrN_TrNTyp, TrN_TrNNumer, TrN_TrNRok, TrN_TrNSeria) AS Trn_NumerPelny,

	Knt_Akronim,
	Knt_Miasto,
	TrE_TwrNazwa,
	TrE_JmZ,
	TrE_Ilosc,
	TrE_Cena,
	TrE_KsiegowaNetto,
	TrE_KsiegowaBrutto,
	TrE_KosztKsiegowy,
	(TrE_KsiegowaNetto-TrE_KosztKsiegowy) as MARZA_wartosc,
	((TrE_KsiegowaNetto-TrE_KosztKsiegowy) * 100)/TrE_KsiegowaNetto as MARZA_procent
	
 from CDN.TraElem

JOIN CDN.TraNag ON TrN_GIDTyp=TrE_GIDTyp AND TrN_GIDNumer=TrE_GIDNumer
JOIN CDN.KntKarty ON Knt_GIDNumer=TrN_KntNumer

where
TrN_GIDTyp=[b]2033[/b] AND TrN_GIDFirma=[b]206849[/b] AND TrN_GIDNumer=[b]363320[/b]
Tu masz zapytanie podające dane dla jakiegoś przykładowego dokumentu (podstaw właściwe dane w POGRUBIONE miejsca)
PoZdrawiam

Wojciech FRED Błauciak
Administrator AgroAs.pl
GG# 2913
GSM: 608 037 025
administrator@agroas.pl

Awatar użytkownika
wojtini
Posty: 150
Rejestracja: 24 sty 2008, 22:41
Rola: Administrator CDN XL
Wersja: 2016
Lokalizacja: Grodków, opolskie

Re: RKZ faktury

Post autor: wojtini »

Kod: Zaznacz cały

SELECT 
	TrN_GIDNumer,

--	Knt_Akronim,
--	Knt_Miasto,
--	TrE_TwrNazwa,
--	TrE_JmZ,
--	TrE_Ilosc,
--	TrE_Cena,
	SUM (TrE_KsiegowaNetto) AS WartoscSprzedNetto, 
	SUM (TrE_KosztKsiegowy) AS WartoscKosztNetto,
	SUM (TrE_KsiegowaNetto-TrE_KosztKsiegowy) as MARZA_wartosc,
	(SUM (TrE_KsiegowaNetto-TrE_KosztKsiegowy) * 100)/SUM (TrE_KsiegowaNetto) as MARZA_procent
	
 from CDN.TraElem

JOIN CDN.TraNag ON TrN_GIDTyp=TrE_GIDTyp AND TrN_GIDNumer=TrE_GIDNumer
JOIN CDN.KntKarty ON Knt_GIDNumer=TrN_KntNumer

where
TrN_GIDTyp=2033 AND TrN_GIDFirma=206849 AND TrN_GIDNumer=363320

Group by TrN_GIDNumer
A tu masz dane już "poskładane" dla tego dokumentu w "całość".

Jak by co to pytaj dalej bo nie jestem pewien czy dokładnie o to Ci chodzi ;-))
PoZdrawiam

Wojciech FRED Błauciak
Administrator AgroAs.pl
GG# 2913
GSM: 608 037 025
administrator@agroas.pl

Kyniu
Posty: 417
Rejestracja: 21 mar 2008, 10:10
Rola: Administrator CDN XL
Lokalizacja: Świętokrzyskie, Kielce

Re: RKZ faktury

Post autor: Kyniu »

wojtini pisze:Jak by co to pytaj dalej bo nie jestem pewien czy dokładnie o to Ci chodzi ;-))
Nie, nie o to. Dla jednego dokumentu wiem jak to policzyć. Pytanie jak zrobić to dla wszystkich dokumentów. Czyli jeszcze raz - wyławiam wszystkie dokumenty transakcji sprzedaży. Dla każdego z tych dokumentów odszukuję jego elementy transakcji i sumuję kolumny KsiegowaNetto oraz KosztKsiegowy. Zbieram te dane i otrzymuję tabelę zawierającą kolumny:

1. Dokument sprzedaży
2. Data sprzedaży
3. Wartość netto dokumentu sprzedaży (suma kolumny KsiegowaNetto z tabeli TraElem)
4. Koszt na dokumencie sprzedaży (suma kolumny KosztKsiegowy z tabeli TraElem)
5. Marża kwotowo (jak różnica między punktem 3 i 4)
6. Marża procentowo (jako stosunek punktu 3 i 5)

Wiem że muszę wyjść od selekcji wszystkich elementów transakcji, pogrupować je po GIDNumerach elementów transakcji i sumować kolumny KsigowaNetto oraz KosztKsiegowy. I to umiem zrobić. Schody się zaczynają jak chce to pogodzić z tabelę nagłówków transakcji bo wychodzą dziwa.

Kyniu

Kyniu
Posty: 417
Rejestracja: 21 mar 2008, 10:10
Rola: Administrator CDN XL
Lokalizacja: Świętokrzyskie, Kielce

Re: RKZ faktury

Post autor: Kyniu »

Jak zrobię tak:

Kod: Zaznacz cały

SELECT 
  CDN.TraElem.TrE_GIDNumer,
  SUM(CDN.TraElem.TrE_KsiegowaNetto) AS FIELD_1,
  SUM(CDN.TraElem.TrE_KosztKsiegowy) AS FIELD_2
FROM
  CDN.TraElem
GROUP BY
  CDN.TraElem.TrE_GIDNumer
ORDER BY
  CDN.TraElem.TrE_GIDNumer
To do tego miejsca mi wychodzi. A otrzymuję ponad 2000 wierszy. Co prawda nie wiem czemu jest taka różnica w porównaniu do nagłówków transakcji (tych jest ponad 3500) ale na razie przyjmuję że tak jest. Prawdopodobnie wynika to z tego że w nagłówkach są jeszcze spinacze które nie mają elementów.

I w tym momencie mnie olśniło :!: Cholerne spinacze :!: Przecież spinacz nie ma elementów. Czyli po odszukaniu dokumentów (S)FS muszę znaleźć właściwe im WZ i dopiero z WZ pobrać elementy transakcji.

Kyniu

Awatar użytkownika
wojtini
Posty: 150
Rejestracja: 24 sty 2008, 22:41
Rola: Administrator CDN XL
Wersja: 2016
Lokalizacja: Grodków, opolskie

Re: RKZ faktury

Post autor: wojtini »

Czyli musisz zrobić złączenie TraNag z nią samą ;-))
PoZdrawiam

Wojciech FRED Błauciak
Administrator AgroAs.pl
GG# 2913
GSM: 608 037 025
administrator@agroas.pl

Kyniu
Posty: 417
Rejestracja: 21 mar 2008, 10:10
Rola: Administrator CDN XL
Lokalizacja: Świętokrzyskie, Kielce

Re: RKZ faktury

Post autor: Kyniu »

wojtini pisze:Czyli musisz zrobić złączenie TraNag z nią samą ;-))
Wracamy do dyskusji. Mam wybrane elementy, pogrupowane pod GIDNumerach, policzone sumy. Teraz muszę na podstawie GIDNumeru wskazać "tatusia" tych elementów czyli transakcję z której pochodzą - rozumiem że GIDNumer wskaże mi jako tatusia FS albo WZ. Dobrze myślę? Zaraz coś wyklikam bo lepiej mi się myśli jak działam niż tak abstrakcyjnie.

UPDATE:

Dorobiłem kontrolnie wyświetlanie dokumentu "tatusia" i na razie jest dobrze, kierunek właściwy:

Kod: Zaznacz cały

SELECT 
  CDN.TraElem.TrE_GIDNumer,
  SUM(CDN.TraElem.TrE_KsiegowaNetto) AS FIELD_1,
  SUM(CDN.TraElem.TrE_KosztKsiegowy) AS FIELD_2,
  CDN.TraNag.TrN_DokumentObcy
FROM
  CDN.TraElem
  INNER JOIN CDN.TraNag ON (CDN.TraElem.TrE_GIDTyp = CDN.TraNag.TrN_GIDTyp)
  AND (CDN.TraElem.TrE_GIDNumer = CDN.TraNag.TrN_GIDNumer)
GROUP BY
  CDN.TraElem.TrE_GIDNumer,
  CDN.TraNag.TrN_DokumentObcy
ORDER BY
  CDN.TraElem.TrE_GIDNumer
UPDATE:

Ograniczmy się do FS i WZ bo inne dokumenty mnie nie interesują:

Kod: Zaznacz cały

SELECT 
  CDN.TraElem.TrE_GIDNumer,
  SUM(CDN.TraElem.TrE_KsiegowaNetto) AS FIELD_1,
  SUM(CDN.TraElem.TrE_KosztKsiegowy) AS FIELD_2,
  CDN.TraNag.TrN_DokumentObcy
FROM
  CDN.TraElem
  INNER JOIN CDN.TraNag ON (CDN.TraElem.TrE_GIDTyp = CDN.TraNag.TrN_GIDTyp)
  AND (CDN.TraElem.TrE_GIDNumer = CDN.TraNag.TrN_GIDNumer)
WHERE
  CDN.TraElem.TrE_GIDTyp IN (2033,2001)
GROUP BY
  CDN.TraElem.TrE_GIDNumer,
  CDN.TraNag.TrN_DokumentObcy
ORDER BY
  CDN.TraElem.TrE_GIDNumer
Kyniu

ODPOWIEDZ