Użycie API - błąd w wersji

Zapytania SQL, widoki, Crystal, definicje filtrów, szybkich raportów, wydruków, API, Hydra, .NET

Moderator: mikey

vigo
Posty: 156
Rejestracja: 25 maja 2010, 10:09
Rola: Administrator CDN XL
Wersja: 2023
Lokalizacja: Olsztyn

Użycie API - błąd w wersji

Post autor: vigo »

Witam,
po uruchomieniu aplikacji z poniższym kodem wyskakuje mi błąd z numerem wersji API, zrzut pod kodem. Co jest tego przyczyną?

Kod: Zaznacz cały

            int APIVersion = 23;
            int SessionID = 0;
            cdn_api.XLLoginInfo_23 Login = new cdn_api.XLLoginInfo_23();
            Login.Wersja = APIVersion;
            Login.Winieta = -1;
            Login.ProgramID = "Apka";
            Login.Baza = "BAZA";
            Login.OpeIdent = "";
            Login.OpeHaslo = "";
            Login.UtworzWlasnaSesje = 0;
            
           int wynik= cdn_api.cdn_api.XLLogin(Login, ref SessionID);
            if (wynik == 0)
            {
                Console.WriteLine("zalogowano");
                XLNumerDokumentuInfo_23 nrdok = new XLNumerDokumentuInfo_23();
                nrdok.GIDNumer = 12743;
                int dok = cdn_api.cdn_api.XLPobierzNumerDokumentu(nrdok);
                Console.WriteLine(dok);
                Console.ReadLine();
                cdn_api.cdn_api.XLLogout(SessionID);
            }
            else
            {
                Console.WriteLine("błąd");
                Console.ReadLine();
            }
Załączniki
błąd_api.PNG

Gc12ch
Posty: 82
Rejestracja: 23 sty 2011, 14:56
Rola: Administrator CDN XL
Wersja: 2019

Re: Użycie API - błąd w wersji

Post autor: Gc12ch »

Wg mnie powinienieś w wersji api użyć 20163

Greg

RomanP
Posty: 145
Rejestracja: 24 lut 2013, 12:41
Rola: Administrator CDN XL
Lokalizacja: Skarżysko-Kamienna

Re: Użycie API - błąd w wersji

Post autor: RomanP »

A ja chciałem tylko tradycyjnie przypomnieć że mamy XXI wiek :)
i powinniśmy stosować nowsze zapisy:

var Login = new cdn_api.XLLoginInfo_23
{
Wersja = APIVersion,
Winieta = -1,
ProgramID = "Apka",
Baza = "BAZA",
OpeIdent = "",
OpeHaslo = "",
UtworzWlasnaSesje = 0
};

vigo
Posty: 156
Rejestracja: 25 maja 2010, 10:09
Rola: Administrator CDN XL
Wersja: 2023
Lokalizacja: Olsztyn

Re: Użycie API - błąd w wersji

Post autor: vigo »

Nie przekazałem wersji api dlatego pojawiał się błąd:

Kod: Zaznacz cały

nrdok.Wersja = APIVersion;
Jeszcze pytanie co do funkcji zamkniecia dokumentu. Jak wskazać konkretny dokument do zamknięcia, poniższy kod zwraca wartośc 3-Nie znaleziono nagłówka dokumentu

Kod: Zaznacz cały

int DocumentHeaderID=1;
XLZamkniecieDokumentuInfo_23 zamdok = new XLZamkniecieDokumentuInfo_23();
zamdok.GidNumer = 32823;
zamdok.Wersja = APIVersion;
zamdok.Tryb = 1;
int zdok= cdn_api.cdn_api.XLZamknijDokument(DocumentHeaderID, zamdok);

RomanP
Posty: 145
Rejestracja: 24 lut 2013, 12:41
Rola: Administrator CDN XL
Lokalizacja: Skarżysko-Kamienna

Re: Użycie API - błąd w wersji

Post autor: RomanP »

DocumentHeaderID otrzymujesz z:
....................
XLNowyDokument(SesjaId, ref DocumentHeaderID, hdr);
-----------------------

vigo
Posty: 156
Rejestracja: 25 maja 2010, 10:09
Rola: Administrator CDN XL
Wersja: 2023
Lokalizacja: Olsztyn

Re: Użycie API - błąd w wersji

Post autor: vigo »

ok, to już rozgryzłem.

czy można poprzez API (i jaką funcją) zamknąć ZW,do którego jest już wygenerowane MMW ale posiada jeszcze jakieś pozycje niezrealizowane, czyli ma status "w realizacji".
Standardowo wybiera się opcję "Zamknij" prawym klawiszem myszy.

Próbowałem to wykonać po przez poniższy kod, ale tylko podnosi mi formatkę z zamówieniem.

Kod: Zaznacz cały

int DocumentHeaderID = 0;
XLOtwarcieDokumentuZamInfo_23 zamgid = new XLOtwarcieDokumentuZamInfo_23();
zamgid.Wersja = APIVersion;
zamgid.ZaNNumer =  234267;
zamgid.ZaNTyp = 960;
int zaminfo = cdn_api.cdn_api.XLOtworzDokumentZam(SessionID, ref DocumentHeaderID, zamgid);
XLZamkniecieDokumentuZamInfo_23 zaminf = new XLZamkniecieDokumentuZamInfo_23();
zaminf.Wersja = APIVersion;
zaminf.TrybZamkniecia = 0;
int zdok = cdn_api.cdn_api.XLZamknijDokumentZam(DocumentHeaderID, zaminf);
Console.WriteLine("zaminfo= " + zaminfo + "zdok= " + zdok );

tomasz.kozakiewicz
Posty: 8
Rejestracja: 11 cze 2018, 09:16
Rola: Administrator CDN XL

Re: Użycie API - błąd w wersji

Post autor: tomasz.kozakiewicz »

public static int iVersion;
.
.
cdn_api.cdn_api.XLSprawdzWersje(ref iVersion);
.
.
XLLoginInfo_XXXXX loginInfo = new cdn_api.XLLoginInfo_XXXXX()
{
Wersja = iVersion,
.
.
};

ODPOWIEDZ