Temat: Aktualizacja bazy danych programu Wapro Aukcje

Dzień dobry
Aktualnie posiadam wersje programu 8.31.2
Chciałem przejść na najnowszą, jednak przy próbie aktualizacji bazy danych wyskakuje błąd. Dzieje się tak przy próbie wgrania struktur wersji 8.50

Podczas aktualizacji bazy danych programu WAPRO Aukcje wystąpił błąd:

Invalid column name 'ID_DOKUMENTU_HANDLOWEGO'

Aktualna wersja bazy :23.8406
Docelowa wersja bazy :24.8500
Nazwa pliku :aukcje8500.wf2
Tekst błędnego skryptu :

CREATE PROCEDURE dbo.AUK_DodajPaczkeZTransakcjiZDokumentu @id_firmy INT, @id_obiektu numeric, @typ_dokumentu varchar(10), @id_uzytkownika int, @uzycie tinyint=0

--WITH ENCRYPTION
as
begin
declare @ID_PACZKI int,
@ODBIORCA_IMIE VARCHAR(50),
@ODBIORCA_NAZWISKO VARCHAR(50),
@ODBIORCA_WYSYKLI VARCHAR(50),
@ODBIORCA_FIRMA VARCHAR(200),
@ODBIORCA_EMAIL VARCHAR(50),
@ODBIORCA_TELEFON VARCHAR(20),
@ODBIORCA_ULICA VARCHAR(50),
@ODBIORCA_NR_BUDYNKU VARCHAR(10),
@ODBIORCA_NR_LOKALU VARCHAR(10),
@ODBIORCA_MIEJSCOWOSC VARCHAR(50),
@ODBIORCA_KOD_POCZTOWY VARCHAR(20),
@ODBIORCA_KRAJ VARCHAR(50),
@KOD_PACZKOMATU VARCHAR(20),
@ID_LOGINU_ALLEGRO_SPRZEDAJACEGO VARCHAR(30),
@LOGIN_ALLEGRO VARCHAR(40),
@GUID_GRUPY_TRANSAKCJI UNIQUEIDENTIFIER,
@ID_KONTRAHENTA INT,
@TYP_PRZESYLKI TINYINT,
@ID_METODY_DOSTAWY VARCHAR(50),
@KOSZT_DOSTAWY DECIMAL(18,2),
@WARTOSC_TRANSAKCJI DECIMAL(18,2),
@kodPunktuNadania varchar(20),
@WYMIAR1 INT = 0,
@WYMIAR2 INT = 0,
@WYMIAR3 INT = 0,
@WAGA DECIMAL(18,2) = 0,
@ID_DOM_KURIERA INT,
@ROZMIAR_PACZKI VARCHAR(50),
@OPIS_AKTYWNOSCI VARCHAR(100),
@TYP_ADRESU_PACZKA CHAR(1),
@TYP_ADRESU_DOSTAWY TINYINT,
@WARTOSC_KOD_REF VARCHAR(30),
@ID_MIEJSCA_DOSTAWY varchar(50),
@KOD_OPERATORA VARCHAR(10),
@ID_KURIERA INT,
@ID_TRAN_ALLEGRO varchar(30),
@NR_ZAMOWIENIA VARCHAR(30),
@FORMA_PLATNOSCI VARCHAR(50),
@ZALICZKA DECIMAL(16,2),
@WARTOSC_ZAMOWIENIA DECIMAL(16,2),
@KOD_ZEWN_KURIERA VARCHAR(30),
@ODBIERA_KURIER BIT = 0,
@DATA_ODBIORU_OD DATETIME,
@DATA_ODBIORU_DO DATETIME,
@FORMA_DOSTAWY VARCHAR(100),
@ID_MAGAZYNU INT,
@NR_DOKUMENTU VARCHAR(30),
@PARAM_ODBIERA_KURIER VARCHAR(30),
@PARAM_UBEZPIECZENIE VARCHAR(30),
@ErrMsg varchar(500)='',
@typ_dok char(1)=''

if @typ_dokumentu = 'DokZam'
begin
select @id_miejsca_dostawy = d.ID_MIEJSCA_DOSTAWY, @FORMA_DOSTAWY = fd.NAZWA
from dostawa D WITH (NOLOCK)
inner join FORMA_DOSTAWY fd WITH (NOLOCK)
on d.ID_FORMY_DOSTAWY = fd.ID_FORMY_DOSTAWY
where id_zamowienia = @id_obiektu

select @ID_KONTRAHENTA = id_kontrahenta,
@FORMA_PLATNOSCI = FORMA_PLATNOSCI,
@ZALICZKA = ZALICZKA,
@WARTOSC_ZAMOWIENIA = WARTOSC_BRUTTO,
@NR_DOKUMENTU = NUMER
from ZAMOWIENIE WITH (NOLOCK)
where id_zamowienia = @id_obiektu


end
else if @typ_dokumentu = 'DokMag'
begin
select @id_miejsca_dostawy = d.ID_MIEJSCA_DOSTAWY, @FORMA_DOSTAWY = fd.NAZWA
from dostawa D WITH (NOLOCK) inner join FORMA_DOSTAWY fd WITH (NOLOCK) on d.ID_FORMY_DOSTAWY = fd.ID_FORMY_DOSTAWY
where ID_DOK_MAGAZYNOWEGO = @id_obiektu

