Autor Wątek: sfera python problem z uruchomieniem  (Przeczytany 3536 razy)

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

Offline H_24

  • Nowy użytkownik
  • *
  • Wiadomości: 3
  • Reputacja +0/-0
  • Wersja programu: 1.61
sfera python problem z uruchomieniem
« dnia: Marzec 19, 2021, 13:11:25 »
Witam,
Mam problem z prawidłowym uruchomieniem Subiekta przez Sferę w pythonie 3.7. Po wykonaniu poniższego kodu pojawia się okno Subiekta, jednak oSubGT jest klasy Aplikacja zamiast Subiekt:
import win32com.client
oGT = win32com.client.gencache.EnsureDispatch("InsERT.gt")
oGT.Produkt=1
oGT.Autentykacja= 0
oGT.Serwer="(local)\InseRTGT
oGT.Baza="baza"
oGT.Uzytkownik="Uzytkownik"
oGT.UzytkownikHaslo= "UzytkownikHaslo"
oGT.Operator="Operator"
oGT.OperatorHaslo='OperatorHaslo'
oSubGT = oGT.Uruchom(0, 0)

Wywołanie
oSgt.Towary.Wczytaj(sym)zwraca błąd:
AttributeError: '<win32com.gen_py.InsERT dla aplikacji - Biblioteka obiektowa (ver. 1.0).Aplikacja instance at 0x53718664>' object has no attribute 'Towary'Zmiana argumentów funkcji Uruchom nie zmienia niczego
« Ostatnia zmiana: Marzec 19, 2021, 13:55:47 wysłana przez H_24 »

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17061
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: sfera python problem z uruchomieniem
« Odpowiedź #1 dnia: Marzec 19, 2021, 13:20:43 »
Czy na pewno uruchamiasz Subiekta bo na moje oko (Pythona na oczy nie widziałem) to przypisujesz hasło użytkownika o wartości:

Cytuj
'OperatorHaslo
oSubGT = oGT.Uruchom(0, 0)'

i w ogóle nie uruchamiasz Subiekta ?
Daniel, Białystok.

Offline H_24

  • Nowy użytkownik
  • *
  • Wiadomości: 3
  • Reputacja +0/-0
  • Wersja programu: 1.61
Odp: sfera python problem z uruchomieniem
« Odpowiedź #2 dnia: Marzec 19, 2021, 13:57:10 »
Czy na pewno uruchamiasz Subiekta bo na moje oko (Pythona na oczy nie widziałem) to przypisujesz hasło użytkownika o wartości:

Cytuj
'OperatorHaslo
oSubGT = oGT.Uruchom(0, 0)'

i w ogóle nie uruchamiasz Subiekta ?
Błąd wkradł się przy kopiowaniu kodu tutaj, już poprawiłem.

Wysłane z mojego SM-A520F przy użyciu Tapatalka


Offline tomaszf

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 523
  • Reputacja +12/-0
  • Wersja programu: Subiekt GT 1.66
Odp: sfera python problem z uruchomieniem
« Odpowiedź #3 dnia: Marzec 21, 2021, 01:06:56 »
Cytuj
Błąd wkradł się przy kopiowaniu kodu tutaj, już poprawiłem.

Chyba nie tylko ten, strasznie wadliwy masz schowek...


Najpierw masz:
oSubGT = oGT.Uruchom(0, 0)
A za chwilę:
oSgt.Towary.Wczytaj(sym)
To w końcu oSubGT  czy oSgt?

Może wrzuć jednak faktyczny kod nad którym pracujesz - będzie łatwiej pomóć.

Offline H_24

  • Nowy użytkownik
  • *
  • Wiadomości: 3
  • Reputacja +0/-0
  • Wersja programu: 1.61
sfera python problem z uruchomieniem
« Odpowiedź #4 dnia: Marzec 22, 2021, 12:44:20 »
Po uruchomieniu import win32com.client
oGT = win32com.client.gencache.EnsureDispatch("InsERT.gt")
oGT.Produkt=1
oGT.Autentykacja= 0
oGT.Serwer="(local)\InseRTGT
oGT.Baza="baza"
oGT.Uzytkownik="Uzytkownik"
oGT.UzytkownikHaslo= "UzytkownikHaslo"
oGT.Operator="Operator"
oGT.OperatorHaslo='OperatorHaslo'
oSubGT = oGT.Uruchom(0, 0)

Obiekt oSubGT ma jedynie atrybuty:
Aplikacja,
Baza,
ObiektId,
ObiektNazwa,
ObiektXML,
Okno,
Operator,
OperatorNazwa,
PodmiotNazwa,
Rodzic,
Wersja,
Zajęta

oraz metody:
PodmiotZmien
Zakoncz

Według dokumentacji, dokładnie tak wygląda obiekt Aplikacja, podczas gdy po funkcji Uruchom spodziewałbym się raczej obiektu Subiekt z między innymi atrybutem Towary

Wysłane z mojego SM-A520F przy użyciu Tapatalka


Offline aka.meles

  • Nowy użytkownik
  • *
  • Wiadomości: 2
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.70
Odp: sfera python problem z uruchomieniem
« Odpowiedź #5 dnia: Luty 23, 2022, 10:22:15 »
Problem jest w nieprawidłowym typie obiektu który jest zwracany przez funkcję Uruchom().

Wymagane jest rzutowanie:

oSubGT = oGT.Uruchom(0, 0)

#rzutowanie
subiekt = win32com.client.CastTo(oSubGt,'Subiekt')
subiekt.Towary.Wczytaj(sym)

Forum Użytkownikow Subiekt GT

Odp: sfera python problem z uruchomieniem
« Odpowiedź #5 dnia: Luty 23, 2022, 10:22:15 »