Autor Wątek: Błąd 0x8004132b  (Przeczytany 8510 razy)

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

Offline mlotek

  • Użytkownik
  • **
  • Wiadomości: 61
  • Reputacja +0/-0
  • Wersja programu: najnowszy
Błąd 0x8004132b
« dnia: Maj 28, 2019, 13:54:52 »
Witam,
mam problem z pojawiam się losowo błędem 0x8004132b,
jak udało mi się ustalić jest to błąd logowania do subiekta.
Tylko że ten błąd pojawia się zupełnie losowo, kilka razy się połączy się bez problemu po czym nagle się wywala.

Macie jakieś pomysły czym może to być powodowane ?


Tak wygląda przykładowy kod który wykonuje - oczywiście część nieistotnego kodu takiego jak host, podmiot zostały usunięte
            InsERT.GT gt = new InsERT.GT();
            InsERT.Subiekt sgt;
            gt.Produkt = (InsERT.ProduktEnum.gtaProduktSubiekt);
            gt.Serwer ="";
            gt.Baza = "";
            gt.Autentykacja = (InsERT.AutentykacjaEnum.gtaAutentykacjaMieszana);
            gt.Uzytkownik = "sa";
            gt.UzytkownikHaslo = "";
            gt.Operator = "Szef";
            gt.OperatorHaslo = "";
            sgt = (InsERT.Subiekt)gt.Uruchom((Int32)InsERT.UruchomDopasujEnum.gtaUruchomDopasuj, (Int32)InsERT.UruchomEnum.gtaUruchomWTle);

            sgt.MagazynId = 1;
            InsERT.SuDokument dok = sgt.Dokumenty.Wczytaj("nr paragonu");

            dok.Drukuj(true);
           
         



« Ostatnia zmiana: Maj 28, 2019, 13:57:09 wysłana przez mlotek »

Offline maniootek

  • Aktywny użytkownik
  • ***
  • Wiadomości: 104
  • Reputacja +0/-0
Odp: Błąd 0x8004132b
« Odpowiedź #1 dnia: Maj 28, 2019, 14:18:11 »
0x8004132B = Wybrany użytkownik nie znajduje się w bazie danych podmiotu.Może literówka? Niechciana spacja przed lub po? Upewnij się, czy pole Operator nie ma mieć czasem dwóch fraz oddzielonych spacją (imię + nazwisko)

Offline mlotek

  • Użytkownik
  • **
  • Wiadomości: 61
  • Reputacja +0/-0
  • Wersja programu: najnowszy
Odp: Błąd 0x8004132b
« Odpowiedź #2 dnia: Maj 28, 2019, 14:25:56 »
W uproszczeniu, login i hasło są zapisane w ustawieniach programu
użytkownik podaje tylko numer dokumentu do wydrukowania.

Czyli wygląda to mniej więcej tak
wpisuje PA 1/2019, klikam drukuj i działa
wpisuję PA 2/2019, klikam drukuj i działa
wpisuję PA 3/2019, klikam drukuj, błąd 0x8004132B

dane do logowania są za każdym razem te same, więc jakby była literówka to wywalałoby się już na pierwszym.
Dodałem
try
{
            sgt.Zakoncz();
}
catch (Exception)
{

}
ale cały czas jest sam efekt

Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4876
  • Reputacja +172/-11
Odp: Błąd 0x8004132b
« Odpowiedź #3 dnia: Maj 28, 2019, 14:32:01 »
No to mogę tylko napisać SOA#1
Mam programy sferyczne od wielu lat i nie napotkałem nigdy na taki problem.
VB/VC# od 2005 do 2017
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Offline mlotek

  • Użytkownik
  • **
  • Wiadomości: 61
  • Reputacja +0/-0
  • Wersja programu: najnowszy
Odp: Błąd 0x8004132b
« Odpowiedź #4 dnia: Maj 28, 2019, 15:05:58 »
ok, czyli czysto teoretycznie ten kod powinien działać ?
Czy to sgt.Zakoncz(); jest wymagane ?

Czy może błąd może być wywoływany przez coś innego, np zalogowanie się tego samego użytkownika do subiekta na innym komputerze, za mało licencji w sferze lub cokolwiek innego ?

Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4876
  • Reputacja +172/-11
