Skocz do zawartości

Błąd "nie można zablokować podanego zasobu"

Polecane posty

Witam,

mam program który dodaje zk z zewnętrznego systemu do subiekta,
produkty są wyszukiwana na podstawie ean-u,

następnie muszę zmienić nazwę pozycji na taką jak w zewnętrznym systemie

IAsortymenty produkty = sfera.PodajObiektTypu<IAsortymenty>();
InsERT.Moria.ModelDanych.Konfiguracja konfZk = sfera.PodajObiektTypu<IKonfiguracje>().DaneDomyslne.ZamowienieOdKlienta;
using (IZamowienieOdKlienta zk = zamowienia.Utworz(konfZk))
{
  ....
	Asortyment produkt = produkty.Dane.Wszystkie().Where(e => e.PodstawowaJednostkaMiaryAsortymentu.PodstawowyKodKreskowy.Kod.Trim()== "123456").FirstOrDefault();
	produkt.Nazwa = "Nowa nazwa";
	zk.Pozycje.Dodaj(produkt, 1, produkt.JednostkaSprzedazy);
  ...
}

 

i właśnie przy zmianie nazwy dostaję wyjątek

Cytat

InsERT.Mox.Locking.AppLockNotAcquiredException: Nie można zablokować podanego zasobu.
   w InsERT.Mox.Locking.SqlServer.SqlApplicationLock..ctor(SqlLockManager manager, IDbConnectionFactory dbConnectionFactory, String resourceId, Guid sessionId, Boolean acquire)
   w InsERT.Mox.Locking.SqlServer.SqlLockManager.AcquireLock(String resourceId)
   w InsERT.Mox.BusinessObjects.BusinessObject`3.Lock(TId id)
   w InsERT.Mox.BusinessObjects.BusinessObject`3.Lock()
   w InsERT.Mox.BusinessObjects.BusinessObject`3.OnModifying()
   w InsERT.Mox.BusinessObjects.BusinessObject`3.InsERT.Mox.DataAccess.IDataEventsSink.OnScalarPropertyChanging[TProperty](Object entity, String propertyName, TProperty propertyValue)
   w InsERT.Mox.DataAccess.EntityFramework.EntityDataObjectBase.ReportScalarPropertyChanging[T](IDataEventsSink sink, String propertyName, T& value)
   w InsERT.Moria.ModelDanych.Asortyment.set_Nazwa(String value)

 

W czasie działania tego programu nikt inny nie pracuje na subiekcie, nie są również uruchamiane inne programy.
Przy probie pobrania jakichś 30 zk przy 20 potrafi wywalić ten błąd.
 

Wiem że błąd może występować jeśli ktoś inny edytuje produkt ale mam informacje od pracowników że nikt nic nie robi,
drugą opcją jest nagle wyłączenie serwera ale wszystko jest cały czas uruchomione.

 

 

Link to postu
4 godziny temu, Anna Sałacińska napisał:

Przy probie pobrania jakichś 30 zk przy 20 potrafi wywalić ten błąd.

Z tego zdania wnioskuję, że jednak na części zamówień przechodzi, dlatego moje podejrzenia padły na nieudany zapis asortymentu przy wcześniejszych zamówieniach.

 

Proszę o podanie większego fragmentu kodu dotyczących edycji towaru, ponieważ brakuje bardzo istotnych linijek, w których jest ładowany i zapisywany obiekt biznesowy asortymentu.

Link to postu

Niestety nie ma możliwości, żeby nazwa asortymentu na pozycji była inna niż w kartotece, ponieważ wpis w tabeli pozycji dokumentu jest tylko powiązany z wpisem w tabeli asortymentów (pozycja nie tworzy własnej kopii asortymentu). To co Pani robi, to zmienia nazwę asortymentu lokalnie w pamięci, nie ma to żadnego wpływu na bazę danych.

 

Czy nazwa w zewnętrznym systemie jest zawsze taka sama? Może wystarczy wpisać ją w pole własne asortymentu i drukować je zamiast nazwy towaru? A jeśli nazwa nie jest zawsze taka sama, to może wykorzystać do tego celu pole Opis na pozycji?

Link to postu
×
×
  • Dodaj nową pozycję...