select @ID_KONTRAHENTA = id_kontrahenta from ZAMOWIENIE where id_zamowienia = @id_obiektu
end
else if @typ_dokumentu = 'DokHan'
begin
select @id_miejsca_dostawy = d.ID_MIEJSCA_DOSTAWY, @FORMA_DOSTAWY = fd.NAZWA
from dostawa D WITH (NOLOCK) inner join FORMA_DOSTAWY fd WITH (NOLOCK) on d.ID_FORMY_DOSTAWY = fd.ID_FORMY_DOSTAWY
where ID_DOKUMENTU_HANDLOWEGO = @id_obiektu

select @ID_KONTRAHENTA = id_kontrahenta,
@typ_dok=TYP_DOKUMENTU
from DOKUMENT_HANDLOWY WITH (NOLOCK)
where ID_DOKUMENTU_HANDLOWEGO = @id_obiektu

if @typ_dok='z'
begin
select @ErrMsg='Paczki można generować tylko dla dokumentów sprzedaży!'
goto error
end
end
else
return

IF OBJECT_ID('AUK_ALL_TRANSAKCJE') IS NOT NULL -- DOCZYTANIE ID_METODY_DOSTAWY Z ALLEGRO DO USTAWLENIA CZY PACZKA TYPU ALLEGRO CZY NIE
BEGIN
DECLARE @SQL NVARCHAR(4000),
@NPARAMETRY NVARCHAR(2000),
@ERR INT,
@SEKCJA TINYINT,
@ID_ZAMOWIENIA INT

if @typ_dokumentu = 'DokZam'
set @ID_ZAMOWIENIA = @id_obiektu
else if @typ_dokumentu = 'DokMag'
select top 1 @ID_ZAMOWIENIA = ID_ZAMOWIENIA from RealizacjaZamowienDM_V with (nolock) where ID_DOK_MAGAZYNOWEGO = @id_obiektu and ZAMOWIENIE_INTERNETOWE = 2 order by NR_ZAMOWIENIA_KLIENTA desc
else if @typ_dokumentu = 'DokHan'
select top 1 @ID_ZAMOWIENIA = ID_ZAMOWIENIA from RealizacjaZamowienDH_V with (nolock) where ID_DOK_HANDLOWEGO = @id_obiektu and ZAMOWIENIE_INTERNETOWE = 2 order by NR_ZAMOWIENIA_KLIENTA desc

IF ISNULL(@ID_ZAMOWIENIA,0) > 0
BEGIN
set @NPARAMETRY = N'@IdMetodyDostawy varchar(50) OUTPUT'
select @SQL = N'select top 1 @IdMetodyDostawy = id_metody_dostawy from auk_all_transakcje with (nolock) where id_zamowienia = ' + CAST(@ID_ZAMOWIENIA AS VARCHAR(10)) +' order by id desc'
set @ID_METODY_DOSTAWY = ''

exec @ERR = sp_executesql @SQL,@NPARAMETRY,@IdMetodyDostawy = @ID_METODY_DOSTAWY OUTPUT

IF ISNULL(@ID_METODY_DOSTAWY,'') != ''
BEGIN
select @ID_KURIERA = id_kuriera,
@KOD_ZEWN_KURIERA = kod_zewn_kuriera
from AUK_FuncT_PrzemapujIdDostawyNaKuriera(@ID_METODY_DOSTAWY) -- dorobic uuid jak bedzie gotowy w aukcjach

if @ID_KURIERA is not null
select @kod_operatora = kod_operatora from AUK_PACZKA_KURIERZY WITH (NOLOCK) where ID = @ID_KURIERA
else
select top 1 @kod_operatora = kod_operatora from AUK_PACZKA_KURIERZY where ID = @ID_KURIERA
END
END
END

IF @ID_MIEJSCA_DOSTAWY > 0
BEGIN
SELECT @TYP_ADRESU_DOSTAWY = TYP_ADRESU FROM MIEJSCE_DOSTAWY with (nolock) WHERE ID_MIEJSCA_DOSTAWY = @ID_MIEJSCA_DOSTAWY

if @TYP_ADRESU_DOSTAWY = 0
BEGIN
select top 1 @KOD_OPERATORA = kod_operatora from AUK_PACZKA_OPERATORZY order by DOMYSLNY desc, SKONFIGUROWANY desc, AKTYWNY desc

select
@KOD_PACZKOMATU= ''
,@ODBIORCA_IMIE = case when CHARINDEX(' ',MD.ODBIORCA) > 0 then left(MD.ODBIORCA,charindex(' ',MD.ODBIORCA,0)) else '' end
,@ODBIORCA_NAZWISKO= case when CHARINDEX(' ',MD.ODBIORCA) > 0 then ltrim(rtrim(substring(MD.ODBIORCA,charindex(' ',MD.ODBIORCA,0),DATALENGTH(MD.ODBIORCA)))) else '' end
,@ODBIORCA_WYSYKLI = LTRIM(MD.ODBIORCA)
,@ODBIORCA_FIRMA = LTRIM(MD.FIRMA)
,@ODBIORCA_EMAIL = K.ADRES_EMAIL
,@ODBIORCA_TELEFON = case when (datalength(MD.TEL) > 9 and (MD.TEL like ('+48%') or MD.TEL like ('48%'))) then RIGHT(MD.TEL,9) else MD.TEL end
,@ODBIORCA_ULICA = MD.ULICA_LOKAL
,@ODBIORCA_NR_BUDYNKU = ''
,@ODBIORCA_NR_LOKALU = ''
,@ODBIORCA_KRAJ = isnull(md.sym_kraju,'PL')
,@ODBIORCA_MIEJSCOWOSC = MD.MIEJSCOWOSC
,@ODBIORCA_KOD_POCZTOWY = MD.KOD_POCZTOWY
,@ID_KONTRAHENTA = MD.id_kontrahenta
,@LOGIN_ALLEGRO = K.LOGIN_ALLEGRO
from MIEJSCE_DOSTAWY MD with (nolock)
INNER JOIN KONTRAHENT K WITH (NOLOCK)
ON K.ID_KONTRAHENTA = MD.ID_KONTRAHENTA
where MD.ID_MIEJSCA_DOSTAWY = @ID_MIEJSCA_DOSTAWY

-- PEWNIE BEDZIE TRZEBA DODAC PARAMETR JAKI OPERATOR DLA PACZEK NIE DO PUNKTU ODBIORU
select @id_kuriera = id, @ROZMIAR_PACZKI = 'Paczka' from AUK_PACZKA_KURIERZY with (nolock) where KOD_ZEWNETRZNY_KURIERA = ISNULL(NULLIF(@KOD_ZEWN_KURIERA,''),'AH')
END

if @TYP_ADRESU_DOSTAWY = 1
BEGIN

select
@kod_operatora = case when isnull(MD.KOD_OPERATORA,'') <> '' then md.kod_operatora else @kod_operatora end
,@KOD_PACZKOMATU = MD.KOD_PUNKTU
,@ODBIORCA_IMIE =
case when md.KOD_OPERATORA not in ('RUCH', 'SHIPX')
THEN case when CHARINDEX(' ',MD.ODBIORCA) > 0 then left(MD.ODBIORCA,charindex(' ',MD.ODBIORCA,0)) else '' end
end
--''--case when odbiorca_wys not like 'Paczkomat%' /*AND ODBIORCA_WYS not like '%RUCHu%'*/ then left(odbiorca_wys,charindex(' ',odbiorca_wys,0)) else '' end
,@ODBIORCA_NAZWISKO=
case when md.KOD_OPERATORA not in ('RUCH', 'SHIPX')
THEN case when CHARINDEX(' ',MD.ODBIORCA) > 0 then ltrim(rtrim(substring(MD.ODBIORCA,charindex(' ',MD.ODBIORCA,0),DATALENGTH(MD.ODBIORCA)))) else '' end
end
--''--case when odbiorca_wys not like 'Paczkomat%' /*AND ODBIORCA_WYS not like '%RUCHu%'*/ then ltrim(rtrim(substring(odbiorca_wys,charindex(' ',odbiorca_wys,0),DATALENGTH(odbiorca_wys)))) else '' end
,@ODBIORCA_WYSYKLI = LTRIM(MD.ODBIORCA)
,@ODBIORCA_FIRMA = case when rtrim(LTRIM(isnull(MD.FIRMA,'')))='' then ltrim(rtrim(k.NAZWA_PELNA)) else LTRIM(md.firma) end
,@ODBIORCA_EMAIL = K.ADRES_EMAIL
,@ODBIORCA_TELEFON = case when (datalength(MD.TEL) > 9 and (MD.TEL like ('+48%') or MD.TEL like ('48%'))) then RIGHT(MD.TEL,9) else MD.TEL end
,@ODBIORCA_ULICA = MD.ULICA_LOKAL
,@ODBIORCA_NR_BUDYNKU = ''
,@ODBIORCA_NR_LOKALU = ''
,@ODBIORCA_KRAJ = 'PL'
,@ODBIORCA_MIEJSCOWOSC = MD.MIEJSCOWOSC
,@ODBIORCA_KOD_POCZTOWY = MD.KOD_POCZTOWY
,@ID_KONTRAHENTA = MD.id_kontrahenta
,@LOGIN_ALLEGRO = K.LOGIN_ALLEGRO
from MIEJSCE_DOSTAWY MD with (nolock)
INNER JOIN KONTRAHENT K WITH (NOLOCK)
ON K.ID_KONTRAHENTA = MD.ID_KONTRAHENTA
where MD.ID_MIEJSCA_DOSTAWY = @ID_MIEJSCA_DOSTAWY

IF @kod_operatora = 'SHIPX'
select @id_kuriera = id, @ROZMIAR_PACZKI = 'A',@kodPunktuNadania = DBO.KS_PodajWartoscParamPaczek(@id_firmy,'SHIPXPktNadania') from AUK_PACZKA_KURIERZY with (nolock) where KOD_ZEWNETRZNY_KURIERA = 'inpost_locker_standard'
ELSE IF @kod_operatora = 'RUCH'
select @id_kuriera = id, @ROZMIAR_PACZKI = 'Standard' from AUK_PACZKA_KURIERZY with (nolock) where NAZWA = 'Paczka w ruchu'
ELSE if @kod_operatora = 'POCZTAPOL'
begin
select @kodPunktuNadania = DBO.KS_PodajWartoscParamPaczek(@id_firmy,'POCZTAPOLUrzadNadania')
if @FORMA_DOSTAWY like '%PACZKA24%' or @FORMA_DOSTAWY like '%PACZKA 24%'
SELECT @ID_KURIERA = id from AUK_PACZKA_KURIERZY with (nolock) where nazwa = 'Paczka 24'
else if @FORMA_DOSTAWY like '%PACZKA48%' or @FORMA_DOSTAWY like '%PACZKA 48%'
SELECT @ID_KURIERA = id from AUK_PACZKA_KURIERZY with (nolock) where nazwa = 'Paczka 48'
end
END

END
ELSE
BEGIN
if @typ_dokumentu = 'DokZam'
begin
declare @kod_operatora_zam varchar(30)

select top 1 @kod_operatora_zam = k.KOD_OPERATORA from MAG_OPERATOR_PRZESYLKI o
inner join zamowienie z on (o.ID_OPERATORA_PRZESYLKI=z.ID_OPERATORA_PRZESYLKI)
inner join AUK_PACZKA_KURIERZY k on (k.NAZWA_DO_URL=o.NAZWA)
where z.ID_ZAMOWIENIA= @id_obiektu
order by k.KOD_OPERATORA desc -- KS dodane chwilowe zabezpieczenie na powielajace sie nazwy w apaczka i pocztapolska np. brakuje kolumny do sortowania czy to natywny operator

if isnull(@kod_operatora,'') <> '' and isnull(@kod_operatora_zam,'') = ''
set @kod_operatora_zam = @KOD_OPERATORA

select
@kod_operatora = case when len(rtrim(isnull(@kod_operatora_zam,'')))=0 then 'SHIPX' else @kod_operatora_zam end
,@KOD_PACZKOMATU= ''
,@ODBIORCA_IMIE = case when isnull(OSOBA_ZAMAWIAJACA,'') <> '' then ltrim(rtrim(substring(OSOBA_ZAMAWIAJACA,charindex(' ',OSOBA_ZAMAWIAJACA,0),DATALENGTH(OSOBA_ZAMAWIAJACA)))) else '' end
,@ODBIORCA_NAZWISKO= case when isnull(OSOBA_ZAMAWIAJACA,'') <> '' then left(OSOBA_ZAMAWIAJACA,charindex(' ',OSOBA_ZAMAWIAJACA,0)) else '' end
,@ODBIORCA_WYSYKLI = LTRIM(OSOBA_ZAMAWIAJACA)
,@ODBIORCA_FIRMA = LTRIM(ak.nazwa_pelna)
,@ODBIORCA_EMAIL = K.ADRES_EMAIL
,@ODBIORCA_TELEFON = case when (datalength(k.TELEFON_FIRMOWY) > 9 and (k.TELEFON_FIRMOWY like ('+48%') or k.TELEFON_FIRMOWY like ('48%'))) then RIGHT(k.TELEFON_FIRMOWY,9) else k.TELEFON_FIRMOWY end
,@ODBIORCA_ULICA = ak.ULICA_LOKAL
,@ODBIORCA_NR_BUDYNKU = ''
,@ODBIORCA_NR_LOKALU = ''
,@ODBIORCA_KRAJ = isnull(ak.SYM_KRAJU,'PL')
,@ODBIORCA_MIEJSCOWOSC = ak.MIEJSCOWOSC
,@ODBIORCA_KOD_POCZTOWY = ak.KOD_POCZTOWY
,@ID_KONTRAHENTA = z.id_kontrahenta
,@LOGIN_ALLEGRO = K.LOGIN_ALLEGRO
,@ID_MAGAZYNU = z.ID_MAGAZYNU
from ZAMOWIENIE z cross apply dbo.AP_Func_AdresKontrahenta(z.ID_KONTRAHENTA,z.DATA) ak
INNER JOIN KONTRAHENT K WITH (NOLOCK)
ON K.ID_KONTRAHENTA = z.ID_KONTRAHENTA
where z.ID_ZAMOWIENIA = @id_obiektu
end
else if @typ_dokumentu = 'DokMag'
begin
select
@kod_operatora = 'SHIPX'
,@KOD_PACZKOMATU= ''
,@ODBIORCA_IMIE = ''--case when isnull(OSOBA_ZAMAWIAJACA,'') <> '' then ltrim(rtrim(substring(OSOBA_ZAMAWIAJACA,charindex(' ',OSOBA_ZAMAWIAJACA,0),DATALENGTH(OSOBA_ZAMAWIAJACA)))) else '' end
,@ODBIORCA_NAZWISKO= ''-- case when isnull(OSOBA_ZAMAWIAJACA,'') <> '' then left(OSOBA_ZAMAWIAJACA,charindex(' ',OSOBA_ZAMAWIAJACA,0)) else '' end
,@ODBIORCA_WYSYKLI = ''--LTRIM(OSOBA_ZAMAWIAJACA)
,@ODBIORCA_FIRMA = LTRIM(ak.nazwa_pelna)
,@ODBIORCA_EMAIL = K.ADRES_EMAIL
,@ODBIORCA_TELEFON = case when (datalength(k.TELEFON_FIRMOWY) > 9 and (k.TELEFON_FIRMOWY like ('+48%') or k.TELEFON_FIRMOWY like ('48%'))) then RIGHT(k.TELEFON_FIRMOWY,9) else k.TELEFON_FIRMOWY end
,@ODBIORCA_ULICA = ak.ULICA_LOKAL
,@ODBIORCA_NR_BUDYNKU = ''
,@ODBIORCA_NR_LOKALU = ''
,@ODBIORCA_KRAJ = isnull(ak.SYM_KRAJU,'PL')
,@ODBIORCA_MIEJSCOWOSC = ak.MIEJSCOWOSC
,@ODBIORCA_KOD_POCZTOWY = ak.KOD_POCZTOWY
,@ID_KONTRAHENTA = z.id_kontrahenta
,@LOGIN_ALLEGRO = K.LOGIN_ALLEGRO
,@ID_MAGAZYNU = z.ID_MAGAZYNU
from DOKUMENT_MAGAZYNOWY z WITH (NOLOCK) cross apply dbo.AP_Func_AdresKontrahenta(z.ID_KONTRAHENTA,z.DATA) ak
INNER JOIN KONTRAHENT K WITH (NOLOCK)
ON K.ID_KONTRAHENTA = z.ID_KONTRAHENTA
where z.ID_DOK_MAGAZYNOWEGO = @id_obiektu
end
else if @typ_dokumentu = 'DokHan'
begin
select
@kod_operatora = 'SHIPX'
,@KOD_PACZKOMATU= ''
,@ODBIORCA_IMIE = ''
,@ODBIORCA_NAZWISKO= ''
,@ODBIORCA_WYSYKLI = ''
,@ODBIORCA_FIRMA = LTRIM(ak.nazwa_pelna)
,@ODBIORCA_EMAIL = K.ADRES_EMAIL
,@ODBIORCA_TELEFON = case when (datalength(k.TELEFON_FIRMOWY) > 9 and (k.TELEFON_FIRMOWY like ('+48%') or k.TELEFON_FIRMOWY like ('48%'))) then RIGHT(k.TELEFON_FIRMOWY,9) else k.TELEFON_FIRMOWY end
,@ODBIORCA_ULICA = ak.ULICA_LOKAL
,@ODBIORCA_NR_BUDYNKU = ''
,@ODBIORCA_NR_LOKALU = ''
,@ODBIORCA_KRAJ = isnull(ak.SYM_KRAJU,'PL')
,@ODBIORCA_MIEJSCOWOSC = ak.MIEJSCOWOSC
,@ODBIORCA_KOD_POCZTOWY = ak.KOD_POCZTOWY
,@ID_KONTRAHENTA = z.id_kontrahenta
,@LOGIN_ALLEGRO = K.LOGIN_ALLEGRO
,@ID_MAGAZYNU = z.ID_MAGAZYNU
from DOKUMENT_HANDLOWY z WITH (NOLOCK) cross apply dbo.AP_Func_AdresKontrahenta(z.ID_KONTRAHENTA,z.DATA_WYSTAWIENIA) ak
INNER JOIN KONTRAHENT K WITH (NOLOCK)
ON K.ID_KONTRAHENTA = z.ID_KONTRAHENTA
where z.ID_DOKUMENTU_HANDLOWEGO = @id_obiektu
end
if @kod_operatora = 'SHIPX'
begin
if len(rtrim(isnull(DBO.KS_PodajWartoscParamPaczek(@id_firmy,'SHIPXPktNadania'),'')))=0
select @id_kuriera = id, @ROZMIAR_PACZKI = 'Paczka' from AUK_PACZKA_KURIERZY WITH (NOLOCK) where KOD_ZEWNETRZNY_KURIERA = ISNULL(NULLIF(@KOD_ZEWN_KURIERA,''),'inpost_courier_standard')
else
select @id_kuriera = id, @ROZMIAR_PACZKI = 'A',@kodPunktuNadania = DBO.KS_PodajWartoscParamPaczek(@id_firmy,'SHIPXPktNadania') from AUK_PACZKA_KURIERZY where KOD_ZEWNETRZNY_KURIERA = 'inpost_locker_standard'
end
else
begin
select top 1 @ID_KURIERA=id, @ROZMIAR_PACZKI = ROZMIARY_PACZEK from AUK_PACZKA_KURIERZY WITH (NOLOCK) where KOD_OPERATORA=@KOD_OPERATORA
select @ROZMIAR_PACZKI = ELEMENT from dbo.WAPROERP_FuncT_ListaNaTabele(@ROZMIAR_PACZKI,'|') where id=1