Odp: Błąd 0x8004132b
« Odpowiedź #5 dnia: Maj 28, 2019, 15:27:55 »
ok, czyli czysto teoretycznie ten kod powinien działać ?
Czy to sgt.Zakoncz(); jest wymagane ?
No raczej. Wywołujesz SGT w tle, więc jak go nie zamkniesz to będziesz miał wiszący proces.
Powinieneś też zadbać o to żeby w razie wystąpienia błędu SGT był zamykany zanim zamknie się Twoja aplikacja.

Czy może błąd może być wywoływany przez coś innego, np zalogowanie się tego samego użytkownika do subiekta na innym komputerze, za mało licencji w sferze lub cokolwiek innego ?
Logowanie na innym stanowisku nie, za mało licencji też nie (byłby inny numer błędu), cokolwiek innego - jak najbardziej  ;)
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17059
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Błąd 0x8004132b
« Odpowiedź #6 dnia: Maj 28, 2019, 15:29:22 »
Nie wiem czy to efekt zamierzony czy szkolny błąd, ale rozwiązanie podłącza się do uruchomionego programu, nie uruchamia nowego procesu, może to powodować nieoczekiwane zachowania...

ok, czyli czysto teoretycznie ten kod powinien działać ?
Czy to sgt.Zakoncz(); jest wymagane ?

Rozwiązania do potrzeb - bez poznania zamierzonej logiki programu nie da się odpowiedzieć... Na pewno program powinien być kończony jeśli jest uruchmiany nowy proces bez okna głównego.

Czy może błąd może być wywoływany przez coś innego, np zalogowanie się tego samego użytkownika do subiekta na innym komputerze, za mało licencji w sferze lub cokolwiek innego ?

No nie, takie sytuacje są obsługiwane innymi błędami.
Daniel, Białystok.

Offline mlotek

  • Użytkownik
  • **
  • Wiadomości: 61
  • Reputacja +0/-0
  • Wersja programu: najnowszy
Odp: Błąd 0x8004132b
« Odpowiedź #7 dnia: Maj 28, 2019, 17:52:13 »
"Logika programu" jest następując,
w inpucie wpisuję numer ZK i wciskam enter. Pojawia się okienko w którym wciskam "przekształć na paragon" lub "przekształć na fakturę", a następnie mogę kliknąć "drukuj" i z drukarki wyskakuje mi paragon lub faktura.
Zamykam okno dialogowe, podje kolejne ZK i tak w kółko.

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17059
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Błąd 0x8004132b
« Odpowiedź #8 dnia: Maj 28, 2019, 18:39:03 »
W takim przypadku polecam spróbować za każdym razem uruchamiać nowy proces Subiekta i go zamykać.
Daniel, Białystok.

Offline mlotek

  • Użytkownik
  • **
  • Wiadomości: 61
  • Reputacja +0/-0
  • Wersja programu: najnowszy
