Forum Użytkownikow Subiekt GT
InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: H_24 w 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
-
Czy na pewno uruchamiasz Subiekta bo na moje oko (Pythona na oczy nie widziałem) to przypisujesz hasło użytkownika o wartości:
'OperatorHaslo
oSubGT = oGT.Uruchom(0, 0)'
i w ogóle nie uruchamiasz Subiekta ?
-
Czy na pewno uruchamiasz Subiekta bo na moje oko (Pythona na oczy nie widziałem) to przypisujesz hasło użytkownika o wartości:
'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
-
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óć.
-
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
-
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)