if @kod_operatora = 'POCZTAPOL'
begin
select @kodPunktuNadania = DBO.KS_PodajWartoscParamPaczek(@id_firmy,'POCZTAPOLUrzadNadania')
if @FORMA_DOSTAWY like '%PACZKA24%' or @FORMA_DOSTAWY like '%PACZKA 24%'
SELECT @ID_KURIERA = id from AUK_PACZKA_KURIERZY with (nolock) where nazwa = 'Paczka 24'
else if @FORMA_DOSTAWY like '%PACZKA48%' or @FORMA_DOSTAWY like '%PACZKA 48%'
SELECT @ID_KURIERA = id from AUK_PACZKA_KURIERZY with (nolock) where nazwa = 'Paczka 48'
end
end

END

if @kod_operatora = 'APACZKA'
BEGIN
select @WYMIAR1 = DBO.KS_PodajWartoscParamPaczek(@id_firmy,'aPaczkaDomW1')
select @WYMIAR2 = DBO.KS_PodajWartoscParamPaczek(@id_firmy,'aPaczkaDomW2')
select @WYMIAR3 = DBO.KS_PodajWartoscParamPaczek(@id_firmy,'aPaczkaDomW3')
select @WAGA = cast(replace(DBO.KS_PodajWartoscParamPaczek(@id_firmy,'aPaczkaDomWaga'),',','.') as decimal(18,2))
select @ROZMIAR_PACZKI = DBO.KS_PodajWartoscParamPaczek(@id_firmy,'aPaczkaDomRozmiar')
--select @ID_DOM_KURIERA = CAST(DBO.KS_PodajWartoscParamPaczek(@id_firmy,'aPaczkaDomKurier') AS INT)
END
else if @kod_operatora = 'SHIPX'
begin
select @WYMIAR1 = DBO.KS_PodajWartoscParamPaczek(@id_firmy,'SHIPXDomW1')
select @WYMIAR2 = DBO.KS_PodajWartoscParamPaczek(@id_firmy,'SHIPXDomW2')
select @WYMIAR3 = DBO.KS_PodajWartoscParamPaczek(@id_firmy,'SHIPXDomW3')
select @WAGA = cast(replace(DBO.KS_PodajWartoscParamPaczek(@id_firmy,'SHIPXDomWaga'),',','.') as decimal(18,2))
end
else if @kod_operatora = 'DHL'
begin
select @WYMIAR1 = DBO.KS_PodajWartoscParamPaczek(@id_firmy,'DHLDomW1')
select @WYMIAR2 = DBO.KS_PodajWartoscParamPaczek(@id_firmy,'DHLDomW2')
select @WYMIAR3 = DBO.KS_PodajWartoscParamPaczek(@id_firmy,'DHLDomW3')
select @WAGA = cast(replace(DBO.KS_PodajWartoscParamPaczek(@id_firmy,'DHLDomWaga'),',','.') as decimal(18,2))
end
else if @kod_operatora = 'DPD'
begin
select @WYMIAR1 = DBO.KS_PodajWartoscParamPaczek(@id_firmy,'DPDDomW1')
select @WYMIAR2 = DBO.KS_PodajWartoscParamPaczek(@id_firmy,'DPDDomW2')
select @WYMIAR3 = DBO.KS_PodajWartoscParamPaczek(@id_firmy,'DPDDomW3')
select @WAGA = cast(replace(DBO.KS_PodajWartoscParamPaczek(@id_firmy,'DPDDomWaga'),',','.') as decimal(18,2))
end
else if @kod_operatora = 'GLS'
begin
select @WAGA = cast(replace(DBO.KS_PodajWartoscParamPaczek(@id_firmy,'GLSDomWaga'),',','.') as decimal(18,2))
end

