DATA ERP XL

Zapytania SQL, widoki, Crystal, definicje filtrów, szybkich raportów, wydruków, API, Hydra, .NET

Moderator: mikey

VIkking
Posty: 175
Rejestracja: 20 paź 2021, 14:28
Rola: Administrator CDN XL
Wersja: 2022
Kontakt:

DATA ERP XL

Post autor: VIkking »

Witam mam coś takiego. Zestawienie ZS gdzie termin realizacji ma być kwiecień:

Kod: Zaznacz cały

/****** Script for SelectTopNRows command from SSMS  ******/
SELECT
[Zamówienie]=CDN.NumerDokumentu(CDN.DokMapTypDokumentu(ZaN_GIDTyp,ZaN_ZamTyp, ZaN_Rodzaj), 0, ZaN_ZamTyp, ZaN_ZamNumer, ZaN_ZamRok, ZaN_ZamSeria, ZaN_ZamMiesiac)
,(CDN.AtrPobierzWartosc(ZaN_GIDTyp, ZaN_GIDNumer, ZaN_GIDLp, 0, 13, 0)) AS Atr_Rodzaj_Prod
,[Data zamówienia]=CDN.TSToDate(ZaN_DataWystawienia,0)
,[Kontrahent]=Knt_Akronim 
,[Netto]=convert(varchar,ZamNetto) +'  '+ ZamWaluta
,[Brutto]=convert(varchar,ZamBrutto) +'  '+ ZamWaluta
  , FORMAT(DATEADD(DAY, ZaN_DataRealizacji, '18001228'), 'dd.MM.yyyy'), ZaN_DataRealizacji FROM [ERPXL_VIKKING].[CDN].[ZamNag] 
  join 
        (select ZaV_GIDTyp, ZaV_GIDNumer, 
        convert(decimal(15,2),sum(case when ZaV_Netto<>0 then ZaV_Netto else round(ZaV_Brutto*100/(100+ZaV_StawkaPod),2) end)) ZamNetto, 
        convert(decimal(15,2),sum(case when ZaV_Brutto<>0 then ZaV_Brutto else round(ZaV_Netto*(100+ZaV_StawkaPod)/100,2) end)) ZamBrutto, 
        ZaV_Waluta ZamWaluta
        from CDN.ZamVat
        group by ZaV_GIDTyp, ZaV_GIDNumer, ZaV_Waluta) ZamVat on ZaN_GIDTyp=ZaV_GIDTyp and ZaN_GIDNumer=ZaV_GIDNumer
join CDN.KntKarty on Knt_GIDTyp=ZaN_KntTyp and Knt_GIDNumer=ZaN_KntNumer
  WHERE 
  (ZaN_ZamTyp=1280 and ZaN_Rodzaj =4) AND ZaN_ZamRok=2022 AND ZaN_FrsID IN( 1,5,10,11,19,480,481,20,18,16,12,14,523,524,15,525,526,527,13,21) AND ZaN_DataRealizacji BETWEEN datediff(day, '18001228', '20220401') and datediff(day, '18001228', '20220431')
Problem jest z datą, jak zamienić datę naszą na datę ERP XL ?

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

Re: DATA ERP XL

Post autor: praiser »

można tak na przykład:

... (year(dateadd(day, Zan_DataRealizacji, '18001228')) = 2022 and month(dateadd(day, Zan_DataRealizacji, '18001228')) = 4)
--------------------------------
Pozdrawiam
WW

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

Re: DATA ERP XL

Post autor: praiser »

lol :) nie zauważyłem ale twój skrypt nie działa bo kwiecień nie ma 31 dni :)
--------------------------------
Pozdrawiam
WW

VIkking
Posty: 175
Rejestracja: 20 paź 2021, 14:28
Rola: Administrator CDN XL
Wersja: 2022
Kontakt:

Re: DATA ERP XL

Post autor: VIkking »

Tak juz poprawiłem i działa. A powie mi ktoś jak zrobić aby przeliczało kurs Euro na PL ?

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

Re: DATA ERP XL

Post autor: praiser »

