Borykam się z przypuszczam błahym problemem ale nie mogę sobie z tym poradzić i bardzo proszę o pomoc w poniższej kwestii. Mianowicie stosując schemat postępowania API staram się stworzyć spinacz z nagłówkowy (S)FS dla dokumentu WZ :
- XLDokumentNagInfo_20232
- XLSpiInfo_20232
-XLZamkniecieDokumentuInfo_20232
Problem polega na tym iż sam dokument spinaczowy (S)FS tworzy mi się i pozostaje w buforze (tak mam ustawiony tryb zamykania) tylko że w środku w dokumencie nie mam żadnej pozycji (żadnego numeru WZ).
Poniżej podaje mój kod aplikacji konsolowej - bardzo proszę o wskazanie błędu. Dziękuje.
Kod: Zaznacz cały
Int32 APIVersion = 20232;
Int32 SessionID = 0;
int idOrder = 0;
//logowanie
cdn_api.XLLoginInfo_20232 Login = new cdn_api.XLLoginInfo_20232();
Login.Wersja = APIVersion;
Login.ProgramID = "API SPIN";
Login.Baza = "TEST";
Login.OpeIdent = "AA";
Login.OpeHaslo = "z1x2Z!X@";
Login.TrybWsadowy = 1;
Login.UtworzWlasnaSesje = 1;
Login.TrybNaprawy = 1;
Login.PlikLog = @"C:\IT\xl01kasa.log";
int loginResult = cdn_api.cdn_api.XLLogin(Login, ref SessionID);
if (loginResult == 0)
{
XLDokumentNagInfo_20232 wzNagInfo = new XLDokumentNagInfo_20232();
wzNagInfo.Wersja = APIVersion;
wzNagInfo.Typ = 2033;
wzNagInfo.Akronim = "KT01PLIT";
wzNagInfo.Spinacz = 1;
wzNagInfo.Seria = "G";
int newdocumentNag = cdn_api.cdn_api.XLNowyDokument(SessionID, ref idOrder, wzNagInfo);
if (newdocumentNag == 0)
{
Console.WriteLine("Dodano nagłówek faktury typu spinacz.");
}
else
{
Console.WriteLine("Problem z nagłówkiem.");
}
Console.WriteLine("Pobrano dane do spinacza.");
// dodanie dokumentu WZ
XLSpiInfo_20232 xLSpiInfo_20232 = new XLSpiInfo_20232();
xLSpiInfo_20232.Wersja = APIVersion;
xLSpiInfo_20232.TrNTyp = 2001;
xLSpiInfo_20232.TrNFirma = 108801;
xLSpiInfo_20232.TrNNumer = 471355076; --> Trn_GidNumer dla WZ
xLSpiInfo_20232.TrNLp = 0;
xLSpiInfo_20232.IgnorujZaliczki = 1;
xLSpiInfo_20232.ZachowajDane = 1;
int newspi = cdn_api.cdn_api.XLDodajDoSpinacza(SessionID, xLSpiInfo_20232);
if (newspi == 0)
{
Console.WriteLine("Dokument WZ został dodany do spinacza.");
}
else
{
Console.WriteLine("Problem z dodaniem WZ.");
}
// zamykanie dokumentu
XLZamkniecieDokumentuInfo_20232 XLClose = new XLZamkniecieDokumentuInfo_20232();
XLClose.Wersja = APIVersion;
XLClose.Tryb = 1;
XLClose.GidNumer = idOrder;
int InfoXLClose = cdn_api.cdn_api.XLZamknijDokument(idOrder, XLClose);
if (InfoXLClose == 0)
{
Console.WriteLine("Dokument został zamknięty.");
}
else
{
Console.WriteLine("Problem z zamknięciem.");
}
//wylogowanie -- zamknięcie sesji
cdn_api.cdn_api.XLLogoutEx(new XLLogoutInfo_20232() { TrybUsuwaniaDok = 1, Wersja = APIVersion }, SessionID);
if (cdn_api.cdn_api.XLLogout(SessionID) != 0)
{
Console.WriteLine("Sesja prawidłowo zamknięta.");
}
else
{
Console.WriteLine("Problem z sesją.");
}
}
else
{
Console.WriteLine("Problem z pobraniem danych.");
}
Console.ReadKey();