SET @PARAM_ODBIERA_KURIER = @KOD_OPERATORA + 'OdbieraKurier'
SET @PARAM_UBEZPIECZENIE = @KOD_OPERATORA + 'Ubezpieczenie'

SELECT @WARTOSC_KOD_REF = dbo.KS_PodajWartoscParamPaczek(@id_firmy,'WartoscWKodRef')
if @WARTOSC_KOD_REF is null or @WARTOSC_KOD_REF =''
set @WARTOSC_KOD_REF = 'Id transakcji'

if @typ_dokumentu = 'DokZam'
select @ID_TRAN_ALLEGRO = NR_ZAMOWIENIA_KLIENTA,
@NR_ZAMOWIENIA = NUMER
from ZAMOWIENIE where ID_ZAMOWIENIA = @id_obiektu

if @WARTOSC_KOD_REF = 'Id transakcji' and @typ_dokumentu = 'DokMag'
begin
select @NR_ZAMOWIENIA = NUMER
from DOKUMENT_MAGAZYNOWY with (nolock) where ID_DOK_MAGAZYNOWEGO = @id_obiektu
end
else if @WARTOSC_KOD_REF <> 'Id transakcji' and @typ_dokumentu = 'DokMag'
select @NR_DOKUMENTU = NUMER from DOKUMENT_MAGAZYNOWY with (nolock) where ID_DOK_MAGAZYNOWEGO = @id_obiektu

if @typ_dokumentu = 'DokHan'
select @NR_DOKUMENTU = numer,@NR_ZAMOWIENIA=numer from DOKUMENT_HANDLOWY with (nolock) where ID_DOKUMENTU_HANDLOWEGO = @id_obiektu

if isnull(@ODBIORCA_FIRMA,'') = ''
BEGIN
select @ODBIORCA_FIRMA = ISNULL(@ODBIORCA_IMIE,'') + ' ' + ISNULL(@ODBIORCA_NAZWISKO,'')
SET @TYP_ADRESU_PACZKA = 'P'
END
ELSE
BEGIN
SET @TYP_ADRESU_PACZKA = 'F'
END

if isnull(@KOD_OPERATORA,'') = ''
select top 1 @KOD_OPERATORA = kod_operatora from AUK_PACZKA_OPERATORZY with (nolock)

IF isnull(@id_kuriera,0) = 0
SELECT TOP 1 @id_kuriera = ID FROM AUK_PACZKA_KURIERZY WITH (NOLOCK) WHERE KOD_OPERATORA = @kod_operatora

if (DBO.KS_PodajWartoscParamPaczek(@id_firmy,@PARAM_ODBIERA_KURIER)) = 'Tak'
BEGIN
set @ODBIERA_KURIER = 1
select @DATA_ODBIORU_OD = DATEADD(hh,1,getdate()),@DATA_ODBIORU_DO = DATEADD(hh,3,getdate())
END

