Forum Użytkownikow Subiekt GT

InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: H_24 w Marzec 19, 2021, 13:11:25

Tytuł: sfera python problem z uruchomieniem
Wiadomość wysłana 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
Tytuł: Odp: sfera python problem z uruchomieniem
Wiadomość wysłana przez: dkozlowski w 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 ?
Tytuł: Odp: sfera python problem z uruchomieniem
Wiadomość wysłana przez: H_24 w 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

Tytuł: Odp: sfera python problem z uruchomieniem
Wiadomość wysłana przez: tomaszf w 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óć.
Tytuł: sfera python problem z uruchomieniem
Wiadomość wysłana przez: H_24 w 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

Tytuł: Odp: sfera python problem z uruchomieniem
Wiadomość wysłana przez: aka.meles w 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)