Skocz do zawartości

Mieszające się notatki do aukcji

Polecane posty

Witam!

Od jakiegoś czasu wstępuje u nas błąd w postaci znikających notatek do aukcji lub przypisujących się do innych aukcji tego samego przedmiotu (w tym przypadku zawsze w obrębie tego samego symbolu towaru)

Przykładowo:

Mamy Produkt X, który ma 3 warianty kolorów brązowy, pomarańczowy, różowy

Tworzymy 6 odrębnych aukcji, dla każdego koloru po 2, na dwóch różnych kontach.

Do każdej aukcji przypisujemy notatkę z odpowiednim kolorem (którą później widać na wydruku WZ swoją drogą).

Po jakimś czasie, czasami po paru, minutach w niektórych z tych aukcji znikają notatki, a w 2 zostają (np. tylko w brązowym), albo widzimy nagle że w jednej aukcji są wszystkie 3 kolory.

 

Po zajrzeniu do BD w tabelę nt_Note zauważyłem że Sello zmienia pole ne_ObjectID

W chwilę przypisania notatki do aukcji:

ne_id ne_ObjectId ne_ObjectType ne_Order ne_CreationDate ne_UserId ne_Content ne_ToPrint ne_ToStatuses ne_ToDocument ne_Important ne_Done ne_DefaultTemplate
2135359 56193 706 1 2020-09-18 10:07:36.000 1006 7429 - różowy 1 0 1 0 0 0

W parę minut później ta sama notatka przypisana jest do innego ObjectID

ne_id ne_ObjectId ne_ObjectType ne_Order ne_CreationDate ne_UserId ne_Content ne_ToPrint ne_ToStatuses ne_ToDocument ne_Important ne_Done ne_DefaultTemplate
2126253 56243 706 1 2020-09-07 15:38:03.000 1005 7429 - brązowy 1 0 1 0 0 0
2126255 56243 706 1 2020-09-07 15:40:02.000 1005 7429 - pomarańczowy 1 0 1 0 0 0
2135359 56243 706 1 2020-09-18 10:07:36.000 1006 7429 - różowy 1 0 1 0 0 0

 

Co może być tego przyczyną?! ?

 

Edytowane przez Adam Grzalski
Link to postu

I już po zakończeniu tego procesu notatki są poplątane? Czy zmiana koloru odbywa się poprzez wejście do takiej aukcji i zmianę notatki jak rozumiem, nie przez zmiany zbiorcze.

Powielanie jest wykonywane funkcją Powiel (każdą pojedynczo + zmiana konta w oknie edycji aukcji) czy Wystaw ponownie?

Link to postu
Cytat

I już po zakończeniu tego procesu notatki są poplątane? Czy zmiana koloru odbywa się poprzez wejście do takiej aukcji i zmianę notatki jak rozumiem, nie przez zmiany zbiorcze.

Różnie - czasami po chwili, czasami po dłuższym czasie ulegnie poplątaniu. Notatki zmieniane ręcznie po wejściu do aukcji, nie zbiorczo. Dodam też że zaczynają się mieszać już w aukcjach przygotowanych, nie musi ona trafić na allegro.

 

Cytat

Powielanie jest wykonywane funkcją Powiel (każdą pojedynczo + zmiana konta w oknie edycji aukcji) czy Wystaw ponownie?

Powielanie jest wykonywane funkcją Powiel, każda pojedynczy + zmiana konta w oknie edycji - tak jak Pan napisał.

Wystawiamy ponownie jedynie z aukcji zakończonych (jeżeli dany produkt posiadaliśmy w ofercie jakiś czas temu) - tutaj nadmienię iż również notatki ulegają poplątaniu.

Link to postu

Niestety nie możemy powtórzyć takiej sytuacji. Być może problem leży w bazie danych, trzeba by ją najpierw zweryfikować pod kątem uszkodzenia, wykonując poniższe polecenie SQL w programie serwisowym:

DBCC CHECKDB(nazwa_bazy)

Po chwili analizy wyświetli ono raport, w którym na końcu będzie podsumowanie wraz z liczbą znalezionych błędów.

Link to postu

Prosiłbym aby nagrać ten problem za pomocą wbudowanego w Windows programu Rejestrator problemów (psr), tak aby był w nim zawarty cały proces tworzenia aukcji, powielania, aż do wystąpienia problemu i przesłać do nas na sello@insert.com.pl. Może odtwarzając dokładnie krok po kroku scenariusz uda się namierzyć problem.

Link to postu
  • 1 miesiąc temu...

A czy nie ma to związku (strzelam, bo nie wiem jak przypisywane są te notatki) - wznawiamy aukcje X przez allegro, następnie ta aukcja z automatu przeskakuje z zakończonej do trwającej.