INSERT INTO [dbo].[AUK_PACZKA]
(--[ID_KONTA]
[KOD_OPERATORA]
,ID_KURIERA
,[AUTO_ETYKIETA]
,NR_PACZKI
,[ODBIORCA_IMIE]
,[ODBIORCA_NAZWISKO]
,[ODBIORCA_FIRMA]
,[ODBIORCA_EMAIL]
,[ODBIORCA_TELEFON]
,[ODBIORCA_NR_BUDYNKU]
,[ODBIORCA_NR_LOKALU]
,[ODBIORCA_ULICA]
,[ODBIORCA_MIEJSCOWOSC]
,[ODBIORCA_KOD_POCZTOWY]
,[SYM_KRAJU]
,[DATA_NADANIA]
,[DATA_ODBIORU]
,[KOD_PUNKTU_ODBIORU]
,[KOD_PUNKTU_NADANIA]
,[TYP_PACZKI]
,[KWOTA_UBEZPIECZENIA]
,[KWOTA_POBRANIA]
,[KOSZT_NADANIA]
,[INFO_DODATKOWE]
,[ID_TRANSAKCJI_ALLEGRO]
,[WIELKOSC_PACZKI]
,[ID_UZYTKOWNIKA]
,[ID_KONTRAHENTA]
,[KOD_STATUSU]
,[ID_METODY_DOSTAWY]
,[KOD_REFERENCYJNY]
,[WYMIAR1]
,[WYMIAR2]
,[WYMIAR3]
,[WAGA]
,[DATA_OBIORU_KURIERA_OD]
,[DATA_OBIORU_KURIERA_DO]
,[ODBIOR_KURIER]
,[DUZA_PACZKA]
,[TYP_ADRESU]
,[ID_FIRMY]
,[ID_ADRESU_ODBIORU]
,[ID_ADRESU_ZWROTU])
SELECT --@id_konta
@kod_operatora
,@id_kuriera
,0
,''
,@ODBIORCA_IMIE
,@ODBIORCA_NAZWISKO
,@ODBIORCA_FIRMA
,@ODBIORCA_EMAIL
,@ODBIORCA_TELEFON
,@ODBIORCA_NR_BUDYNKU
,@ODBIORCA_NR_LOKALU
,@ODBIORCA_ULICA
,@ODBIORCA_MIEJSCOWOSC
,@ODBIORCA_KOD_POCZTOWY
,case when isnull(@ODBIORCA_KRAJ,'') = '' then 'PL' else @ODBIORCA_KRAJ end
,null -- data nadania
,NULL -- DATA ODBIORU
,@KOD_PACZKOMATU
,@kodPunktuNadania
,'PACZKA' -- TYP PACZKI
,dbo.KS_PodajWartoscParamPaczek(@id_firmy ,@PARAM_UBEZPIECZENIE)
,case when @FORMA_PLATNOSCI like '%pobrani%' then (@WARTOSC_ZAMOWIENIA - @ZALICZKA) ELSE 0 END-- KWOTA POBRANIA
,0 -- KOSZT NADANIA
,'' -- INFO DODATKOWE
,ISNULL(@ID_TRAN_ALLEGRO,'')
,@ROZMIAR_PACZKI -- WIELKOSC
,@id_uzytkownika
,@ID_KONTRAHENTA
,'' -- kod statusu
,@ID_METODY_DOSTAWY
,case when @WARTOSC_KOD_REF = 'Id transakcji' then ISNULL(NULLIF(@ID_TRAN_ALLEGRO,''),@NR_ZAMOWIENIA)
when @WARTOSC_KOD_REF = 'Login' then ISNULL(@LOGIN_ALLEGRO,'')
when @WARTOSC_KOD_REF = 'Email' then ISNULL(@ODBIORCA_EMAIL,'')
when @WARTOSC_KOD_REF = 'Telefon' then ISNULL(@ODBIORCA_TELEFON,'')
when @WARTOSC_KOD_REF = 'Numer dokumentu' then ISNULL(@NR_DOKUMENTU,'')
end -- kod referencyjny
,@WYMIAR1
,@WYMIAR2
,@WYMIAR3
,@WAGA
,null -- DATA ODBIORU KURIERA OD
,null -- DATA ODBIORU KURIERA DO
,0 -- odbior kurier
,0 -- duza paczka
,@TYP_ADRESU_PACZKA
,@id_firmy
,dbo.AP_Func_PodajAdresOdbioruPaczkiDomyslny(@id_firmy,@kod_operatora,@id_magazynu,0)
,dbo.AP_Func_PodajAdresOdbioruPaczkiDomyslny(@id_firmy,@kod_operatora,@id_magazynu,1)

SELECT @ID_PACZKI = SCOPE_IDENTITY()

