Autor Wątek: Subiekt GT + Sfera + Python, brak dostepu do pól własnych  (Przeczytany 2048 razy)

0 użytkowników i 2 Gości przegląda ten wątek.

Offline the_foe

  • Nowy użytkownik
  • *
  • Wiadomości: 15
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.25
Subiekt GT + Sfera + Python, brak dostepu do pól własnych
« dnia: 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()

Offline the_foe

  • Nowy użytkownik
  • *
  • Wiadomości: 15
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.25
Odp: Subiekt GT + Sfera + Python, brak dostepu do pól własnych
« Odpowiedź #1 dnia: Wrzesień 04, 2022, 13:38:34 »
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


Cytuj
TypeError: 'method' object does not support item assignment

Offline the_foe

  • Nowy użytkownik
  • *
  • Wiadomości: 15
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.25
Odp: Subiekt GT + Sfera + Python, brak dostepu do pól własnych
« Odpowiedź #2 dnia: Wrzesień 04, 2022, 14:36:53 »
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 :(

Forum Użytkownikow Subiekt GT

Odp: Subiekt GT + Sfera + Python, brak dostepu do pól własnych
« Odpowiedź #2 dnia: Wrzesień 04, 2022, 14:36:53 »