Autor Wątek: Ignorowanie błędów w sferze (dodawanie cechy)  (Przeczytany 2557 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline mysz0n

  • Nowy użytkownik
  • *
  • Wiadomości: 23
  • Reputacja +0/-0
  • Wersja programu: 1.47SP1HF1
Ignorowanie błędów w sferze (dodawanie cechy)
« dnia: 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?

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17063
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Ignorowanie błędów w sferze (dodawanie cechy)
« Odpowiedź #1 dnia: 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.
Daniel, Białystok.

Offline mysz0n

  • Nowy użytkownik
  • *
  • Wiadomości: 23
  • Reputacja +0/-0
  • Wersja programu: 1.47SP1HF1
Odp: Ignorowanie błędów w sferze (dodawanie cechy)
« Odpowiedź #2 dnia: 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.

Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4876
  • Reputacja +172/-11
Odp: Ignorowanie błędów w sferze (dodawanie cechy)
« Odpowiedź #3 dnia: 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.

Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Offline mysz0n

  • Nowy użytkownik
  • *
  • Wiadomości: 23
  • Reputacja +0/-0
  • Wersja programu: 1.47SP1HF1
Odp: Ignorowanie błędów w sferze (dodawanie cechy)
« Odpowiedź #4 dnia: 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 :/

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17063
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Ignorowanie błędów w sferze (dodawanie cechy)
« Odpowiedź #5 dnia: 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;
Daniel, Białystok.

Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4876
  • Reputacja +172/-11
Odp: Ignorowanie błędów w sferze (dodawanie cechy)
« Odpowiedź #6 dnia: 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 ;)
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9211
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Odp: Ignorowanie błędów w sferze (dodawanie cechy)
« Odpowiedź #7 dnia: 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?
Sławek, Zduńska Wola

Offline mysz0n

  • Nowy użytkownik
  • *
  • Wiadomości: 23
  • Reputacja +0/-0
  • Wersja programu: 1.47SP1HF1
Odp: Ignorowanie błędów w sferze (dodawanie cechy)
« Odpowiedź #8 dnia: 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!

Forum Użytkownikow Subiekt GT

Odp: Ignorowanie błędów w sferze (dodawanie cechy)
« Odpowiedź #8 dnia: Marzec 01, 2017, 15:52:02 »