Skocz do zawartości

Raport własny SQL pozycji na dokumentach ZK, a termin realizacji

Polecane posty

Dzień Dobry,

Jakiś czas temu napisałem taki raport (poniżej) dla pozycji na dokumentach ZK, którego zadaniem jest wspomaganie planowania, mianowicie pokazuje on wszystkie asortymenty na zamówieniach. Dzięki temu raportowi możemy wypluć dane do Excela i wygenerować tabelę przestawną z prostą listą asortymentów, którą możemy edytować dodając i usuwając filtry itp. - wiem, że nexo ma wbudowany podobny raport, ale tak jest dla nas prościej.

Ostatnio otrzymałem zgłoszenie o tym, że jeśli na dokumencie ZK pierwotnie była wpisana Data realizacji dla przykładu 2019-07-18, natomiast później po edycji dokumentu zmieniono datę na inną, 2019-07-16, to po wygenerowaniu raportu ponownie na pozycji dokumentu Data realizacji pobiera się ona z pierwotnego wpisu. Czy można jakoś rozwiązać ten problem?

 

SELECT

	dok.Id AS Id,
	dok.NumerWewnetrzny_PelnaSygnatura AS DokPelnyNr,
	pd.Termin AS TermReal,
	dok.Uwagi AS DokUwagi,
	p.NazwaSkrocona AS NazwaOdb,
	ah.LiniaCalosc AS AdresOdb,
	gr.Nazwa AS TypKlient,
	uz.Nazwa AS Opiekun,
	aso.Nazwa AS NazwaProd,
	aso.Symbol AS SymbolProd,
	pd.Ilosc AS Ilosc,
	jm.Symbol AS Jm,
	pd.Opis AS OpisPoz
	
FROM [ModelDanychContainer].[Dokumenty] AS dok

LEFT JOIN [ModelDanychContainer].[Podmioty] AS p ON p.Id=dok.OdbiorcaId
LEFT JOIN [ModelDanychContainer].[OpiekunowiePodmiotu] AS op ON op.Podmiot_Id=p.Id
LEFT JOIN [ModelDanychContainer].[Uzytkownicy] AS uz ON uz.Id=op.UzytkownikId
LEFT JOIN [ModelDanychContainer].[AdresHistorie] AS ah ON ah.Id=dok.AdresOdbiorcyId
LEFT JOIN [ModelDanychContainer].[PozycjeDokumentu] AS pd ON pd.Dokument_Id=dok.Id
LEFT JOIN [ModelDanychContainer].[Magazyny] AS mag ON mag.Id=pd.MagazynId
LEFT JOIN [ModelDanychContainer].[PodmiotGrupa] AS pg ON pg.Podmioty_Id=p.Id
LEFT JOIN [ModelDanychContainer].[Grupy] AS gr ON gr.Id=pg.Grupy_Id
LEFT JOIN [ModelDanychContainer].[Osoby] AS o ON o.Id=dok.WystawilaOsobaId
LEFT JOIN [ModelDanychContainer].[Asortymenty] AS aso ON aso.Id=pd.AsortymentAktualnyId
LEFT JOIN [ModelDanychContainer].[GrupyAsortymentu] AS ga ON ga.Id=aso.Grupa_Id
LEFT JOIN [ModelDanychContainer].[JednostkiMiarAsortymentow] AS jma ON jma.Id=pd.JednostkaMiaryAsId
LEFT JOIN [ModelDanychContainer].[JednostkiMiar] AS jm ON jm.Id=jma.JednostkaMiary_Id



WHERE dok.TerminRealizacji BETWEEN {DR:Termin realizacji}
AND dok.DataSprzedazy BETWEEN {DR:Data wystawienia}
AND dok.Symbol LIKE 'ZK'
AND mag.Symbol LIKE 'MG'

 

Link to postu
Prawdopodobnie zmiana terminu realizacji jest w drugą stronę — na późniejszy, z 16.07 na 18.07 (odwrotnie jak Pan napisał), a wtedy terminy realizacji pozycji (pokazywane w raporcie) nie są automatycznie dopasowywane. Należy to zrobić ręcznie opcją „Przepisz na pozycje” pod rozwijanym menu terminu realizacji dokumentu.
  • Lubię to 2
Link to postu
7 minut temu, Adam G napisał:

To już nie lepiej w Excelu zrobić połączenie z SQL?

Przed 5 minutami chciałem napisać, że dużo próbowałem już kiedyś i nie mogłem sobie poradzić, ale właśnie usiadłem do tego jeszcze raz i udało mi się skonfigurować połączenie. Poprzednio, gdy próbowałem podłączyć się pod bazę wyskakiwał błąd, ale teraz dodałem do nazwy bazy danych przedrostek nexo_ i działa. :)

  • Lubię to 1
Link to postu
×
×
  • Dodaj nową pozycję...