Kolumna "Zlecone"

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

Moderator: mikey

AndrzejK
Posty: 25
Rejestracja: 26 wrz 2023, 14:00
Rola: Użytkownik CDN XL
Wersja: 2023

Kolumna "Zlecone"

Post autor: AndrzejK »

Cześć,

nie wiem za bardzo jak się zabrać za taką kolumnę, może ktoś ma gotowe rozwiązanie. Mianowicie potrzebuję na liście towarów/na zakładce ogólne na ZP mieć kolumnę, która pokaże mi ile sztuk mam zleconych konkretnego produktu. O ile w momencie kiedy to jest produkt, który nie jest półproduktem to po rezerwacji mogę pójść o tyle w momencie kiedy to jest półprodukt to już nie bardzo. Ideas?

AndrzejK
Posty: 25
Rejestracja: 26 wrz 2023, 14:00
Rola: Użytkownik CDN XL
Wersja: 2023

Re: Kolumna "Zlecone"

Post autor: AndrzejK »

Chodzi dokładnie o zakładkę "produkcja" w zleceniach w historii towaru. Jak to zobaczyć?

Awatar użytkownika
praiser
Posty: 720
Rejestracja: 02 lip 2014, 12:22
Rola: Handlowiec CDN XL
Wersja: 2023

Re: Kolumna "Zlecone"

Post autor: praiser »

wg profilera użyty jest widok [CDN].[ProdHistoriaTowaru] (@TwrNumer INT,@TypElementu TINYINT)

Kod: Zaznacz cały

SELECT
    DataWystawienia,
    NumerDok,
    StatusDok,
    Ilosc,
    Zrealizowano,
    KolorDok,
    Proces,
    Operacja,
    ISNULL(Knt_Akronim, '') KntAkronim,
    ISNULL(Knt_Nazwa1, '') + ' ' +(ISNULL(Knt_Nazwa2, '')) + ' ' +(ISNULL(Knt_Nazwa3, '')) KntNazwa,
    ISNULL(Knt_Miasto, '') KntMiasto,
    ROW_NUMBER() OVER(
        ORDER BY
            DokNumer
    ) Lp,
    TypElementu,
    DokNumer
FROM
    CDN.ProdHistoriaTowaru(@TwrNumer,@TypElementu)
    JOIN CDN.TwrKarty ON Twr_GIDNumer = @TwrNumer
    JOIN CDN.ProdZlecenia ON PZL_Id = DokNumer
    LEFT JOIN CDN.KntKarty ON KntTyp = 32
    AND Knt_GIDNumer = KntNumer

-- Warunki z filtra
WHERE
    1 = 1
    AND (
        DataWystawienia BETWEEN @dataod
        AND @datado
    )
--------------------------------
Pozdrawiam
WW

AndrzejK
Posty: 25
Rejestracja: 26 wrz 2023, 14:00
Rola: Użytkownik CDN XL
Wersja: 2023

Re: Kolumna "Zlecone"

Post autor: AndrzejK »

Hej,

widzę, że to jest funkcja, jak to przekuć na kolumnę? :) bo widok pewnie jakoś bym ogarnął.

Awatar użytkownika
praiser
Posty: 720
Rejestracja: 02 lip 2014, 12:22
Rola: Handlowiec CDN XL
Wersja: 2023

Re: Kolumna "Zlecone"

Post autor: praiser »

no jasne, że funkcja. nie wiem czemu napisałem widok.

Nie znam modułu produkcyjnego bo nie używam ale użycie funkcji bym widział jakoś tak jak poniżej (nie wiem co to jest TypElementu w funkcji więc zostawiłem jako zmienną @gidtyp <- do edycji)

Kod: Zaznacz cały

select dane.Ilosc as Ilosc from
(select Twr_GidNumer as TwrGidNumer, Twr_GidTyp as TwrGidTyp from Cdn.TwrKarty) temp
outer apply CDN.ProdHistoriaTowaru(temp.TwrGidNumer,@gidtyp) dane
where {filtrsql}
--------------------------------
Pozdrawiam
WW

AndrzejK
Posty: 25
Rejestracja: 26 wrz 2023, 14:00
Rola: Użytkownik CDN XL
Wersja: 2023

Re: Kolumna "Zlecone"

Post autor: AndrzejK »

Cześć,

pewnie dojdziemy do tego, wyrzuca mi błąd:

Kod: Zaznacz cały