Kod: Zaznacz cały

/****** Script for SelectTopNRows command from SSMS  ******/
SELECT
    [Zamówienie] = CDN.NumerDokumentu(
        CDN.DokMapTypDokumentu(ZaN_GIDTyp, ZaN_ZamTyp, ZaN_Rodzaj),
        0,
        ZaN_ZamTyp,
        ZaN_ZamNumer,
        ZaN_ZamRok,
        ZaN_ZamSeria,
        ZaN_ZamMiesiac
    ),
(
        CDN.AtrPobierzWartosc(ZaN_GIDTyp, ZaN_GIDNumer, ZaN_GIDLp, 0, 13, 0)
    ) AS Atr_Rodzaj_Prod,
    [Data zamówienia] = CDN.TSToDate(ZaN_DataWystawienia, 0),
    [Kontrahent] = Knt_Akronim,
    [Netto] = convert(varchar, ZamNetto) + '  ' + ZamWaluta,
    [Brutto] = convert(varchar, ZamBrutto) + '  ' + ZamWaluta,
    [NettoPLN] = convert(varchar, ZamNettoPLN) + '  PLN',
    [BruttoPLN] = convert(varchar, ZamBruttoPLN) + '  PLN',
    FORMAT(
        DATEADD(DAY, ZaN_DataRealizacji, '18001228'),
        'dd.MM.yyyy'
    ),
    ZaN_DataRealizacji
FROM
    [ERPXL_VIKKING].[CDN].[ZamNag]
    join (
        select
            ZaV_GIDTyp,
            ZaV_GIDNumer,
            convert(
                decimal(15, 2),
                sum(
                    case
                        when ZaV_Netto <> 0 then ZaV_Netto
                        else round(ZaV_Brutto * 100 /(100 + ZaV_StawkaPod), 2)
                    end
                )
            ) ZamNetto,
            convert(
                decimal(15, 2),
                sum(
                    case
                        when ZaV_Brutto <> 0 then ZaV_Brutto
                        else round(ZaV_Netto *(100 + ZaV_StawkaPod) / 100, 2)
                    end
                )
            ) ZamBrutto,
            convert(
                decimal(15, 2),
                sum(
                    case
                        when Zav_Netto <> 0 then round((Zav_Netto * Zav_Kursl / Zav_Kursm), 2)
                        else round(
                            (
                                ZaV_Brutto * 100 /(100 + ZaV_StawkaPod) * ZaV_Kursl / Zav_kursM
                            ),
                            2
                        )
                    end
                )
            ) ZamNettoPLN,
            convert(
                decimal(15, 2),
                sum(
                    case
                        when Zav_Brutto <> 0 then round((Zav_Brutto * Zav_Kursl / Zav_Kursm), 2)
                        else round(
                            (
                                ZaV_Netto * 100 /(100 + ZaV_StawkaPod) * ZaV_Kursl / Zav_kursM
                            ),
                            2
                        )
                    end
                )
            ) ZamBruttoPLN,
            ZaV_Waluta ZamWaluta
        from
            CDN.ZamVat
        group by
            ZaV_GIDTyp,
            ZaV_GIDNumer,
            ZaV_Waluta
    ) ZamVat on ZaN_GIDTyp = ZaV_GIDTyp
    and ZaN_GIDNumer = ZaV_GIDNumer
    join CDN.KntKarty on Knt_GIDTyp = ZaN_KntTyp
    and Knt_GIDNumer = ZaN_KntNumer
WHERE
    (
        ZaN_ZamTyp = 1280
        and ZaN_Rodzaj = 4
    )
    AND ZaN_ZamRok = 2022
    AND ZaN_FrsID IN(
        1,
        5,
        10,
        11,
        19,
        480,
        481,
        20,
        18,
        16,
        12,
        14,
        523,
        524,
        15,
        525,
        526,
        527,
        13,
        21
    )
    AND ZaN_DataRealizacji BETWEEN datediff(day, '18001228', '20220401')
    and datediff(day, '18001228', '20220430')
--------------------------------
Pozdrawiam
WW

ODPOWIEDZ