eTomex 0 Napisano 4 Października 2010 Udostępnij Napisano 4 Października 2010 w Sello Subiekt aktualizacja danych teleadresowych 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 Cytuj Link to postu
Bartosz Rosa 1 784 Napisano 5 Października 2010 Udostępnij Napisano 5 Października 2010 w Sello Subiekt aktualizacja danych teleadresowych 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 Cytuj Link to postu
biuroster.pl 0 Napisano 12 Czerwca 2011 Udostępnij Napisano 12 Czerwca 2011 w Sello Subiekt aktualizacja danych teleadresowych 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 Cytuj Link to postu
tadzimir.pl 155 Napisano 13 Czerwca 2011 Udostępnij Napisano 13 Czerwca 2011 w Sello Subiekt aktualizacja danych teleadresowych 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. Cytuj Link to postu
biuroster.pl 0 Napisano 13 Czerwca 2011 Udostępnij Napisano 13 Czerwca 2011 w Sello Subiekt aktualizacja danych teleadresowych Tak, trzeba wiedzieć i uważać jak to robić , szczególnie zakładając klucze obce albo lepiej nie zakładać ich wcale :-) Trigger rzecz jasna trzeba zdropować przy aktualizacji. Cytuj Link to postu
Polecane posty
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.