Załóżmy że ta zakończona aukcja X miała przypisaną notatkę o danym id, ale w międzyczasie (między zakończeniem a jej wznowieniem czasami mija parę miesięcy) coś się nadpisało na tą notatkę, jakaś inna niedawno wystawiona aukcja trwająca Y.

W skutek czego notatka z aukcji Y przeskoczyła do aukcji X?

Link to postu

Notatki nie są współdzielone pomiędzy aukcjami, każda aukcja ma swoje własne notatki. Przy powielaniu aukcji dane z poprzedniej stanowią bazę dla nowej aukcji, ale już na początku duplikowania aukcji są w niej czyszczone notatki a następnie dodawana jest kopia notatek i na pewno otrzymują one nowe identyfikatory w bazie. Więc nie ma możliwości aby do innej aukcji podpięły się te same notatki z innej.

 

Link to postu

Ok, to rozumiem.

Odpowiadając na wcześniejsze pytanie - używamy rozwiązań innej firmy która używa bazy Sello, ale wykorzystuje ona wyłącznie tabele związane z procesowaniem paczek typu dopisanie numeru nadawczego lub zmiana statusu paczki.

Dlatego od początku doszukiwałbym się jakiejś zależności w Sello, a dokładniej w module aukcji.

Nie ma jakiegoś rozwiązania które przez przykładowo okres 24h mogło śledzić, który proces wywołuje zmiany w w/w tabeli, przez co ne_ObjectId ulega zmianie?

Link to postu

Uruchomiłem ten program, udało się odtworzyć błąd z przepinającą się notatką i dopiero po jego wystąpieniu zaprzestałem trackingu.

id notatki to 2249085

2249085_1.thumb.png.2bfcc96594bcbb6493781a5fe29bb4a2.png

2249085_2.thumb.png.0ddfb54861e555ca59324d22ec005991.png

 

Jak widać na powyższym notatka została przypisana do ne_objectId = 57491

 

Po dosłownie minucie notatka znikła z Sello, a w BD wygląda to następująco:

2249085_3.thumb.png.3a8c3ecf584301347b02748659d16e2c.png

ne_ObjectId = 58561

Oprócz powyższych 2 wpisów, nie było innych wystąpień 2249085.

Mogę podesłać ten tracking na maila, jeżeli coś to pomoże.

Link to postu

Nie widać w logu nic niepokojącego, ale też są tam tylko wpisy przychodzące z zewnątrz, bez ewentualnych triggerów.

Aby je włączyć, w konfiguracji tracingu w sekcji Event selection, proszę wybrać Show all events i tak wybrać SP:StmtStarting i SP:StmtCompleted w Stored procedures. I wtedy spróbować powtórzyć błąd.

Link to postu

Udało nam się powtórzyć błąd, zmodyfikowany zapis tracingu wysłany na PRIV.

Tym razem jest to notatka o id: 2261517, która wg zapisu powinna być przypisana do ne_ObjectID: 57941

Po chwili zmieniła się na

notatki.thumb.jpg.bad8630543aade015a203e1e365f1a7d.jpg

Co jeszcze udało mi się zauważyć, notatka podpięła się do ne_ObjectId, który nie istnieje... nasz najwyższy na dany moment au_Id to 58474

  • Dziękuję 1
Link to postu

Trochę to zajęło, ale dużo spraw na głowie + analiza takiego logu to też najszybsza nie jest :).

 

Generalnie z logów wynika, że zewnętrzny program od firmy B....S... umieszcza w bazie nowe notatki dotyczące wysyłki powiadomień, informacji o paczkach oraz o opłatach. W zasadzie nie ma w tym nic podejrzanego, aż do momentu gdy wykonuje się poniższe polecenie:

update n
                             set   ne_ObjectId = g.[tg_TransId]   
                             from
                             [bazy_allegro_all_new].[dbo].[nt_Note] n
                             join  [bazy_allegro_all_new].[dbo].[tr_Group] g
                             on g.tg_PrimaryTransId = n.ne_ObjectId     
                             and    dateadd(day, 7, n.ne_CreationDate) > getdate()

Nie chcę go dokładnie analizować, ale na pierwszy rzut oka aktualizuje ono identyfikatory przypisania ne_ObjectId - co już zapala czerwoną lampkę, a następnie posługuje się danymi z tabeli tr_Group, która odpowiedzialna jest za transakcje zgrupowane. W poleceniu tym nie ma nigdzie warunku dotyczącego typu powiązanego obiektu ne_ObjectType (który powinien wskazywać na transakcję), więc razem z notatkami do transakcji polecenie to dotyka także wszystkich innych notatek (do aukcji, do paczek).

 

Jest duża szansa, że identyfikatory z tabeli tr_Group akurat trafiają w notatki powiązane z aukcjami i dlatego notatki w aukcji zmieniają losowo właściciela.

Najlepiej gdyby autor tego kodu na to spojrzał, ale moim zdaniem konieczny tu jest dodatkowy warunek na typ notatki.

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ę...