API -> tworzenie ZS z pozycjami

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

Moderator: mikey

Lilpri
Posty: 127
Rejestracja: 13 maja 2019, 11:04
Rola: Administrator CDN XL

API -> tworzenie ZS z pozycjami

Post autor: Lilpri »

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#

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);
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.

Awatar użytkownika
wacek
Posty: 709
Rejestracja: 27 paź 2008, 18:04
Rola: Administrator CDN XL
Lokalizacja: Łódzkie

Re: API -> tworzenie ZS z pozycjami

Post autor: wacek »

podaj kod towaru (najlepiej z CDN.TwrKarty) zamiast ZaE_TwrNumer

12 - Nie podano kodu, ani nazwy, ani GID’u towaru
Pozdrawiam,
Robert

select convert(varchar(100),0x637a6173616d69207069737aea2074752067b375706f7479203a29)

Lilpri
Posty: 127
Rejestracja: 13 maja 2019, 11:04
Rola: Administrator CDN XL

Re: API -> tworzenie ZS z pozycjami

Post autor: Lilpri »

Dzięki, faktycznie dając Twr_Kod poszło. Twr_Gidnumer ten sam błąd dawał.

Jeszcze raz dzięki :) Bez dokumentacji i przykładów API tak troszkę po omacku działam, ale jakieś trudne to API to nie jest :)


PS. A kod 13 w wyniku dodawania pozycji co oznacza?

rafalW
Posty: 60
Rejestracja: 15 sty 2012, 14:13
Rola: Inny
Lokalizacja: Puławy

Re: API -> tworzenie ZS z pozycjami

Post autor: rafalW »

13 - Nie udało się pobrać przekazanego towaru

ODPOWIEDZ