Comarch ERP XL API – dodanie nowego kontrahenta

Na temat Comarch ERP XL API pisałem już wcześniej. Proces instalacji Visual Studio oraz niezbędnej konfiguracji jest opisany w tym artykule. Więc nie będę go tutaj powielał. Zajmę się bezpośrednio przykładem programu, który doda nowego kontrahenta do Comarch ERP XL. Kod programu wygląda następująco, poniżej omówię jego ważne elementy.

using System;
using cdn_api;
namespace XLNowyKontrahent
{
    class APIDodajKontrahenta
    {
        [STAThread]
        static void Main(string[] args)
        {
            XLLoginInfo_20221 Login = new XLLoginInfo_20221();
            Login.Wersja = 20221;
            Login.ProgramID = "API.NET";
            Login.Baza = "TEST";
            Login.OpeIdent = "WHATIT";
            Login.OpeHaslo = "12345678";
            Int32 SesjaID = 0;
            Int32 KontrahentID = 0;
            int LoginResult = cdn_api.cdn_api.XLLogin(Login, ref SesjaID);
            if (LoginResult == 0)
            {
                XLKontrahentInfo_20221 Kontrahent = new XLKontrahentInfo_20221();
                Kontrahent.Wersja = 20221;
                Kontrahent.Akronim = "JanKow";
                Kontrahent.Nazwa1 = "Jan Kowalski";
                Kontrahent.KodP = "99-999";
                Kontrahent.Miasto = "Wąchock";
                Kontrahent.Ulica = "Długa 1";
                int KontrahentResult = cdn_api.cdn_api.XLNowyKontrahent(SesjaID, ref KontrahentID, Kontrahent);
            }
            cdn_api.cdn_api.XLLogout(SesjaID);
        }
    }
}

Namiary na bazę danych Comarch ERP XL, z której ma korzystać nasz program podajemy w parametrach:

Login.Baza = "TEST";
Login.OpeIdent = "WHATIT";
Login.OpeHaslo = "12345678";

Jak pisałem wcześniej, w tym artykule opisane są szczegółowo poszczególne parametry.

Do dodania nowej karty kontrahenta program wymaga tylko dwóch parametrów:

Kontrahent.Wersja = 20221; – Wersja API
Kontrahent.Akronim = "JanKow"; – Akronim Kontrahenta

Jednak ja podam ich więcej:

Kontrahent.Nazwa1 = "Jan Kowalski"; – Nazwa kontrahenta
Kontrahent.KodP = "99-999"; – Kod pocztowy kontrahenta
Kontrahent.Miasto = "Wąchock"; – Miasto kontrahenta
Kontrahent.Ulica = "Długa 1"; – Ulica kontrahenta

Co ciekawe, po rozpoczęciu wpisywania kolejnego parametru, inteli sense podpowie nam, jakie parametry możemy jeszcze przekazać. Ich lista jest na prawdę długa:

Po wypełnieniu wszystkich parametrów i uruchomieniu programu do Comarch ERP XL powinna zostać dodana karta kontrahenta o akronimie „JanKow”:

Na liście parametrów występuje Kontrahent.Tryb jednak nie zauważyłem by można było wymusić tryb interakcyjny, gdzie program kończy się otwarciem formatki karty kontrahenta z możliwością modyfikacji. Niezależnie od ustawienia tego parametru program działa w trybie wsadowym i zamyka dodaną kartę kontrahenta bez żadnej dodatkowej akcji.

Koniec 🙂

Jeżeli pomogłem to Postaw mi kawę na buycoffee.to ,a będę miał więcej energii na pisanie kolejnych ciekawych wpisów.

3 komentarze

  1. Hej. Mam pewien problem dotyczący metody NowyKontrahent. Wersja API 20220. Kod z Twojego poradnika działa. Jednak dziwna sytuacja następuje w momencie gdy próbuję nadać wartość polu NipE. Za każdym razem metoda NowyKontrahent zwraca błąd: „Podano niepoprawny NIP. NIP musi składać się z cyfr i kresek”. W momencie gdy ten sam NIP wpisuję w kreatorze kontrahenta GUI to wszystko działa poprawnie. Próbowałem ustawiać kod NIP z myślnikami w różnych miejscach, ale nic nie zadziałało. Nie mam pojęcia co może być przyczyną tego problemu i jakie jest rozwiązanie :// Czy spotkałeś się z podobną sytuacją i znasz może jakieś magiczne rozwiązanie? Pozdrawiam

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *