Kasowanie kontrahenta
Moderator: mikey
Kasowanie kontrahenta
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?
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?
Re: Kasowanie kontrahenta
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)
Próbowałeś procedurą w studio czy query w tabelach ?
[CDN].[KntUsun] (@GIDNumer)
--------------------------------
Pozdrawiam
WW
Pozdrawiam
WW
Re: Kasowanie kontrahenta
próbowałem
delete cdn.kntkarty
where knt_gidnumer=2222222
i to zawiesza Man Studio
delete cdn.kntkarty
where knt_gidnumer=2222222
i to zawiesza Man Studio
Re: Kasowanie kontrahenta
może jakiś trigger robi bałagan.
--------------------------------
Pozdrawiam
WW
Pozdrawiam
WW
Re: Kasowanie kontrahenta
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.
Mogę wyłączyć trigger i usunąć nieprawidłowe karty, ale jak dojść do przyczyny powstania błędu.
Re: Kasowanie kontrahenta
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/)
Pozdrawiam,
Krzemiński Paweł
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
Krzemiński Paweł
Re: Kasowanie kontrahenta
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
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