Blad wykonania zapytania SQL 
select dane.Ilosc as Ilosc from
(select Twr_GidNumer as TwrGidNumer, Twr_GidTyp as TwrGidTyp from Cdn.TwrKarty) temp
outer apply CDN.ProdHistoriaTowaru(temp.TwrGidNumer,8) dane
where (Twr_GIDNumer=800).
ERRORS;Nieprawidłowa nazwa kolumny Twr_GIDNumer.
oczywiście kolumnę wrzucam na listę towarów, gidtyp zmieniłem na 8 z tego co widzę to w funkcji jest to określenie produktów na operacji a o to mi chodzi.

Awatar użytkownika
praiser
Posty: 720
Rejestracja: 02 lip 2014, 12:22
Rola: Handlowiec CDN XL
Wersja: 2023

Re: Kolumna "Zlecone"

Post autor: praiser »

Kod: Zaznacz cały

select dane.Ilosc as Ilosc from
from Cdn.TwrKarty
outer apply CDN.ProdHistoriaTowaru(Twr_GidNumer,@gidtyp) dane
where {filtrsql}
--------------------------------
Pozdrawiam
WW

AndrzejK
Posty: 25
Rejestracja: 26 wrz 2023, 14:00
Rola: Użytkownik CDN XL
Wersja: 2023

Re: Kolumna "Zlecone"

Post autor: AndrzejK »

Hej,

świetnie działa :) Chciałbym to dodatkowo rozwinąć o tabelę rezerwacje, czyli do wyniku historii dodać to co mam na rezerwacjach. Jak to zplusować?

Awatar użytkownika
praiser
Posty: 720
Rejestracja: 02 lip 2014, 12:22
Rola: Handlowiec CDN XL
Wersja: 2023

Re: Kolumna "Zlecone"

Post autor: praiser »

Może tak ?

Kod: Zaznacz cały

select dane.Ilosc+
	(select isnull(sum(Rez_Ilosc-Rez_Zrealizowano),0) 
		from CDN.Rezerwacje 
		where Rez_TwrNumer=Twr_GidNumer)
as Ilosc
from Cdn.TwrKarty
outer apply CDN.ProdHistoriaTowaru(Twr_GidNumer,8) dane
where {filtrsql}
--------------------------------
Pozdrawiam
WW

Awatar użytkownika
praiser
Posty: 720
Rejestracja: 02 lip 2014, 12:22
Rola: Handlowiec CDN XL
Wersja: 2023

Re: Kolumna "Zlecone"

Post autor: praiser »

dokładna suma rezerwacji to będzie w funkcji

function [CDN].[DokSumaRezerwacjiTowaru](
@p_gn int,
@p_typ int,
@p_data_pocz int,
@p_data_kon int,
@p_MagFirma int,
@p_MagNumer int,
@p_biezacadata int,
@p_FrsId int,
@p_FrsIdW int,
@p_TypDok int,
@p_ZrdTyp int,
@p_ZrdNumer int,
@p_FrsIDZrd int,
@p_TypDokZrd int,
@p_DokBufor int
)
-- Funkcja zwraca sume rezerwacji danego towaru
--
-- wersja 4.0
--
-- Parametry:
-- @p_gn GIDNumer towaru
-- @p_typ typ towaru (towar/usluga/koszt/itp...)
-- @p_data_pocz data poczatkowa okresu rezerwacji
-- @p_data_kon data koncowa okresu rezerwacji
-- @p_MagFirma Firma magazynu w ktorym maja byc liczone stany
-- @p_MagNumer numer magazynu w ktorym ma byc liczony stan
-- =0 - wszystkie magazyny ( gdy magFirma <0 - magazyny globalne)
-- <0 - nalezy korzystać z tabeli MagWybor
-- @p_biezacadata - biezaca data systemowa koncowki - jezeli data waznosci jest od niej >= -- rezerwacja jest brana pod uwage
-- poniższe parametrydotyczą magazynów wszystkich (definicje dokumentów: 2003.03.18)
-- @lFrSID - identfikator miejsca w strukturze firmy ( gdy 0 - warunek na magazyny
-- w węźle pomijany)
-- @lFrSIDW - identfikator miejsca w strukturze firmy właściciela dokumentu( gdy 0 - warunek na magazyny
-- w węźle pomijany
-- @lTypDok - typ dokumentu (gdy 0 - warunek pomijany)
-- w przypadku gdy oba parametry zerowe to zwracana lista magazynów z CDN.Magazyny
--------------------------------
Pozdrawiam
WW

ODPOWIEDZ