Numery dokumentów do Zlecenia w Mozart Produkcja z poziomu SQL

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:

clip_image002

a tak z poziomu SQL:

clip_image003

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:

clip_image004

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:

clip_image005

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

clip_image006

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

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *