Numer dokumentów magazynowych w Mozarcie przechowywane są w tabeli xpoDokumenty, aby powiązać je z Zleceniem musimy przejść przez xpoZleceniaProdukcyjne do xpoZlecenia.
xpoDokumenty -> ZlecProd to oid w tabeli xpoZlecProd
xpoZlecProd -> zlecenie to oid w tabeli xpoZlecenia
Zatem, żeby wyciągnąć listę wszystkich dokumentów magazynowych (+ rezerwacje, jeżeli zlecenie nie jest zamknięte) dla danego zlecenia trzeba przejść od tabeli xpoZlecenia przez xpoZlecProd do xpoDokumenty
Poniżej mamy przykład, tak to wygląda w interfejsie Mozart Produkcja:
a tak z poziomu SQL:
Aby uzyskać taki efekt końcowy należało:
1. Odnaleźć Oid w tabeli xpoZlecenia
USE [MozNexoDemo1]
GO
SELECT [OID]
,[Numer]
FROM [dbo].[xpoZlecenia]
WHERE [Numer] = 'M/19/0006′
GO
Dla Zlecenia numer M/19/0006
Uzyskamy efekt w postaci:
Na tej podstawie szukamy dalej.
2. Szukamy Oid zleceń produkcyjnych w tablei xpoZlecProd
USE [MozNexoDemo1]
GO
SELECT [OID]
,[zlecenie]
FROM [dbo].[xpoZlecProd]
WHERE [zlecenie] = '1005′
GO
Efekt:
A mając powyższe możemy dojść do dokumentów.
Na podstawie Oid zleceń produkcyjnych odnajdujemy dokumenty magazynowe powiązanie z Zleceniem głównym:
USE [MozNexoDemo1]
GO
SELECT [OID]
,[ZlecProd]
,[DokId]
,[IdMagazynu]
,[Numer] FROM [dbo].[xpoDokumenty]
WHERE [ZlecProd] = '1013′ or [ZlecProd] = '1014′ or [ZlecProd] = '1015′
GO
Można to zrobić krok po kroku tak jak powyżej albo łatwiej:
USE [MozNexoDemo1]
GO
SELECT xpoDokumenty.[OID]
,xpoDokumenty.[ZlecProd]
,xpoDokumenty.[DokId]
,xpoDokumenty.[IdMagazynu]
,xpoDokumenty.[Numer]
FROM [dbo].[xpoDokumenty]
JOIN xpoZlecProd ON xpoZlecProd.OID = xpoDokumenty.ZlecProd
JOIN xpoZlecenia ON xpoZlecenia.OID = xpoZlecProd.zlecenie
WHERE xpoZlecenia.Numer = 'M/19/0006′
Gdzie numer analizowanego zlecenia mamy podany tu:
WHERE xpoZlecenia.Numer = 'M/19/0006'