API -> tworzenie ZS z pozycjami
: 22 lis 2020, 22:47
Hej,
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#
Dane pobiera ok, sprawdziłem to sobie debugując co pobiera Ilość, TwrNumer oraz CenaSpr. Ale mimo wszystko coś jest nie tak, bo nie dodaje ich do ZS... Może będziecie w stanie wskazać co i jak?:)
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.
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.