Forum Użytkownikow Subiekt GT
InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: the_foe w Wrzesień 02, 2022, 22:01:25
-
Witam, nie mogę w pełni obsłużyć nowego zamówienia za pomocą sfery i pythona, wszystko działa prócz pól własnych
import win32com.client
oGT = win32com.client.Dispatch("InsERT.GT")
oGT.Serwer = "*"
oGT.OperatorHaslo = "*"
oGT.Baza = "*"
oGT.Operator = "*"
Subiekt = oGT.Uruchom(0, 4)
if Subiekt==False:
print ("Nie udało się podłączyć do Subiekta GT.")
sys.exit()
oDok = Subiekt.Dokumenty.Dodaj("&HFFFFFFF8")
oKh = Subiekt.Kontrahenci.Wczytaj("0000000664")
oDok.KontrahentId = oKh.Identyfikator
oDok.Rezerwacja=True
oDok.NumerOryginalny="test"
oDok.Uwagi="*"
oDok.PoleWlasne("Email Klienta")="test@test"
oDok.Wyswietl()
wyświetla błąd "Syntax Error: Cannto assign to function call" dla linii oDok.PoleWlasne("Email Klienta")="test@test"
Taki sam kod dla vbs działa bezbłędnie:
Dim oGT
Set oGT = CreateObject("InsERT.GT")
oGT.Serwer = "*"
oGT.OperatorHaslo = "*"
oGT.Baza = "*"
oGT.Operator = "*"
Set Subiekt = oGT.Uruchom(0, 4)
If Subiekt Is Nothing Then
Wscript.echo "Nie udało się podłączyć do Subiekta GT."
WScript.quit
End If
Set oDok = Subiekt.Dokumenty.Dodaj(&HFFFFFFF8)
Set oKh = Subiekt.Kontrahenci.Wczytaj("0000000664")
oDok.KontrahentId = oKh.Identyfikator
oDok.Rezerwacja=True
oDok.NumerOryginalny="test"
oDok.Uwagi="*"
oDok.PoleWlasne("Email Klienta")="test@test"
oDok.Wyswietl()
-
ok, doszedłem gdzie jest oczywisty błąd składni, ale kod który powinien działać, nawet taki tworzy konwerter kodu vbs do pythona, ale nie działa:
mport win32com.client
oGT = win32com.client.Dispatch("InsERT.GT")
oGT.Serwer = "*"
oGT.OperatorHaslo = "*"
oGT.Baza = "*"
oGT.Operator = "*"
Subiekt = oGT.Uruchom(0, 4)
if Subiekt==False:
print ("Nie udało się podłączyć do Subiekta GT.")
sys.exit()
oDok = Subiekt.Dokumenty.Dodaj(0xFFFFFFF8)
oKh = Subiekt.Kontrahenci.Wczytaj("0000000664")
oDok.KontrahentId = oKh.Identyfikator
oDok.Rezerwacja=True
oDok.NumerOryginalny="test"
oDok.Uwagi="*"
oDok.PoleWlasne['Email Klienta']='test@test'
oDok.Wyswietl()
wywala błąd dla przedostatniej linii
TypeError: 'method' object does not support item assignment
-
w c# działa poprawnie:
class Program
{
[STAThread]
static void Main(string[] args)
{
try
{
// Utworzenie obiektu GT
InsERT.GT oGT = new InsERT.GT();
oGT.OperatorHaslo = "*";
oGT.Baza = "*";
oGT.Operator = "*";
InsERT.Subiekt subiekt = (InsERT.Subiekt)oGT.Uruchom(0, 4);
var oDok = subiekt.Dokumenty.Dodaj(0xFFFFFFF8);
var oKh = subiekt.Kontrahenci.Wczytaj("0000000664");
oDok.KontrahentId = oKh.Identyfikator;
oDok.Rezerwacja = true;
oDok.NumerOryginalny = "test";
oDok.Uwagi = "*";
oDok.PoleWlasne["Email Klienta"] = "test@test";
oDok.Wyswietl();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.ReadKey();
}
}
}
}
Ma ktoś pomysł z tym Pythonem, nie byłoby problemu gdybym na pythonie nie napisał już dużo kodu importu z xml/edi i dopiero w końcowce taki bump, musiałbym zacząc od nowa :(