Forum Użytkownikow Subiekt GT

InsERT GT => Subiekt GT => Wątek zaczęty przez: Karłowaty_PL w Lipiec 22, 2016, 15:26:47

Tytuł: Błąd przy aktualizacji Subiekta
Wiadomość wysłana przez: Karłowaty_PL w Lipiec 22, 2016, 15:26:47
Witam , podczas aktualizacji subiekta pokazuje błąd:


========================================================================
Aktualizacja podmiotu: Mirek z wersji: 1.2902 do wersji: 1.4402.20.3693 dnia: 2016-07-22 15:15:09
Zapisywanie informacji o początku konwersji
Zastosowano do podmiotu skrypt: C:\Program Files\InsERT\InsERT GT\Skrypty\skrypt1.2902_1.3000.enc
Czas: OdczepianieObiektow 00:00:01
Czas: UsuwanieConstraintow:Check,Default 00:00:10
Czas: OdczepianieConstraintow:PK,FK,Unique 00:00:00
Czas: UsuwanieRegul 00:00:00
Czas: UsuwanieDefaultow 00:00:01
Czas: DodawanieDefaultow 00:00:00
Czas: DodawanieRegul 00:00:00
Czas: PorzadkowanieTypowDanych 00:00:00
Czas: OdczepianieIndexow 00:00:00
Czas: PorzadkowanieTabelek 00:00:06
Czas: PorzadkowanieDanychSlownikowych 00:00:00
Czas: __Update 00:00:00
Czas: DodawanieIndexow 00:00:00
Nie powiodło się wykonanie polecenia:


ALTER TABLE tw__Towar ADD CONSTRAINT

   FK_tw__Towar_sl_StawkaVAT1 FOREIGN KEY

   (

   tw_IdVatZak

   ) REFERENCES sl_StawkaVAT

   (

   vat_Id

   )


Błąd 0x80040E2F: The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "FK_tw__Towar_sl_StawkaVAT1". The conflict occurred in database "Mirek", table "dbo.sl_StawkaVAT", column 'vat_Id'.
Aktualizacja podmiotu nie powiodła się: 0x80040e2f: The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "FK_tw__Towar_sl_StawkaVAT1". The conflict occurred in database "Mirek", table "dbo.sl_StawkaVAT", column 'vat_Id'.
Przywrócenie podmiotu powiodło się.
Tytuł: Odp: Błąd przy aktualizacji Subiekta
Wiadomość wysłana przez: dkozlowski w Lipiec 22, 2016, 15:43:35
To prawda. Jak widać dla towarów zostały przypisane stawki VAT, których nie ma w słowniku stawek VAT. Baza danych do sprawdzenia i poprawy.

ps.
Przy okazji popraw dane w profilu.
Tytuł: Odp: Błąd przy aktualizacji Subiekta
Wiadomość wysłana przez: birds22 w Lipiec 22, 2016, 15:55:12
Zewnętrzne narzędzie bez sfery, albo ręczne "grzebanie" w bazie?
Tytuł: Odp: Błąd przy aktualizacji Subiekta
Wiadomość wysłana przez: Karłowaty_PL w Lipiec 22, 2016, 22:00:26
Przejrzałem bazę, towary mam na 23% tylko jedną pozycję jako Vat odwrócony i w słowniku mam te stawki?
Tytuł: Odp: Błąd przy aktualizacji Subiekta
Wiadomość wysłana przez: yemet w Lipiec 22, 2016, 22:09:47
Właśnie chciałem spytać czy na kartotece tego nie będzie widać.

Patrzyłeś tylko na towary i usługi aktywne czy nieaktywne również?
Tytuł: Odp: Błąd przy aktualizacji Subiekta
Wiadomość wysłana przez: Karłowaty_PL w Lipiec 22, 2016, 22:24:44
Na wszystkich jest ok dlatego zastanawiam się co jest nie tak.
Tytuł: Odp: Błąd przy aktualizacji Subiekta
Wiadomość wysłana przez: yemet w Lipiec 22, 2016, 22:44:14
Spróbuję pomóc ci znaleźć babola. Jeśli nie masz Management Studio do SQL to się zrobi to poprzez zestawienia.

Dodaj 2 zestawienia SQL w subiekcie, nazwij je jak chcesz

nr. 1
SELECT * FROM [sl_StawkaVAT]

to nam wypluje listę stawek vat ze słownika


nr. 2
SELECT distinct [tw_IdVatZak]   FROM [tw__Towar]
to wypluje listę stawek używanych przy zakupach. błąd z twojego logu wskazuje, że gdzieś tam siedzi babol

kontrolnie można dodać jeszcze jedno zestawienie:

nr. 3
SELECT distinct [tw_IdVatSp]   FROM [tw__Towar]
to wypluje stawki użyte przy sprzedaży

Jeśli jest tak jak sugeruje dkozlowski to w zapytaniu numer 2  powinien pojawić się identyfikator, który nie będzie w zapytaniu nr 1.

