Mam małą zagwozdkę. Mam bazę testową XL'a 2019.3.4 i próbuję stworzyć ZS z pozycjami na podstawie zapytania SQL.
Niestety ZS nie wypełnia się pozycjami, XLDodajPozycjeZam kończy się kodem 12.
Mam taki kod w C#
Kod: Zaznacz cały
if (LoginResult == 0)
{
Console.WriteLine("Udane logowanie!");
int ZS_id = 0;
XLDokumentZamNagInfo_20193 xl_zs_header = new XLDokumentZamNagInfo_20193();
xl_zs_header.Wersja = 20193;
xl_zs_header.Typ = 6;
xl_zs_header.KntTyp = 32;
xl_zs_header.KntNumer = 7302;
xl_zs_header.Opis = "test";
xl_zs_header.RealWCalosci = 1;
int ZS_status = cdn_api.cdn_api.XLNowyDokumentZam(SesjaID, ref ZS_id, xl_zs_header);
Console.WriteLine(ZS_id);
using( con =
new SqlConnection(@"Data Source=ip\instancja;Initial Catalog=ERPXL_Test;Persist Security Info=True;User ID=sa;pwd=****;"))
{
con.Open();
cmd = new SqlCommand("select ZaE_TwrKod,ZaE_TwrNazwa,ZaE_TwrNumer, ZaE_Ilosc, ZaE_CenaUzgodniona from cdn.ZamElem join cdn.ZaNOpisy on ZaE_GIDNumer=ZnO_ZamNumer join cdn.ZamNag on ZaE_GIDNumer=zan_gidnumer where zno_opis like '%sprzedaż internetowa%' and zae_twrkod not like 'Transport' and ZaN_Stan in (4,3,2)",con);
rdr = cmd.ExecuteReader();
while (rdr.Read())
{
XLDokumentZamElemInfo_20193 xl_zs_poz = new XLDokumentZamElemInfo_20193();
xl_zs_poz.Wersja = 20193;
xl_zs_poz.Ilosc = rdr.GetDecimal("ZaE_Ilosc").ToString("0.00");
xl_zs_poz.TwrNumer = rdr.GetInt32("ZaE_TwrNumer");
xl_zs_poz.CenaSpr = (int) rdr.GetDecimal("ZaE_CenaUzgodniona");
cdn_api.cdn_api.XLDodajPozycjeZam(ZS_id, xl_zs_poz);
}
rdr.Close();
con.Close();
}
XLZamkniecieDokumentuZamInfo_20193 xl_zs_close = new XLZamkniecieDokumentuZamInfo_20193();
xl_zs_close.Wersja = 20193;
xl_zs_close.TrybZamkniecia = 0;
if (xl_zs_close != null)
ZS_status = cdn_api.cdn_api.XLZamknijDokumentZam(ZS_id, xl_zs_close);XLZamkniecieDokumentuZamInfo_20193 XLClose = new XLZamkniecieDokumentuZamInfo_20193();
Console.WriteLine("Koniec");
}
cdn_api.cdn_api.XLLogout(SesjaID);
Próbowałem też odpalić ApiAutomator (fakt API ma od wersji 2016), ale również nic nie pomogło. Niby wszystko przebiega ok, ale ZS się nie dodaje.