API - spinacz nagłówków z WZ

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

Moderator: mikey

KrzysztofKK
Posty: 12
Rejestracja: 19 sie 2018, 23:04
Rola: Administrator CDN XL
Wersja: 2017

API - spinacz nagłówków z WZ

Post autor: KrzysztofKK »

Witam Państwa Serdecznie.
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();

KrzysztofKK
Posty: 12
Rejestracja: 19 sie 2018, 23:04
Rola: Administrator CDN XL
Wersja: 2017

Re: API - spinacz nagłówków z WZ

Post autor: KrzysztofKK »

Witam Państwa temat zamykam - mój błąd :D - jak to mawiał mój Tata "jak się człowiek spieszy to się diabeł cieszy" - popełniłem banalny błąd zamiast IDdokumentu przekazałem Sesje :) - poniżej info
tu jest błąd

Kod: Zaznacz cały

int newspi = cdn_api.cdn_api.XLDodajDoSpinacza(SessionID, xLSpiInfo_20232); -- zamiast SessionID powinno być idOrder

ODPOWIEDZ