if @typ_dokumentu = 'DokZam'
begin
INSERT INTO AUK_PACZKA_POZYCJA (ID_PACZKI,ID_ARTYKULU,ILOSC,ID_KONTA)
SELECT @ID_PACZKI,ID_ARTYKULU,ZAMOWIONO,@id_firmy
FROM POZYCJA_ZAMOWIENIA WITH (NOLOCK)
WHERE ID_ZAMOWIENIA = @id_obiektu
if @uzycie>0
insert into AUK_PACZKA_DOKUMENT(ID_PACZKI,ID_ZAMOWIENIA)
select @ID_PACZKI,z.id
from zamowienie d with (nolock) inner join zaznaczone z with (nolock) on (d.ID_ZAMOWIENIA=z.id and z.UZYCIE=@uzycie and z.ID_SESJI=@id_uzytkownika)
else
insert into AUK_PACZKA_DOKUMENT(ID_PACZKI,ID_ZAMOWIENIA,ID_TRANSAKCJI_ALLEGRO)
values(@ID_PACZKI,@id_obiektu,@ID_TRAN_ALLEGRO)

SELECT @WAGA = SUM( round(case
when a.jed_wagi = 'g' then A.waga/1000
when a.jed_wagi = 'dkg' then A.waga/100
when a.jed_wagi = 'kg' then A.waga
when a.jed_wagi = 't' then A.waga*1000
else 0
end * (pz.przelicznik * pz.zamowiono),4))

FROM POZYCJA_ZAMOWIENIA PZ WITH (NOLOCK) INNER JOIN ARTYKUL A WITH (NOLOCK) ON PZ.ID_ARTYKULU = A.ID_ARTYKULU
WHERE ID_ZAMOWIENIA = @id_obiektu

if ISNULL(@WAGA,0) > 0
update auk_paczka set WAGA = @WAGA where ID_PACZKI = @ID_PACZKI

end
ELSE IF @typ_dokumentu = 'DokMag'
begin
INSERT INTO AUK_PACZKA_POZYCJA (ID_PACZKI,ID_ARTYKULU,ILOSC,ID_KONTA)
SELECT @ID_PACZKI,ID_ARTYKULU,ILOSC,@id_firmy
FROM POZYCJA_DOKUMENTU_MAGAZYNOWEGO WITH (NOLOCK)
WHERE ID_DOK_MAGAZYNOWEGO = @id_obiektu
if @uzycie>0
insert into AUK_PACZKA_DOKUMENT(ID_PACZKI,ID_DOK_MAGAZYNOWEGO)
select @ID_PACZKI,z.id
from DOKUMENT_MAGAZYNOWY d with (nolock) inner join zaznaczone z with (nolock) on (d.ID_DOK_MAGAZYNOWEGO=z.id and z.UZYCIE=@uzycie and z.ID_SESJI=@id_uzytkownika)
else
insert into AUK_PACZKA_DOKUMENT(ID_PACZKI,ID_DOK_MAGAZYNOWEGO)
values(@ID_PACZKI,@id_obiektu)

SELECT @WAGA = SUM( round(case
when a.jed_wagi = 'g' then A.waga/1000
when a.jed_wagi = 'dkg' then A.waga/100
when a.jed_wagi = 'kg' then A.waga
when a.jed_wagi = 't' then A.waga*1000
else 0
end * (pz.przelicznik * pz.ILOSC),4))

FROM POZYCJA_DOKUMENTU_MAGAZYNOWEGO PZ WITH (NOLOCK) INNER JOIN ARTYKUL A WITH (NOLOCK) ON PZ.ID_ARTYKULU = A.ID_ARTYKULU
WHERE ID_DOK_MAGAZYNOWEGO = @id_obiektu

if ISNULL(@WAGA,0) > 0
update auk_paczka set WAGA = @WAGA where ID_PACZKI = @ID_PACZKI

end
ELSE IF @typ_dokumentu = 'DokHan'
begin
INSERT INTO AUK_PACZKA_POZYCJA (ID_PACZKI,ID_ARTYKULU,ILOSC,ID_KONTA)
SELECT @ID_PACZKI,ID_ARTYKULU,ILOSC,@id_firmy
FROM POZYCJA_DOKUMENTU_MAGAZYNOWEGO WITH (NOLOCK)
WHERE ID_DOK_HANDLOWEGO = @id_obiektu
if @uzycie>0
insert into AUK_PACZKA_DOKUMENT(ID_PACZKI,ID_DOK_MAGAZYNOWEGO)
select @ID_PACZKI,z.id
from DOKUMENT_HANDLOWY d with (nolock) inner join zaznaczone z with (nolock) on (d.ID_DOKUMENTU_HANDLOWEGO=z.id and z.UZYCIE=@uzycie and z.ID_SESJI=@id_uzytkownika)
else
insert into AUK_PACZKA_DOKUMENT(ID_PACZKI,ID_DOKUMENTU_HANDLOWEGO)
values(@ID_PACZKI,@id_obiektu)

SELECT @WAGA = SUM( round(case
when a.jed_wagi = 'g' then A.waga/1000
when a.jed_wagi = 'dkg' then A.waga/100
when a.jed_wagi = 'kg' then A.waga
when a.jed_wagi = 't' then A.waga*1000
else 0
end * (pz.przelicznik * pz.ILOSC),4))

FROM POZYCJA_DOKUMENTU_MAGAZYNOWEGO PZ WITH (NOLOCK) INNER JOIN ARTYKUL A WITH (NOLOCK) ON PZ.ID_ARTYKULU = A.ID_ARTYKULU
WHERE pz.ID_DOK_HANDLOWEGO = @id_obiektu

if ISNULL(@WAGA,0) > 0
update auk_paczka set WAGA = @WAGA where ID_PACZKI = @ID_PACZKI

end

return

error:
raiserror(@ErrMsg, 16, 1)
return

zakoncz:
return
end