Wyniki zestawień wrzuć na forum albo na PW, jak tobie wygodniej.
Tytuł: Odp: Błąd przy aktualizacji Subiekta
Wiadomość wysłana przez: Karłowaty_PL w Lipiec 25, 2016, 09:12:49
Witam, rzeczywiście po wykonaniu 2 zapytania w kolumnie tw_IdVatZak w pozycji 3 mam identyfikator 67233 ale co dalej?
Tytuł: Błąd przy aktualizacji Subiekta
Wiadomość wysłana przez: candy w Lipiec 25, 2016, 09:48:44
Dalej, jak napisał dkozlowski, trzeba sprawdzić bazę czy nie jest uszkodzona i naprawić.
Tytuł: Odp: Błąd przy aktualizacji Subiekta
Wiadomość wysłana przez: Karłowaty_PL w Lipiec 25, 2016, 09:55:06
Naprawić czy jest jakieś polecenie do naprawy?
Tytuł: Odp: Błąd przy aktualizacji Subiekta
Wiadomość wysłana przez: yemet w Lipiec 25, 2016, 13:20:06
SELECT [tw_Symbol],[tw_Nazwa] FROM [tw__Towar] where tw_IdVatZak=67233

To zapytanie powie ci na jakich pozycjach towarowych masz ustawioną tą osieroconą stawkę VAT zakupu. Zapytanie nie rozróżnia czy to towar/usługa i czy pozycja jest aktywna czy nie.

Zrób kopię zapasową bazy, tak na wszelki wypadek. Wejdź normalnie z poziomu subiekta na tą kartotekę towarową i sróbuj poprawić stawkę VAT dla zakupu na tej pozycji (zakładka parametry w edycji towaru), sprawdź tam od razu stawkę sprzedaży.

Jeśli nie masz innych takich niespodzianek w bazie to aktualizacja powinna przejść. Inna sprawa to to, że są takie błędy, które mogę nie wyjść przy aktualizacji tak jak ten. Możesz spróbować w programie serwisowym podmiot -> kontrola danych.
Tytuł: Odp: Błąd przy aktualizacji Subiekta
Wiadomość wysłana przez: candy w Lipiec 25, 2016, 13:50:52
Ta edycja towaru może pomóc, ale może się okazać że tylko ukryje problem.
Co do programu serwisowy to nie wykrywa on takich nieprawidłowości.
Nie wykrywa także fizycznych uszkodzeń bazy danych i 99% pozostałych problemów.
Ogólnie mówiąc, prawie nic nie wykrywa.
Tytuł: Odp: Błąd przy aktualizacji Subiekta
Wiadomość wysłana przez: yemet w Lipiec 25, 2016, 15:48:59
Tak, mam świadomość tego, że program serwisowy jest do duszy i że wiele błędów ma drugie dno i czasem powracają z hukiem. Jak mireczek_81 ma szczęście to będzie po problemie. Tak czy siak powinien się skontaktować ze swoim serwisantem a jak nie to powinien znaleźć takowego.

@cadny Co masz dokładnie na myśli piszą o fizycznym uszkodzeniu bazy? Błąd/uszkodzenie dysku? Jeśli mireczek_81 ma bazę na talerzowcu i jest on uszkodzony to chyba by nie doszedł do etapu aktualizacji danych bo położby się przy tworzeniu backupa?
Tytuł: Odp: Błąd przy aktualizacji Subiekta
Wiadomość wysłana przez: candy w Lipiec 25, 2016, 16:09:44
Niekoniecznie. Uszkodzenie bazy może przybierać różne formy. Miałem już w rękach bazy, które były uszkodzone od miesięcy.
Backup się robił i odtwarzał, Subiekt działał, tylko "coś tam nie trybiło". Po sprawdzeniu okazało się z którejś tabeli nie można odczytać części danych.
No i potem okazało się że ostatnie archiwum bez tego uszkodzenia ma mniej więcej rok.
Tytuł: Odp: Błąd przy aktualizacji Subiekta
Wiadomość wysłana przez: yemet w Lipiec 25, 2016, 16:24:26
Czyli masz na myśli np. jakiś krzak po błędzie zapisu a nie uszkodzone sektory?
Tytuł: Odp: Błąd przy aktualizacji Subiekta
Wiadomość wysłana przez: yemet w Lipiec 25, 2016, 16:27:40
check database integrity wykryłoby w management studio wykryłoby takie niespodzianki?
Tytuł: Odp: Błąd przy aktualizacji Subiekta
Wiadomość wysłana przez: candy w Lipiec 25, 2016, 16:33:48
Bez wątpienia krzak po błędzie, ale czego był to błąd to już nie wiem.
Co do drugiego pytania to już zwyczajnie nie pamiętam, miałem co innego do roboty - zajmowałem się ratowaniem klienta ;)
Tytuł: Odp: Błąd przy aktualizacji Subiekta
Wiadomość wysłana przez: dkozlowski w Lipiec 25, 2016, 17:27:27
Tak, mam świadomość tego, że program serwisowy jest do duszy...

Nie jest tak ja piszesz, po prostu program serwisowy nie posiada funkcjonalności, które mogłyby pomóc przy problemie z tego wątku. Co robi kontrola danych też nie jest tajemnicą (sprawdza identyfikatory kluczy głównych tabel i usuwa dyspozycje towarów), można sprawdzić samemu, spytać serwisanta, przeczytać na forum.

@cadny Co masz dokładnie na myśli piszą o fizycznym uszkodzeniu bazy? Błąd/uszkodzenie dysku? Jeśli mireczek_81 ma bazę na talerzowcu i jest on uszkodzony to chyba by nie doszedł do etapu aktualizacji danych bo położby się przy tworzeniu backupa?

No właśnie tak nie jest i dlatego uszkodzenia bazy są takie niebezpieczne, potrafią ujawnić się po tygodniach/miesiącach/latach kiedy już nie ma możliwości powrotu do kopii z archiwum. Dlatego należy odpowiednio dbać o bazy danych i sprawdzać je po każdej podejrzanym zdarzeniu.