Skocz do zawartości

[Solved] [sfera]Sygnatura.PelnaSygnatura - zablokowany numer sygnatury pomimo że nie istnieje taki podmiot

Polecane posty

Czy SQL/Nexo jakoś blokuje czasowo numer sygnatury i można go odblokować?

Dodawałem dwa razy pod rząd (tak mi się pojawił w imporcie faktur) Podmiot Klienta z sygnaturą np.: "2002135".

Za pierwszym razem Podmiot się nie dodał (bo kod kraju inny niż VATIN), i za drugim razem wysypał się na przypisaniu tej samej sygnatury (pomimo, że pierwszy raz jak przydzieliłem mu tą sygnaturę, to zapis się nie powiódł, więc nie powinna być zablokowana oraz po nieudanym zapisie za pierwszym razem uruchomiłem  Podmiot.Odblokuj() oraz Podmiot=null;- nie wiem czy potrzebnie, ale just in case).

W bazie nie ma tej sygnatury, co sprawdzam poniżej ( generalnie najpierw szukam po NIP, potem VATIN, a na końcu po Symbolu), i nic nie znalazłem, więc dodaję nowy podmiot.

Szukanie odbywa się poprzez linię:

encjaTemp = mgrPodmioty.Dane.Wszystkie().FirstOrDefault(x => x.Sygnatura.PelnaSygnatura == strIDSymbolKlientaTemp);

Powyższa linia zwraca mi null (nie znajduje symbolu), więc naturalnie uruchamiam UtworzFirme(), natomiast na poniższej linii dalej już się wysypuje:

 

iPodmiot.Dane.Sygnatura.PelnaSygnatura = strIDSymbolKlientaTemp;

Błąd:

"InsERT.Moria.Numeracja.NumeracjaException: „Żądany numer 2002135 jest już zajęty. Zostanie przywrócony poprzedni symbol.”

Po czasie numer się pojawił jako dostępny (bo podmiot nie został zapisany).

 

Nie jest to jakiś duży problem, bo wyłapię to sobie try/catch i dopiszę jakiś sufix "(1)", ale może da się bardziej elegancko.

Edytowane przez Michał Markowski
Link to postu
  • Michał Markowski zmienił tytuł na [sfera]Sygnatura.PelnaSygnatura - zablokowany numer sygnatury pomimo że nie istnieje taki podmiot

Najważniejsze jest aby każdy obiekt biznesowy po zakończonej pracy Dispose'ować. Więc ważne jest aby operacje na obiektach biznesowych (np. IPodmiot) obejmować w bloku using bądź w try - finally i na końcu wykonywać Dispose. Wygląda na to, że tutaj tego zabrakło i dlatego zarezerwowany numer nie został zwolniony.

Link to postu
  • Michał Markowski zmienił tytuł na [Solved] [sfera]Sygnatura.PelnaSygnatura - zablokowany numer sygnatury pomimo że nie istnieje taki podmiot
×
×
  • Dodaj nową pozycję...