Forum Użytkownikow Subiekt GT

InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: mysz0n w Luty 28, 2017, 21:36:33

Tytuł: Ignorowanie błędów w sferze (dodawanie cechy)
Wiadomość wysłana przez: mysz0n w Luty 28, 2017, 21:36:33
Chciałem przypisać do ponad 1tys kontrahentów, pewną cechę o id 245 (przez sferę w php, dane pobieram z tablicy symboli)

$Okh = $Subiekt->Kontrahenci->Wczytaj($value);
$Okh->Cechy->Dodaj('245');
@$Okh->Zapisz();
wszystko ładnie działa, ale co 20-30 kontrahentów dostaję error:

Cytuj
Uncaught exception 'com_exception' with message '<b>Source:</b> InsERT.GT.1<br/><b>Description:</b>
Istnieje już kontrahent o podanym numerze PESEL.\r\n'
lub
Istnieje już kontrahent o podanym numerze NIP

Moje pytanie brzmi, dlaczego z poziomu subiekta mogę dodać cechę i nie dostaję żadnej informacji o błędzie, a tu mam to info i skrypt kończy się wykonywać?
czy jest jakaś metoda sferowego ignorowania takich błędów?
Tytuł: Odp: Ignorowanie błędów w sferze (dodawanie cechy)
Wiadomość wysłana przez: dkozlowski w Luty 28, 2017, 21:48:06
Moje pytanie brzmi, dlaczego z poziomu subiekta mogę dodać cechę i nie dostaję żadnej informacji o błędzie,  a tu mam to info

Sprawdź raz jeszcze.

i skrypt kończy się wykonywać?

Bo nie obsługujesz wyjątków.

czy jest jakaś metoda sferowego ignorowania takich błędów?

Jak zawsze polecam korzystać z pomocy do programu, cytat:

Cytuj
Atrybut PowielNIPBezUI

Atrybut określa czy kontrahent (zobacz obiekt Kontrahent) może zostać dodany do kartoteki kontrahentów mimo istnienia w bazie innego kontrahenta o takim samym numerze NIP.
Tytuł: Odp: Ignorowanie błędów w sferze (dodawanie cechy)
Wiadomość wysłana przez: mysz0n w Marzec 01, 2017, 14:49:42
Faktycznie - ponownie sprawdziłem i z poziomu subiekta wyrzuca błąd (musiałem sprawdzić na złym kontrahencie)

Jeśli możesz podpowiedz jeszcze dlaczego to mi nie chce przejść?
   $Okh = $Subiekt->Kontrahenci->Wczytaj($value);
   $Okh->PowielNIPBezUI(TRUE);
   $Okh->PowielPESELBezUI(TRUE);
   $Okh->Cechy->Dodaj('245');

Dostaje błąd Error [0x80020011] Nie obsługuje kolekcji.
W różnych miejscach próbowałem dodać PowielPESELBezUI, ale nic nie pasuje.
Wybacz, za pytania, pewnie z Twojego punktu widzenia banalne, ale dopiero zaczynam przygodę ze Sferą, to co już udało mi się ogarnąć jest bardzo fajne i licze na to, że jeszcze kilka przykładów i opanuję sferę do tego stopnia, że nie będę musiał zawracać głowy na forum.
Tytuł: Odp: Ignorowanie błędów w sferze (dodawanie cechy)
Wiadomość wysłana przez: candy w Marzec 01, 2017, 14:55:29
   $Okh->Cechy->Dodaj('245');
Nie znam zupełnie php, ale czy to '245' to w tym języku jest liczba całkowita?

Bo wg helpa do Sfery
wyrazenie.Dodaj(cechaId)
(...)
cechaId
Long. Identyfikator cechy z tabeli sl_CechaKw.

Tytuł: Odp: Ignorowanie błędów w sferze (dodawanie cechy)
Wiadomość wysłana przez: mysz0n w Marzec 01, 2017, 15:32:54
Ta linia jest ok, wysypuje się w momencie dodania
$Okh->PowielNIPBezUI(TRUE);lub
$Okh->PowielPESELBezUI(TRUE);
php nie jest wrażliwy na to czy podam mu Dodaj('245'); czy Dodaj(245);

Ogólnie bez tych lini PowielNIP, PowielPESEL działa prawidłowo, ale wysypuje się jak trafi na kontrahenta bez numeru PESEL lub NIP, wtedy skrypt przestaje się wykonywać, kolega dkozlowski polecił użycie PowielNIPBezUI, ale nie wiem jak i gdzie to wkomponować w kod :/
Tytuł: Odp: Ignorowanie błędów w sferze (dodawanie cechy)
Wiadomość wysłana przez: dkozlowski w Marzec 01, 2017, 15:38:56
Dostaje błąd Error [0x80020011] Nie obsługuje kolekcji.
W różnych miejscach próbowałem dodać PowielPESELBezUI, ale nic nie pasuje.
Wybacz, za pytania, pewnie z Twojego punktu widzenia banalne, ale dopiero zaczynam przygodę ze Sferą, to co już udało mi się ogarnąć jest bardzo fajne i licze na to, że jeszcze kilka przykładów i opanuję sferę do tego stopnia, że nie będę musiał zawracać głowy na forum.

Ze Sferą mogę pomóc, ale PHP musisz nauczyć się sam - dlaczego atrybuty/właściwości obiektu wywołujesz jak metody ? Chyba powinno być tak:

$Okh = $Subiekt->Kontrahenci->Wczytaj($value);
$Okh->PowielNIPBezUI = TRUE;
$Okh->PowielPESELBezUI = TRUE;
Tytuł: Odp: Ignorowanie błędów w sferze (dodawanie cechy)
Wiadomość wysłana przez: candy w Marzec 01, 2017, 15:43:21
php nie jest wrażliwy na to czy podam mu Dodaj('245'); czy Dodaj(245);
Dzięki za naukę.
Będę trzymał bezpieczny dystans ;)
Tytuł: Odp: Ignorowanie błędów w sferze (dodawanie cechy)
Wiadomość wysłana przez: birds22 w Marzec 01, 2017, 15:48:51
Ogólnie bez tych lini PowielNIP, PowielPESEL działa prawidłowo, ale wysypuje się jak trafi na kontrahenta bez numeru PESEL lub NIP, wtedy skrypt przestaje się wykonywać, kolega dkozlowski polecił użycie PowielNIPBezUI, ale nie wiem jak i gdzie to wkomponować w kod :/

A jak wyłączysz to z poziomu Subiekta to działa?
Tytuł: Odp: Ignorowanie błędów w sferze (dodawanie cechy)
Wiadomość wysłana przez: mysz0n w Marzec 01, 2017, 15:52:02
Ze Sferą mogę pomóc, ale PHP musisz nauczyć się sam - dlaczego atrybuty/właściwości obiektu wywołujesz jak metody ? Chyba powinno być tak:

$Okh = $Subiekt->Kontrahenci->Wczytaj($value);
$Okh->PowielNIPBezUI = TRUE;
$Okh->PowielPESELBezUI = TRUE;

Jak widac możesz pomóc nie tylko ze Sferą.
Poszło, działa. DZIĘKUJĘ - PONOWNIE!