Odp: Błąd 0x8004132b
« Odpowiedź #9 dnia: Maj 29, 2019, 13:53:44 »
niestety cały czas wywala mi ten błąd  :(
Da się to jakoś to "debugować" żeby dokładniej ustalić gdzie jest problem ?
Czy ewentualnie problemem może być to że sfera jest w wersji próbnej ?

Offline maniootek

  • Aktywny użytkownik
  • ***
  • Wiadomości: 104
  • Reputacja +0/-0
Odp: Błąd 0x8004132b
« Odpowiedź #10 dnia: Maj 29, 2019, 14:00:20 »
niestety cały czas wywala mi ten błąd  :(
Da się to jakoś to "debugować" żeby dokładniej ustalić gdzie jest problem ?
Czy ewentualnie problemem może być to że sfera jest w wersji próbnej ?

Nie jest czasem tak, że wykonujesz logowanie do subiekta za każdym razem w pętli?

Offline mlotek

  • Użytkownik
  • **
  • Wiadomości: 61
  • Reputacja +0/-0
  • Wersja programu: najnowszy
Odp: Błąd 0x8004132b
« Odpowiedź #11 dnia: Maj 29, 2019, 14:20:55 »
ok to jeszcze raz po kolei, wygląd to tak
  • w pierwszym oknie wpisuję numer zk i wciskam enter
  • otwiera się drugie okno
  • tu klikam przekształć na paragon
    • tworzę nowy obiekt gt
      InsERT.GT gt = new InsERT.GT();
    • tworzę nowe połączenie

      sgt = (InsERT.Subiekt)gt.Uruchom((Int32)InsERT.UruchomDopasujEnum.gtaUruchomDopasuj, (Int32)InsERT.UruchomEnum.gtaUruchomWTle);

    • wystawiam paragon na podstawie zk
      InsERT.SuDokument pa = sgt.SuDokumentyManager.DodajPA();
      pa.NaPodstawie(TU NR ZK);

      pa.Zapisz();
    • zamykam połączenie stg

      sgt.Zakoncz();

  • klikam przycisk drukuj
    • ponownie tworzę nowy obiekt gt
      InsERT.GT gt = new InsERT.GT();

    • tworzę nowe połączenie sgt = (InsERT.Subiekt)gt.Uruchom((Int32)InsERT.UruchomDopasujEnum.gtaUruchomDopasuj, (Int32)InsERT.UruchomEnum.gtaUruchomWTle);
    • Wczytuje i drukuję paragon

       InsERT.SuDokument dok = sgt.Dokumenty.Wczytaj(TU NUMER PARAGONU);
       dok.Drukuj(true);


    • zamykam połączenie stg

        sgt.Zakoncz();


  • Zamykam "drugie okno"
  • podaje kolejny numer zk



PS.
znalazłem mały błąd na forum,
wewnątrz znacznika li nie da się użyć znacznika code ponieważ całe bbcode się wywala

Offline maniootek

  • Aktywny użytkownik
  • ***
  • Wiadomości: 104
  • Reputacja +0/-0
Odp: Błąd 0x8004132b
« Odpowiedź #12 dnia: Maj 29, 2019, 14:28:00 »
Spróbuj wyrzucić tworzenie obiektu GT i połączenia przed pierwsze okienko w którym podajesz numer ZK i na koniec podczas zamykania aplikacji rozłącz połączenie i zamknij obiekt GT. Chodzi o to aby tworzyć jeden raz obiekt GT i połączenie do bazy.
« Ostatnia zmiana: Maj 29, 2019, 14:38:25 wysłana przez maniootek »

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17059
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Błąd 0x8004132b
« Odpowiedź #13 dnia: Maj 29, 2019, 15:45:01 »
niestety cały czas wywala mi ten błąd  :(

Z tego co widzę to nie zastosowałeś się do mojej sugestii.

Da się to jakoś to "debugować" żeby dokładniej ustalić gdzie jest problem ?

Można podejrzeć zapytania do bazy danych i sprawdzić jaki na prawdę użytkownik jest poszukiwany.

Czy ewentualnie problemem może być to że sfera jest w wersji próbnej ?

Nie.
Daniel, Białystok.

Offline mlotek

  • Użytkownik
  • **
  • Wiadomości: 61
  • Reputacja +0/-0
  • Wersja programu: najnowszy
Odp: Błąd 0x8004132b
« Odpowiedź #14 dnia: Maj 30, 2019, 08:00:09 »

W takim przypadku polecam spróbować za każdym razem uruchamiać nowy proces Subiekta i go zamykać.
Z tego co widzę to nie zastosowałeś się do mojej sugestii.
Mówisz o tej sugestii ? Przecież tak robię, przy każdym kliknięciu otwieram i zamykam proces. Chyba że coś źle zrozumiałem.


Da się to jakoś to "debugować" żeby dokładniej ustalić gdzie jest problem ?
Można podejrzeć zapytania do bazy danych i sprawdzić jaki na prawdę użytkownik jest poszukiwany.

no niby tak, tylko przy snifowaniu produkcyjnej bazy produkcyjnej na kilku stanowiskach będę dostawał dostawał tyle zapytań że pewnie i tak nic nie znajdę, a tak jak pisałem na mojej bazie testowej ten problem nie występuje.

Spróbuję jeszcze przerobić to tak jak napisał @maniootek.

Forum Użytkownikow Subiekt GT

Odp: Błąd 0x8004132b
« Odpowiedź #14 dnia: Maj 30, 2019, 08:00:09 »