Witam,
mam aplikację napisaną w C# do pobierania zamówień ze sklepu internetowego przez API i zapisywaniu ich jako ZK. Do identyfikacji kontrahentów używam adresów e-mail, z bazy pobieram sobie za pomocą sql ID kontrahenta i jeśli się znajduje to pobieram obiekt Kontrahent, jeśli nie to tworzę nowy. Tylko mam problem, gdyż w niektórych przypadkach, mimo że znajduje mi ID kontrahenta, nie wczytuje mi obiektu. Poniżej przykładowy kod:
long clientId = this.getClientByEmail(order.client.email); //pobieranie za pomocą sql id klienta na podstawie email, -1 jeśli nie ma
if (this.subiekt.KontrahenciManager.Istnieje(clientId))
{
Helper.Log("Klient istnieje: " + clientId);
try
{
kh = this.subiekt.KontrahenciManager.Wczytaj(clientId);
}
catch (COMException ex)
{
Helper.Log("Błąd wczytywania kontrahenta " + clientId + ": " + ex.Message);
}
}
else
{
kh = this.addClient(order);
}
I w niektórych przypadkach mimo, że metoda Istnieje zwraca true, bo on faktycznie już istnieje i jest powiązany z innymi dokumentami, przy metodzie wczytaj wchodzi Exception "Brak bieżącego rekordu". Przypisywałem również samo clientId i jako zmienną i na sztywno jedno znalezione ID do dokumentu, jednak było podobnie. Czy ktoś miał podobny problem lub wie o co może chodzić? Użyłem wyszukiwarki, jednak dla fraz kontrahenci, wczytaj, istnieje nic nie znalazłem.