Skocz do zawartości

Sello Subiekt aktualizacja danych teleadresowych

Polecane posty

Witam

Problem mam z Sello i Subiektem, Sello aktualizuje uzupełnia dane teleadresowe w klientach w Subiekcie. Niby ok, ale zmienia już istniejące rekordy na błędne.. Tzn. np. klient1 ulica1 kod1 miasto1 zmienia na klient1 ulica2 kod2 miasto2, nie robi tego równocześnie na wszystkich rekordach. Część pozostaje poprawnie bez zmian. Wystawiam fakturę firmie od kilku miesięcy znam dane i w Subiekcie rozpoczynając fakturę wybieram klienta szukam po indeksie a tam inne dane :( gdzie może być błąd.

 

Druga sprawa jak wznawiać aukcje z zakończonych, żeby pojawiły się w przygotowanych bez włączonej opcji "gotowe do wysyłki" - chciałbym spokojnie przejrzeć je przed samym wysłaniem.

Thx

Link to postu

Sello ustawia adresy w kontrahentach takie jakie wynikają z danych adresowych w Allegro lub z transakcji.

 

Druga sprawa jak wznawiać aukcje z zakończonych, żeby pojawiły się w przygotowanych bez włączonej opcji "gotowe do wysyłki" - chciałbym spokojnie przejrzeć je przed samym wysłaniem.

Zostanie to poprawione w wersji 1.7

Link to postu
  • 8 miesięcy temu...

Witam.

Nie wiem na ile problem jest u Pana ale jeden z naszych klientów chciał mieć taką możliwość aby po aktualizacji danych wysyłkowych/dokumentacji dla kontrahenta bądź jego transakcji w Sello automatycznie aktualizowane były dane w Subiekcie. W związku z tym napisaliśmy mały trigger do bazy danych który wydaje się działać - chcielibyśmy się jednak co do tego upewnić z Państwa pomocą i jednocześnie pomóc załatać ten problem (zapewne u niejednego użytkownika). Nasze środowisko testowe nie będzie takie rozbudowane jak u Państwa - Może sobie ktoś z Państwa zechce sprawdzić czy to u niego zadziała. Udostępniam kod sql poniżej. Trigger ten wymaga aby obydwie bazy danych sello/subiekt znajdowały się na wspólnym serwerze. Kod odpalamy jednorazowo w bazie danych Sello a w miejscu MOJABAZASUBIEKT wpisujemy oczywiscie odpowiednią nazwę bazy danych Subiekta.

 

 

 

CREATE TRIGGER Biuroster_tr_adr__Address_Updated
   ON adr__Address
   INSTEAD OF UPDATE
AS 
BEGIN

UPDATE adr__Address 
SET 
adr_Type = INSERTED.adr_Type,
adr_Name = INSERTED.adr_Name,
adr_Address1 = INSERTED.adr_Address1,
adr_Address2 = INSERTED.adr_Address2,
adr_ZipCode = INSERTED.adr_ZipCode,
adr_City = INSERTED.adr_City,
adr_Country = INSERTED.adr_Country,
adr_TransId = INSERTED.adr_TransId,
adr_PackageId = INSERTED.adr_PackageId,
adr_CustomerId = INSERTED.adr_CustomerId,
adr_Company = INSERTED.adr_Company,
adr_NIP = INSERTED.adr_NIP
FROM INSERTED WHERE adr__Address.adr_Id = INSERTED.adr_Id

UPDATE [MOJABAZASUSBIEKT].[dbo].adr__Ewid
SET
adr_Nazwa = INSERTED.adr_Name,
adr_NazwaPelna = INSERTED.adr_Name,
adr_Ulica = INSERTED.adr_Address1,
adr_NrDomu = '',
adr_NrLokalu = '',
adr_Kod = INSERTED.adr_ZipCode,
adr_Miejscowosc = INSERTED.adr_City,
adr_IdPanstwo = SubPanstwo.pa_Id,
adr_IdWersja = 3
FROM INSERTED
LEFT  JOIN [MOJABAZASUSBIEKT].[dbo].sl_Panstwo SubPanstwo ON LOWER(SubPanstwo.pa_Nazwa) = LOWER(ISNULL(INSERTED.adr_Country,''))
LEFT  JOIN tr__Transaction ON INSERTED.adr_TransId = tr__Transaction.tr_Id
INNER JOIN Cs__Customer ON tr__Transaction.tr_CustomerId = Cs__Customer.cs_Id OR 
						   INSERTED.adr_CustomerId = Cs__Customer.cs_Id 
INNER JOIN [MOJABAZASUSBIEKT].[dbo].kh__Kontrahent SubKh ON SubKh.kh_Id = Cs__Customer.Cs_ExternalCustomerId
WHERE  ((INSERTED.adr_Type = 1 AND INSERTED.adr_CustomerId IS NULL AND INSERTED.adr_TransId IS NOT NULL) OR
		(INSERTED.adr_Type = 2 AND INSERTED.adr_CustomerId IS NOT NULL AND INSERTED.adr_TransId IS NULL)) AND
		adr__Ewid.adr_IdObiektu = SubKh.kh_Id AND adr__Ewid.adr_TypAdresu = 2

END
GO

Link to postu

Nie wypowiadam się w temacie poprawności/przydatności triggera, jednak zwrócę uwagę na inną kwestię: trzeba _bardzo_ uważać z odwołaniami w bazie danych do tabel Insertu.  Przy okazji własnych modyfikacji dodałem m.in. klucz obcy odwołujący się do pola pc_Id tabeli pc__Package i nie można było później przeprowadzić aktualizacji bazy - okazało się, że w którymś momencie jest usuwany klucz główny tabeli pc__Package, co było niemożliwe przy istniejącym kluczu obcym.  Nie znam na tyle MS SQLa, żeby wiedzieć, czy tego typu problem może wystąpić w przypadku triggera, więc tylko sugeruję przyjrzenie się tej kwestii.  Może najlepiej niech się ktoś z Insertu wypowie.

Link to postu

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.
Uwaga: Twój wpis zanim będzie widoczny, będzie wymagał zatwierdzenia moderatora.

Użytkownik forum
Odpowiedz...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...