Kasowanie kontrahenta

Problemy i pomysły związane z funkcjonowaniem modułu Sprzedaż

Moderator: mikey

Gc12ch
Posty: 81
Rejestracja: 23 sty 2011, 14:56
Rola: Administrator CDN XL
Wersja: 2019

Kasowanie kontrahenta

Post autor: Gc12ch »

Witam,
w wyniku jakiś błędów czasami nie udaje się założyć kontrahenta i powstaje zapis typu Ż$2577804 81030 AAA.

Przy próbie kasowania następuje zawieszenie XL, próba usunięcia pod Management Studio zawiesza program.
Indeksacja bazy nie przynosi rezultatu.
Brak zawieszonych sesji użytkowników.

Ma ktoś jakiś pomysł na usunięcie błędnych rekordów?

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

Re: Kasowanie kontrahenta

Post autor: praiser »

Nie powinno tak być ale ja wiem, to żadna porada :) Usunięcie z okna programu powinno normalnie działać.

Próbowałeś procedurą w studio czy query w tabelach ?
[CDN].[KntUsun] (@GIDNumer)
--------------------------------
Pozdrawiam
WW

Gc12ch
Posty: 81
Rejestracja: 23 sty 2011, 14:56
Rola: Administrator CDN XL
Wersja: 2019

Re: Kasowanie kontrahenta

Post autor: Gc12ch »

próbowałem

delete cdn.kntkarty
where knt_gidnumer=2222222

i to zawiesza Man Studio

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

Re: Kasowanie kontrahenta

Post autor: praiser »

może jakiś trigger robi bałagan.
--------------------------------
Pozdrawiam
WW

Gc12ch
Posty: 81
Rejestracja: 23 sty 2011, 14:56
Rola: Administrator CDN XL
Wersja: 2019

Re: Kasowanie kontrahenta

Post autor: Gc12ch »

Właśnie sprawdziłem, że blokuje trigger wbudowany o nazwie KntKarty_DeleteHandler na Tabeli KntKarty.

Mogę wyłączyć trigger i usunąć nieprawidłowe karty, ale jak dojść do przyczyny powstania błędu.

m_pk
Posty: 47
Rejestracja: 20 wrz 2017, 13:39
Rola: Inny
Lokalizacja: ZST
Kontakt:

Re: Kasowanie kontrahenta

Post autor: m_pk »

Witam,

Trigger to przyczyna pośrednia. Jest on wbudowany w celu zachowywania spójności danych.

Najprawdopodobniej brakuje indeksu. Przykładowo, dla poniższego brak indeksu dla kolumny PZE_KntNumer w tabeli CDN.ProdZlecElem może powodować takie zachowanie. Profiler powinnien pokazać query z triggera, na którym program się zatrzymuje. Ewentualnie możesz użyć procedury sp_WhoIsActive (http://whoisactive.com/docs/04_installation/)

Kod: Zaznacz cały

 -- obsługa sprawdzania relacji restrict do tabeli CDN.ProdZlecElem
    IF EXISTS
       ( SELECT * FROM CDN.ProdZlecElem, deleted
          WHERE
                deleted.Knt_GIDNumer = CDN.ProdZlecElem.PZE_KntNumer

       AND (CDN.ProdZlecElem.PZE_KntTyp=32)
       )
    BEGIN
      RAISERROR('#CDN_BLAD/##CDN_1=Nie można usunąć kontrahenta. Kontrahent jest ustawiony na pozycji zlecenia produkcyjnego./# [KntKarty_DeleteHandler]', 16, 1)
      ROLLBACK TRAN
      SET NOCOUNT OFF
      RETURN
    END
Pozdrawiam,
Krzemiński Paweł

Gc12ch
Posty: 81
Rejestracja: 23 sty 2011, 14:56
Rola: Administrator CDN XL
Wersja: 2019

Re: Kasowanie kontrahenta

Post autor: Gc12ch »

Przyczyna jest inna.
Kontrahent to przedszkole powiązane z dużą spółką miejską. Przy sprawdzaniu w VAT zaczytywane są wszystkie konta z białej listy a tych jest ponad 3000.
Przy kasowaniu wszystko jest OK, tylko trzeba uzbroić się w cierpliwość i zrobić to poza godzinami pracy firmy gdyż trwa to ok 1h i blokuje dodatkowo innych kontrahentów.

Dziękuję za pomoc, temat do zamknięcia
Grzegorz

ODPOWIEDZ