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
Post
autor: vigo » 16 kwie 2018, 16:32
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
Gc12ch
Posty: 82 Rejestracja: 23 sty 2011, 14:56
Rola: Administrator CDN XL
Wersja: 2019
Post
autor: Gc12ch » 16 kwie 2018, 21:05
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
Post
autor: RomanP » 17 kwie 2018, 07:02
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
Post
autor: vigo » 17 kwie 2018, 09:13
Nie przekazałem wersji api dlatego pojawiał się błąd:
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
Post
autor: RomanP » 17 kwie 2018, 11:28
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
Post
autor: vigo » 17 kwie 2018, 13:57
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
Post
autor: tomasz.kozakiewicz » 11 cze 2018, 09:47
public static int iVersion;
.
.
cdn_api.cdn_api.XLSprawdzWersje(ref iVersion);
.
.
XLLoginInfo_XXXXX loginInfo = new cdn_api.XLLoginInfo_XXXXX()
{
Wersja = iVersion,
.
.
};