Dodaj pliki projektów.
This commit is contained in:
1 parent
1d6a7b0924
commit
da030eff7c
298 files changed
+83623
No files matched your search
@@ -0,0 +1,258 @@
|
||||
'Public Module ImportDM
|
||||
Partial Public Class MainFrm
|
||||
Public GIDTyp, GIDFirma, GIDNumer, GIDLp As Integer 'aktualny dekret
|
||||
Public DecimalGroupSep As String
|
||||
Public DecimalSep As String
|
||||
|
||||
|
||||
Function szukaj_sep(ByVal line As String, ByVal start As Integer, ByVal separator As String) As Integer
|
||||
Dim i As Integer
|
||||
szukaj_sep = -1
|
||||
i = InStr(start, line, separator, CompareMethod.Text)
|
||||
If i > start Then szukaj_sep = i
|
||||
End Function
|
||||
|
||||
Function ToDate(Data As String) As Date
|
||||
Dim dd As Date
|
||||
Dim pos As Integer
|
||||
|
||||
Data = Replace(Data, "/", ".")
|
||||
Data = Replace(Data, "-", ".")
|
||||
pos = szukaj_sep(Data, 1, ".")
|
||||
Dim TestAr() As String = Split(Data, ".", , CompareMethod.Text)
|
||||
If pos = 5 Then 'rrrr.mm.dd
|
||||
dd = DateSerial(TestAr(0), TestAr(1), TestAr(2))
|
||||
Else 'dd.mm.rrrr
|
||||
dd = DateSerial(TestAr(2), TestAr(1), TestAr(0))
|
||||
End If
|
||||
ToDate = dd
|
||||
End Function
|
||||
|
||||
Function XL_Date(Data As Date) As Integer
|
||||
XL_Date = 36161 + CInt(Data.ToOADate())
|
||||
End Function
|
||||
|
||||
Function Liczba(bf As String) As String
|
||||
Dim w As String
|
||||
|
||||
w = Replace(bf, ",", DecimalSep)
|
||||
w = Replace(bf, ".", DecimalSep)
|
||||
Liczba = w
|
||||
End Function
|
||||
|
||||
|
||||
Public Function ZamknijDekret(ByVal CzyZapisac As Boolean) As Boolean
|
||||
Dim ZamknijDekretZbiorczyInfo As New cdn_api.XLDekretZbiorczyInfo_20182
|
||||
Dim ret As Boolean = False
|
||||
|
||||
With ZamknijDekretZbiorczyInfo
|
||||
.Wersja = Wersja
|
||||
.Tryb = 2 'Tryb wystawienia (interakcyjny/wsadowy)
|
||||
.GIDTyp = GIDTyp 'GID dekretu (zwracanego po dodaniu)
|
||||
.GIDFirma = GIDFirma '
|
||||
.GIDNumer = GIDNumer '
|
||||
.GIDLp = 0 '
|
||||
End With
|
||||
XLZamknijDekretZb(ZamknijDekretZbiorczyInfo)
|
||||
If wynikXL = 0 Then
|
||||
ret = True
|
||||
End If
|
||||
If Not CzyZapisac Then
|
||||
Dim KasujDekretInfo As New cdn_api.XLDekretInfo_20182
|
||||
With ZamknijDekretZbiorczyInfo
|
||||
.Wersja = Wersja
|
||||
.Tryb = 2 'Tryb wystawienia (interakcyjny/wsadowy)
|
||||
.GIDTyp = GIDTyp 'GID dekretu (zwracanego po dodaniu)
|
||||
.GIDFirma = GIDFirma '
|
||||
.GIDNumer = GIDNumer '
|
||||
.GIDLp = 0 '
|
||||
End With
|
||||
XLKasujDekretzb(KasujDekretInfo)
|
||||
End If
|
||||
Return (ret)
|
||||
End Function
|
||||
|
||||
Public Function UtworzDekretZbiorczy(ByVal IdentKsieg As String, ByVal Data As Date, ByVal DokData As Date, ByVal DokZrodlowy As String, ByVal Opis As String, ByVal SumaCT As Decimal, ByVal SumaDT As Decimal) As Boolean
|
||||
Dim DekretZbiorczyInfo As New cdn_api.XLDekretZbiorczyInfo_20182
|
||||
|
||||
listuj(CStr(Now) + "-> Dokument: " + IdentKsieg)
|
||||
With DekretZbiorczyInfo
|
||||
.Wersja = Wersja
|
||||
.Tryb = 2 'Tryb wystawienia wsadowy
|
||||
.Data = XL_Date(Data) 'Data dekretu
|
||||
.DataDokumentu = XL_Date(DokData) 'Data dokumentu
|
||||
.KwotaDebet = Str(SumaDT) + Chr(0) 'Kwota sumaryczna winien
|
||||
.KwotaCredit = Str(SumaCT) + Chr(0) 'Kwota sumaryczna ma
|
||||
.NumerDokumentu = DokZrodlowy + Chr(0) 'Numer dokumentu źródłowego
|
||||
.Dziennik = My.Settings.Seria + Chr(0) 'Dziennik księgowań
|
||||
.Bufor = "BUFOR" + Chr(0) 'Bufor księgowań (pusty = KG)
|
||||
.Identyfikator = IdentKsieg 'identyfikator księgowy - numer dokument z Jastrzębia
|
||||
.Opis = Opis + Chr(0) 'Opis dekretu
|
||||
End With
|
||||
XLDodajDekretZb(DekretZbiorczyInfo)
|
||||
If wynikXL = 0 Then
|
||||
GIDFirma = DekretZbiorczyInfo.GIDFirma
|
||||
GIDTyp = DekretZbiorczyInfo.GIDTyp
|
||||
GIDNumer = DekretZbiorczyInfo.GIDNumer
|
||||
GIDLp = DekretZbiorczyInfo.GIDLp
|
||||
Return (True)
|
||||
Else
|
||||
GIDFirma = 0
|
||||
GIDTyp = 0
|
||||
GIDNumer = 0
|
||||
GIDLp = 0
|
||||
Return (False)
|
||||
End If
|
||||
End Function
|
||||
|
||||
Public Function DodajSkladowy(ByVal DZKNumer As Integer) As Boolean
|
||||
Dim DekretSkladowyInfo As New cdn_api.XLDekretInfo_20182
|
||||
Dim ret As Boolean = True
|
||||
Dim i As Integer
|
||||
Dim line As String
|
||||
|
||||
i = 0
|
||||
Try
|
||||
Tamy_ImpDM_Dekr.Fill(DsMain.Tbmy_ImpDM_Dekr, DZKNumer)
|
||||
BsTbmy_ImpDM_Dekr.ResetBindings(False)
|
||||
BsTbmy_ImpDM_Dekr.MoveFirst()
|
||||
While i < BsTbmy_ImpDM_Dekr.Count
|
||||
With DekretSkladowyInfo
|
||||
.Kwota = Str(BsTbmy_ImpDM_Dekr.Current("Kwota")) + Chr(0) 'Kwota pomnożona przez 100
|
||||
.NumerDokumentu = BsTbmy_ImpDM_Dekr.Current("DokZr") + Chr(0) 'Numer dokumentu
|
||||
.KontoDebet = BsTbmy_ImpDM_Dekr.Current("KontoDebet") + Chr(0) 'Numer konta winien (WN)
|
||||
.KontoCredit = BsTbmy_ImpDM_Dekr.Current("KontoCredit") + Chr(0) 'Numer konta ma (MA)
|
||||
.Identyfikator = BsTbmy_ImpDM_Dekr.Current("Identyfikator")
|
||||
.Opis = BsTbmy_ImpDM_Dekr.Current("Opis") + Chr(0) 'Opis dekretu
|
||||
End With
|
||||
line = " Dekret-> " & BsTbmy_ImpDM_Dekr.Current("DokZr")
|
||||
line = line & " - Wn: " & BsTbmy_ImpDM_Dekr.Current("KontoDebet")
|
||||
line = line & ", Ma: " & BsTbmy_ImpDM_Dekr.Current("KontoCredit")
|
||||
line = line & ", kwota: " & Str(BsTbmy_ImpDM_Dekr.Current("Kwota"))
|
||||
listuj(line)
|
||||
XLDodajDekretSkl(DekretSkladowyInfo)
|
||||
If wynikXL <> 0 Then ret = False
|
||||
BsTbmy_ImpDM_Dekr.MoveNext()
|
||||
i += 1
|
||||
End While
|
||||
Catch ex As System.Exception
|
||||
ret = False
|
||||
System.Windows.Forms.MessageBox.Show(ex.Message)
|
||||
End Try
|
||||
|
||||
Return (ret)
|
||||
End Function
|
||||
|
||||
|
||||
Public Function UtworzNote(ByVal NrDokumentu As String, ByVal Data As Date, ByVal DokData As Date, ByVal DokZrodlowy As String, ByVal tresc As String) As Boolean
|
||||
Dim NotaInfo As New cdn_api.XLNotaInfo_20182
|
||||
|
||||
listuj(CStr(Now) + "-> Nota do: " + NrDokumentu)
|
||||
With NotaInfo
|
||||
.GIDTyp = 4145 'nota uproszczona
|
||||
.DataWprow = XL_Date(Data) 'Data dekretu
|
||||
.DataDok = XL_Date(DokData) 'Data dokumentu
|
||||
.DataOper = XL_Date(DokData) 'Data dokumentu
|
||||
.Seria = My.Settings.Seria + Chr(0)
|
||||
.NumerDokumentu = NrDokumentu + Chr(0) 'Numer dokumentu źródłowego
|
||||
.Tresc = tresc + Chr(0) 'treść noty
|
||||
End With
|
||||
XLDodajNoteMem(NotaInfo)
|
||||
If wynikXL = 0 Then
|
||||
GIDFirma = NotaInfo.GIDFirma
|
||||
GIDTyp = NotaInfo.GIDTyp
|
||||
GIDNumer = NotaInfo.GIDNumer
|
||||
GIDLp = NotaInfo.GIDLp
|
||||
Return (True)
|
||||
Else
|
||||
GIDFirma = 0
|
||||
GIDTyp = 0
|
||||
GIDNumer = 0
|
||||
GIDLp = 0
|
||||
Return (False)
|
||||
End If
|
||||
End Function
|
||||
|
||||
Public Function DodajPozycjeNoty(ByVal DZKNumer As Integer, ByVal DataDok As Date, ByVal DataOper As Date, ByVal opis As String) As Boolean
|
||||
Dim NotaPozycjaInfo As New cdn_api.XLPozycjaNotyInfo_20182
|
||||
Dim ret As Boolean = True
|
||||
Dim i, KKS_Wn, KKS_Ma As Integer
|
||||
Dim Rok As Integer
|
||||
Dim sql, line, KontoWn, KontoMa As String
|
||||
|
||||
i = 0
|
||||
Try
|
||||
Tamy_ImpDM_Dekr.Fill(DsMain.Tbmy_ImpDM_Dekr, DZKNumer)
|
||||
BsTbmy_ImpDM_Dekr.ResetBindings(False)
|
||||
BsTbmy_ImpDM_Dekr.MoveFirst()
|
||||
While i < BsTbmy_ImpDM_Dekr.Count
|
||||
KontoWn = BsTbmy_ImpDM_Dekr.Current("KontoDebet")
|
||||
KontoMa = BsTbmy_ImpDM_Dekr.Current("KontoCredit")
|
||||
KKS_Wn = 0
|
||||
KKS_Ma = 0
|
||||
Rok = Year(DataDok)
|
||||
sql = "select KKS_GIDNumer from CDN.Konta where KKS_Rok = " & CStr(Rok) & " and KKS_Konto = '" & KontoWn & "'"
|
||||
line = GetOneVal(sql, DstConn_str)
|
||||
If line > "" Then KKS_Wn = CInt(line)
|
||||
sql = "select KKS_GIDNumer from CDN.Konta where KKS_Rok = " & CStr(Rok) & " and KKS_Konto = '" & KontoMa & "'"
|
||||
line = GetOneVal(sql, DstConn_str)
|
||||
If line > "" Then KKS_Ma = CInt(line)
|
||||
With NotaPozycjaInfo
|
||||
.Kwota = Str(BsTbmy_ImpDM_Dekr.Current("Kwota")) + Chr(0) 'Kwota
|
||||
.NumerDokumentu = BsTbmy_ImpDM_Dekr.Current("DokZr") + Chr(0) 'Numer dokumentu
|
||||
.KKSNumerDT = KKS_Wn
|
||||
.KKSNumerCT = KKS_Ma
|
||||
.Opis = BsTbmy_ImpDM_Dekr.Current("Opis") + Chr(0) 'Opis z pozycji dekretu
|
||||
.DataDok = XL_Date(DataDok)
|
||||
.DataOper = XL_Date(DataDok)
|
||||
End With
|
||||
line = " pozycja -> " & BsTbmy_ImpDM_Dekr.Current("DokZr")
|
||||
line = line & " - Wn: " & KontoWn
|
||||
line = line & ", Ma: " & KontoMa
|
||||
line = line & ", kwota: " & Str(BsTbmy_ImpDM_Dekr.Current("Kwota"))
|
||||
listuj(line)
|
||||
XLDodajPozycjeNotyMem(NotaPozycjaInfo)
|
||||
If wynikXL <> 0 Then ret = False
|
||||
BsTbmy_ImpDM_Dekr.MoveNext()
|
||||
i += 1
|
||||
End While
|
||||
Catch ex As System.Exception
|
||||
ret = False
|
||||
System.Windows.Forms.MessageBox.Show(ex.Message)
|
||||
End Try
|
||||
|
||||
Return (ret)
|
||||
End Function
|
||||
|
||||
Public Function ZamknijNote(ByVal CzyZapisac As Boolean) As Boolean
|
||||
Dim NotaInfo As New cdn_api.XLNotaInfo_20182
|
||||
Dim ret As Boolean = False
|
||||
|
||||
With NotaInfo
|
||||
.Wersja = Wersja
|
||||
.Tryb = 2 'Tryb wystawienia (interakcyjny/wsadowy)
|
||||
.GIDTyp = GIDTyp 'GID dekretu (zwracanego po dodaniu)
|
||||
.GIDFirma = GIDFirma '
|
||||
.GIDNumer = GIDNumer '
|
||||
.GIDLp = 0 '
|
||||
End With
|
||||
XLZamknijNoteMem(NotaInfo)
|
||||
If wynikXL = 0 Then
|
||||
ret = True
|
||||
End If
|
||||
If Not CzyZapisac Then
|
||||
Dim KasNotaInfo As New cdn_api.XLNotaInfo_20182
|
||||
With KasNotaInfo
|
||||
.Wersja = Wersja
|
||||
.Tryb = 2 'Tryb wystawienia (interakcyjny/wsadowy)
|
||||
.GIDTyp = GIDTyp 'GID dekretu (zwracanego po dodaniu)
|
||||
.GIDFirma = GIDFirma '
|
||||
.GIDNumer = GIDNumer '
|
||||
.GIDLp = 0 '
|
||||
End With
|
||||
XLKasujNoteMem(KasNotaInfo)
|
||||
End If
|
||||
Return (ret)
|
||||
End Function
|
||||
|
||||
End Class
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,980 @@
|
||||
Public Module FunkcjeXL
|
||||
Public Const API_VERSION = 20241
|
||||
|
||||
Public Zalogowany As Boolean
|
||||
Public wynikXL As Integer
|
||||
Public Wersja As Integer
|
||||
Dim Ilosc_Bledow As Integer
|
||||
Dim Sesja As Integer
|
||||
Dim IDDokumentu As Integer
|
||||
Public NotaID As Integer
|
||||
Dim Flagi As Integer
|
||||
Dim Komunikat As String
|
||||
|
||||
|
||||
'-------------------------------------------------------
|
||||
' Funkcja XLLogin - W przypadku podania poprawnych parametrów poprzez strukturę XLLoginInfo _
|
||||
' logowanie następuję automatycznie. W przeciwnym przypadku otwiera się okno _
|
||||
' logowania do systemu CDN XL, w którym należy podać poprawne dane. _
|
||||
' Poprzez parametr sesja zwracany jest numer przydzielonej dla programu sesji. _
|
||||
' Numerem tym należy się posługiwać przy wywoływaniu następnych funkcji API.
|
||||
|
||||
Public Function Zaloguj(ByVal Baza As String, ByVal CDNop As String, ByVal Haslo As String, ByVal SerwerKlucza As String) As Boolean
|
||||
Dim LoginInfo As New cdn_api.XLLoginInfo_20241
|
||||
Dim sesja_temp As Int32
|
||||
|
||||
If Zalogowany And Sesja > 0 Then
|
||||
wynikXL = 0
|
||||
Ilosc_Bledow = 0
|
||||
Zaloguj = Zalogowany
|
||||
Exit Function
|
||||
End If
|
||||
Try
|
||||
' listuj(" Logowanie do ERP XL - proszę czekać...", 1)
|
||||
Zalogowany = False
|
||||
Ilosc_Bledow = 0
|
||||
' AttachThread()
|
||||
Wersja = API_VERSION
|
||||
LoginInfo.Wersja = Wersja ' numer wersji API
|
||||
LoginInfo.UtworzWlasnaSesje = 0
|
||||
LoginInfo.Winieta = -1
|
||||
LoginInfo.TrybWsadowy = 1
|
||||
LoginInfo.TrybNaprawy = 1
|
||||
LoginInfo.ProgramID = "Import dok. magazynowych z Jastrzębia" ' nazwa programu korzystającego z XL-API (pojawia się na liście sesji)
|
||||
LoginInfo.Baza = Baza & Chr(0) ' nazwa bazy danych do której ma nastąpić login pobierana
|
||||
' z klucza HKEY_CURRENT_USER oraz HKEY_LOCAL_MACHINE (nazwa rejestracji w managerze baz an tym komputerze, nie rzeczywista nazwa bazy !!)
|
||||
' LoginInfo.OpeIdent = CDNop & Chr(0) ' identyfikator CDNOpera logującego się
|
||||
' LoginInfo.OpeHaslo = Haslo & Chr(0) ' hasło CDNOpera logującego się
|
||||
LoginInfo.PlikLog = ""
|
||||
LoginInfo.SerwerKlucza = SerwerKlucza
|
||||
Sesja = 0
|
||||
sesja_temp = 0
|
||||
wynikXL = 0
|
||||
wynikXL = cdn_api.cdn_api.XLLogin(LoginInfo, sesja_temp)
|
||||
Catch ex As Exception
|
||||
wynikXL = -200
|
||||
Komunikat = "Nie rozpoznany błąd API XLLogin"
|
||||
End Try
|
||||
If wynikXL = 0 Then
|
||||
Sesja = sesja_temp
|
||||
Ilosc_Bledow = 0
|
||||
Zalogowany = True
|
||||
Else
|
||||
Komunikat = "Nieokreślony błąd logowania do XL = " & CStr(wynikXL)
|
||||
Select Case wynikXL
|
||||
Case -9
|
||||
Komunikat = "XLLogin: operator nie jest podpięty do żadnego centrum"
|
||||
Case -8
|
||||
Komunikat = "XLLogin: Nie podano nazwy bazy danych"
|
||||
Case -7
|
||||
Komunikat = "XLLogin: Baza niezarejestrowana w systemie"
|
||||
Case -6
|
||||
Komunikat = "XLLogin: Nie podano hasła lub brak operatora"
|
||||
Case -5
|
||||
Komunikat = "XLLogin: nieprawidłowe hasło"
|
||||
Case -4
|
||||
Komunikat = "XLLogin: konto operatora zablokowane"
|
||||
Case -3
|
||||
Komunikat = "XLLogin: nie podano nazwy programu (pole ProgramID)"
|
||||
Case -2
|
||||
Komunikat = "XLLogin: błąd otwarcia pliku tekstowego, do którego mają być zapisywane komunikaty. Nie znaleziono ścieżki lub nazwa pliku jest nieprawidłowa."
|
||||
Case -1
|
||||
Komunikat = "XLLogin: podano niepoprawną wersję API"
|
||||
Case 1
|
||||
Komunikat = "XLLogin: inicjalizacja nie powiodła się"
|
||||
Case 2
|
||||
Komunikat = "XLLogin: istnieje już jedna instancja programu i nastąpiło ponowne logowanie (z tego samego komputera i na tego samego operatora)"
|
||||
Case 3
|
||||
Komunikat = "XLLogin: istnieje już jedna instancja programu i nastąpiło ponowne logowanie z innego komputera i na tego samego operatora, ale operatora nie posiada prawa do wielokrotnego logowania"
|
||||
Case 5
|
||||
Komunikat = "XLLogin: występuje przy pracy terminalowej w przypadku, gdy operatora nie ma prawa do wielokrotnego logowania i na pytanie czy usunąć istniejące sesje terminalowe wybrano odpowiedź ‘Nie’"
|
||||
Case 61
|
||||
Komunikat = "XLLogin: błąd zakładania nowej sesji"
|
||||
End Select
|
||||
MainFrm.listuj(Komunikat)
|
||||
Zalogowany = False
|
||||
Ilosc_Bledow = Ilosc_Bledow + 1
|
||||
End If
|
||||
System.Threading.Thread.Sleep(200)
|
||||
If Zalogowany Then MainFrm.listuj("Zalogowano")
|
||||
Zaloguj = Zalogowany
|
||||
End Function
|
||||
|
||||
|
||||
'--------------------------------------------------------------------------------------------------
|
||||
'Funkcja XLPolaczenie - podaje ConnectionStgring do bazy danych
|
||||
' Funkcja XLPolaczenie - Funkcja umozliwia identyfikację połączenia do bazy
|
||||
' zwraca nazwę serwera, bazy oraz connect string dla raportowania
|
||||
'--------------------------------------------------------------------------------------------------
|
||||
Public Function Polaczenie() As String
|
||||
Dim PolaczenieInfo As New cdn_api.XLPolaczenieInfo_20241 With
|
||||
{
|
||||
.Wersja = Wersja, ' numer wersji API (20241) ustawiony w funkcji Zaloguj()
|
||||
.NTMode = 0,
|
||||
.Serwer = "" + Chr(0),
|
||||
.Baza = "" + Chr(0),
|
||||
.ConnectString = "" + Chr(0)
|
||||
}
|
||||
wynikXL = 0
|
||||
wynikXL = cdn_api.cdn_api.XLPolaczenie(PolaczenieInfo)
|
||||
If wynikXL >= 0 Then
|
||||
Polaczenie = PolaczenieInfo.ConnectString
|
||||
' Serwer = PolaczenieInfo.Serwer
|
||||
Else
|
||||
Polaczenie = ""
|
||||
Komunikat = "XLPolaczenie: nieaktywna sesja API lub nieprawidłowy numer wersji"
|
||||
End If
|
||||
End Function
|
||||
|
||||
'--------------------------------------------------------------------------------------------------
|
||||
' Funkcja XLLogout - Funkcja ta służy do zamykania sesji otwartej funkcją XLLogin. _
|
||||
' Parametr sesja określa numer sesji, którą chcemy zamknąć _
|
||||
' (numer przydzielany funkcją XLLogin).
|
||||
'--------------------------------------------------------------------------------------------------
|
||||
Public Sub Wyloguj()
|
||||
Dim LogoutInfo As New cdn_api.XLLogoutInfo_20241
|
||||
Dim wynik As Integer
|
||||
|
||||
If Zalogowany Or Sesja > 0 Then
|
||||
LogoutInfo.Wersja = Wersja
|
||||
LogoutInfo.TrybUsuwaniaDok = 0
|
||||
If Sesja > 0 Then
|
||||
Try
|
||||
cdn_api.cdn_api.XLLogoutEx(LogoutInfo, Sesja)
|
||||
Catch ex As Exception
|
||||
wynik = -200
|
||||
Komunikat = "Nie rozpoznany błąd API XLLogout"
|
||||
End Try
|
||||
End If
|
||||
Zalogowany = False
|
||||
Sesja = 0
|
||||
End If
|
||||
End Sub
|
||||
|
||||
'--------------------------------------------------------------------------------------------------
|
||||
' Funkcja XLNowyDokument - Jest to funkcja, która zapoczątkowuje wystawianie dokumentu. _
|
||||
' Nadaje ona nowy numer nagłówka, pobiera kontrahenta, _
|
||||
' wypełnia rekord standardowymi ustawieniami i ustawia go w stan zajętości. _
|
||||
' Wymagane jest użycie w komplecie co najmniej funkcji XLZamknijDokument _
|
||||
' w celu zakończenia dokumentu i zwolnienia jego zajętości (bez wywołania _
|
||||
' tej funkcji wewnętrzna kontrola XL'a spowoduje wycofanie wszelkich zapisów _
|
||||
' do tego dokumentu).
|
||||
'--------------------------------------------------------------------------------------------------
|
||||
Public Sub UtworzNowyDok(DokNagInfo As cdn_api.XLDokumentNagInfo_20241)
|
||||
Dim w, i As Integer
|
||||
|
||||
wynikXL = 0
|
||||
For i = 1 To 200
|
||||
Try
|
||||
wynikXL = cdn_api.cdn_api.XLNowyDokument(Sesja, IDDokumentu, DokNagInfo)
|
||||
Catch ex As Exception
|
||||
wynikXL = -200
|
||||
Komunikat = "Nie rozpoznany błąd API XLNowyDokument"
|
||||
Exit For
|
||||
End Try
|
||||
If wynikXL <> 106 Then Exit For
|
||||
System.Threading.Thread.Sleep(40)
|
||||
Next
|
||||
Flagi = DokNagInfo.Flagi
|
||||
w = OpisBledu(1, wynikXL, Flagi)
|
||||
End Sub
|
||||
|
||||
'--------------------------------------------------------------------------------------------------
|
||||
' Funkcja XLDodajPozycje - Funkcja ta jest odpowiedzialna za dodawanie do dokumentu elementów _
|
||||
' oraz związanych z nim subelementów.
|
||||
'--------------------------------------------------------------------------------------------------
|
||||
Public Sub DodajPozycjeDok(DokEleInfo As cdn_api.XLDokumentElemInfo_20241)
|
||||
Dim w, i As Integer
|
||||
|
||||
wynikXL = 0
|
||||
If IDDokumentu > 0 Then
|
||||
For i = 1 To 200
|
||||
Try
|
||||
wynikXL = cdn_api.cdn_api.XLDodajPozycje(IDDokumentu, DokEleInfo)
|
||||
Catch ex As Exception
|
||||
wynikXL = -200
|
||||
Komunikat = "Nie rozpoznany błąd API XLDodajPozycje"
|
||||
Exit For
|
||||
End Try
|
||||
If wynikXL <> 106 Then Exit For
|
||||
System.Threading.Thread.Sleep(40)
|
||||
Next
|
||||
End If
|
||||
Flagi = DokEleInfo.Flagi
|
||||
If wynikXL <> 17 Then w = OpisBledu(2, wynikXL, Flagi) 'bez drukowania kmunikatu, że zabrakło towaru
|
||||
End Sub
|
||||
|
||||
'--------------------------------------------------------------------------------------------------
|
||||
' Funkcja XLZamknijDokument - Funkcja odpowiada za zakończenie pracy z dokumentem.
|
||||
'--------------------------------------------------------------------------------------------------
|
||||
|
||||
Public Sub ZamknijDokument(ByVal Tryb As Integer, Magazynowe As Integer)
|
||||
Dim ZamkniecieDokumentuInfo As New cdn_api.XLZamkniecieDokumentuInfo_20241
|
||||
Dim w, i As Integer
|
||||
|
||||
Try
|
||||
With ZamkniecieDokumentuInfo
|
||||
.Wersja = Wersja
|
||||
.Tryb = Tryb '-10, 0 - zatwierdz dokument, 1 - do bufora, -3 - zamknięcie otwartego dok., -1 - skasowanie dokumentu, -2 - anulowanie
|
||||
.Magazynowe = Magazynowe 'generowanie dokumentów WM i MMP: 0-wg. konfig., 1-nie generuj, 2-gen. do bufora, 3-gen. zatwierdzone
|
||||
'dla MMW: 0x,1x,2x - WM (bez, bufor, zatw.); x1,x2,x3 - MMP (bez, bufor, zatw.)
|
||||
End With
|
||||
wynikXL = 0
|
||||
If IDDokumentu > 0 Then
|
||||
For i = 1 To 200
|
||||
Try
|
||||
wynikXL = cdn_api.cdn_api.XLZamknijDokument(IDDokumentu, ZamkniecieDokumentuInfo)
|
||||
Catch ex As Exception
|
||||
wynikXL = -200
|
||||
Komunikat = "Nie rozpoznany błąd API XLZamknijDokument"
|
||||
Exit For
|
||||
End Try
|
||||
If wynikXL <> 106 Then Exit For
|
||||
System.Threading.Thread.Sleep(40)
|
||||
Next
|
||||
End If
|
||||
w = OpisBledu(7, wynikXL, 0)
|
||||
Catch ex As Exception
|
||||
wynikXL = -201
|
||||
Komunikat = "Błąd w dostępie do danych w API XLZamknijDokument"
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'--------------------------------------------------------------------------------------------------
|
||||
' Funkcja XLPodajKomunikat - Funkcja rozwiązuje podane numery bledów i ostrzeżeń na stringowy
|
||||
' komunikat, rodzaje trybów: 0-tryb cichy, 1-tylko bledy, 2-bledy i ostrzeżenia
|
||||
'--------------------------------------------------------------------------------------------------
|
||||
|
||||
Public Function OpisBledu(ByVal Funkcja As Integer, ByVal wynik_lokalny As Integer, ByVal Flagi As Integer) As Integer
|
||||
Dim KomunikatInfo As New cdn_api.XLKomunikatInfo_20241
|
||||
Dim Komunikat As String
|
||||
|
||||
OpisBledu = 0
|
||||
If wynik_lokalny < -199 Then
|
||||
MainFrm.listuj("Nie rozpoznany błąd API w funkcji " + CStr(Funkcja))
|
||||
Ilosc_Bledow = Ilosc_Bledow + 1
|
||||
OpisBledu = Ilosc_Bledow
|
||||
ElseIf wynik_lokalny <> 0 And Funkcja < 900 Then
|
||||
KomunikatInfo.Wersja = Wersja
|
||||
KomunikatInfo.Funkcja = Funkcja
|
||||
KomunikatInfo.Blad = wynik_lokalny
|
||||
KomunikatInfo.Ostrzezenie = Flagi
|
||||
KomunikatInfo.Tryb = 0
|
||||
Try
|
||||
cdn_api.cdn_api.XLOpisBledu(KomunikatInfo)
|
||||
Catch ex As Exception
|
||||
wynik_lokalny = -200
|
||||
Komunikat = "Nie rozpoznany błąd API XLOpisBledu"
|
||||
End Try
|
||||
Komunikat = "!------! UWAGA: " + KomunikatInfo.OpisBledu
|
||||
MainFrm.listuj(Komunikat)
|
||||
Ilosc_Bledow = Ilosc_Bledow + 1
|
||||
OpisBledu = Ilosc_Bledow
|
||||
ElseIf wynik_lokalny <> 0 And Funkcja = 999 Then
|
||||
Komunikat = "XLOpisBledu: Nieokreślony błąd API XL"
|
||||
Select Case wynik_lokalny
|
||||
Case 2
|
||||
Komunikat = "XLOpisBledu: UWAGA: ustalono wybór z listy, a brak ustawienia trybu selekcji"
|
||||
Case 3
|
||||
Komunikat = "XLOpisBledu: UWAGA: błąd otwarcia tabeli"
|
||||
Case 4
|
||||
Komunikat = "XLOpisBledu: UWAGA: nie znaleziono rekordu o podanym GIDzie"
|
||||
Case 5
|
||||
Komunikat = "XLOpisBledu: UWAGA: ustalono wybór elementu z listy a brak procedury listy dla takiego typu dokumentu"
|
||||
Case 6
|
||||
Komunikat = "XLOpisBledu: UWAGA: ustalono wybór grupy z listy, a brak procedury listy dla takiego typu dokumentu"
|
||||
Case 7
|
||||
Komunikat = "XLOpisBledu: UWAGA: ustalono podgląd elementów listy, a brak procedury listy dla takiego typu dokumentu"
|
||||
Case 8
|
||||
Komunikat = "XLOpisBledu: UWAGA: nieobsługiwany GIDTyp"
|
||||
Case Else
|
||||
Komunikat = "XLOpisBledu: UWAGA: Nieznany błąd"
|
||||
End Select
|
||||
MainFrm.listuj(Komunikat)
|
||||
Ilosc_Bledow = Ilosc_Bledow + 1
|
||||
OpisBledu = Ilosc_Bledow
|
||||
ElseIf wynik_lokalny <> 0 And Funkcja = 998 Then 'Generuj EAN
|
||||
Komunikat = "Nieokreślony błąd API XL"
|
||||
Select Case wynik_lokalny
|
||||
Case -1
|
||||
Komunikat = "UWAGA: API nie zostało aktywowane bądź błąd wersji"
|
||||
Case 1
|
||||
Komunikat = "UWAGA: Niepoprawny zakres"
|
||||
Case 2
|
||||
Komunikat = "UWAGA: Wystąpił niezidentyfikowany błąd, kod EAN nie został wygenerowany"
|
||||
Case Else
|
||||
Komunikat = "UWAGA: Nieznany błąd"
|
||||
End Select
|
||||
MainFrm.listuj(Komunikat)
|
||||
Ilosc_Bledow = Ilosc_Bledow + 1
|
||||
OpisBledu = Ilosc_Bledow
|
||||
ElseIf wynik_lokalny <> 0 And Funkcja = 997 Then 'DodajAtrybut do obiektu
|
||||
Komunikat = "Nieokreślony błąd API XL"
|
||||
Select Case wynik_lokalny
|
||||
Case -1
|
||||
Komunikat = "UWAGA: brak sesji"
|
||||
Case 2
|
||||
Komunikat = "UWAGA: błąd przy zakładaniu logout"
|
||||
Case 3
|
||||
Komunikat = "UWAGA: nie znaleziono obiektu"
|
||||
Case 4
|
||||
Komunikat = "UWAGA: nie znalezniono klasy atrybutu"
|
||||
Case 5
|
||||
Komunikat = "UWAGA: klasa nieprzypisana do definicji obiektu"
|
||||
Case 6
|
||||
Komunikat = "UWAGA: atrybut juz istnieje w kolejce"
|
||||
Case 7
|
||||
Komunikat = "UWAGA: błąd ADO Connection"
|
||||
Case 8
|
||||
Komunikat = "UWAGA: błąd ADO"
|
||||
Case 9
|
||||
Komunikat = "UWAGA: brak zdefiniowanego obiektu"
|
||||
Case Else
|
||||
Komunikat = "UWAGA: Nieznany błąd"
|
||||
End Select
|
||||
MainFrm.listuj(Komunikat)
|
||||
Ilosc_Bledow = Ilosc_Bledow + 1
|
||||
OpisBledu = Ilosc_Bledow
|
||||
ElseIf wynik_lokalny <> 0 And Funkcja = 996 Then 'Dodaj Partię
|
||||
Komunikat = "Nieokreślony błąd API XL"
|
||||
Select Case wynik_lokalny
|
||||
Case -1
|
||||
Komunikat = "UWAGA: API nie zostało aktywowane bądź błąd wersji"
|
||||
Case 2
|
||||
Komunikat = "UWAGA: Wystąpił błąd przy próbie zablokowania tabel dla wykonania transakcji"
|
||||
Case 11
|
||||
Komunikat = "UWAGA: nie znaleziono towaru"
|
||||
Case 12
|
||||
Komunikat = "UWAGA: Nie podano towaru"
|
||||
Case 106
|
||||
Komunikat = "UWAGA: Wystąpił błąd DeadLock"
|
||||
Case 160
|
||||
Komunikat = "UWAGA: Nie znaleziono podanej dostawy"
|
||||
Case 178
|
||||
Komunikat = "UWAGA: Partia o takich parametrach nie istnieje"
|
||||
Case 210
|
||||
Komunikat = "UWAGA: Nie znaleziono podanego identyfikatora partii"
|
||||
Case Else
|
||||
Komunikat = "UWAGA: Nieznany błąd"
|
||||
End Select
|
||||
MainFrm.listuj(Komunikat)
|
||||
Ilosc_Bledow = Ilosc_Bledow + 1
|
||||
OpisBledu = Ilosc_Bledow
|
||||
ElseIf wynik_lokalny <> 0 And Funkcja = 995 Then 'Dokumenty związane
|
||||
Komunikat = "Nieokreślony błąd API XL"
|
||||
Select Case wynik_lokalny
|
||||
Case -1
|
||||
Komunikat = "UWAGA: API nie zostało aktywowane bądź błąd wersji"
|
||||
Case 1
|
||||
Komunikat = "UWAGA: taki dokument jest już na liście (błąd zwracany przy akcji dodawania)"
|
||||
Case 30
|
||||
Komunikat = "UWAGA: nie znaleziono dokumentu na liście"
|
||||
Case Else
|
||||
Komunikat = "UWAGA: Nieznany błąd"
|
||||
End Select
|
||||
MainFrm.listuj(Komunikat)
|
||||
Ilosc_Bledow = Ilosc_Bledow + 1
|
||||
OpisBledu = Ilosc_Bledow
|
||||
ElseIf wynik_lokalny <> 0 And Funkcja = 994 Then 'Dodaj Dekret zbiorczy
|
||||
Komunikat = "Nieokreślony błąd API XL"
|
||||
Select Case wynik_lokalny
|
||||
Case -1
|
||||
Komunikat = "BŁĄD: API nie zostało aktywowane bądź błąd wersji"
|
||||
Case 101
|
||||
Komunikat = "BŁĄD: Niepoprawny dziennik księgowań"
|
||||
Case 102
|
||||
Komunikat = "BŁĄD: Niepoprawny bufor księgowań"
|
||||
Case 103
|
||||
Komunikat = "BŁĄD: Kwota = 0"
|
||||
Case 104
|
||||
Komunikat = "BŁĄD: Brak opisu"
|
||||
Case 105
|
||||
Komunikat = "BŁĄD: Dodawanie dekretu składowego bez otwarcia dekretu zbiorczego"
|
||||
Case 1002
|
||||
Komunikat = "BŁĄD: Otwarty poprzedni dekret lub zamknięty modyfikowany dekret"
|
||||
Case 1031
|
||||
Komunikat = "BŁĄD: Uruchomienie tej operacji nie jest możliwe ze względu na brak dostępu do modułu, problem z połączeniem lub niezgodność danych w kluczu ze stanem faktycznym."
|
||||
Case 8001
|
||||
Komunikat = "BŁĄD: Niepoprawne konto księgowań"
|
||||
Case 8005
|
||||
Komunikat = "BŁĄD: Bieżący okres obrachunkowy jest zamknięty do x.
|
||||
Próbujesz księgować lub kasować księgowanie z datą y."
|
||||
Case 8006
|
||||
Komunikat = "BŁĄD: Data nie mieści się w żadnym z zadeklarowanych okresów obrachunkowych. Załóż okres i powtórz operację"
|
||||
Case 8008
|
||||
Komunikat = "BŁĄD: Zła data . Załóż nowy dekret księgowy. Błąd ten wyświetla się zawsze kiedy data nie mieści się w okresie obrachunkowym"
|
||||
Case 8046
|
||||
Komunikat = "BŁĄD: Nie można księgować na to samo konto"
|
||||
Case 8190
|
||||
Komunikat = "BŁĄD: Dokonywanie zapisu księgowego bez podania żadnego z kont"
|
||||
Case Else
|
||||
Komunikat = "UWAGA: Nieznany błąd"
|
||||
End Select
|
||||
MainFrm.listuj(Komunikat)
|
||||
Ilosc_Bledow = Ilosc_Bledow + 1
|
||||
OpisBledu = Ilosc_Bledow
|
||||
ElseIf wynik_lokalny <> 0 And Funkcja = 993 Then 'Dodaj dekret składowy
|
||||
Komunikat = "Nieokreślony błąd API XL"
|
||||
Select Case wynik_lokalny
|
||||
Case -1
|
||||
Komunikat = "BŁĄD: API nie zostało aktywowane bądź błąd wersji"
|
||||
Case 101
|
||||
Komunikat = "BŁĄD: Niepoprawny dziennik księgowań"
|
||||
Case 102
|
||||
Komunikat = "BŁĄD: Niepoprawny bufor księgowań"
|
||||
Case 103
|
||||
Komunikat = "BŁĄD: Kwota = 0"
|
||||
Case 104
|
||||
Komunikat = "BŁĄD: Brak opisu"
|
||||
Case 105
|
||||
Komunikat = "BŁĄD: Dodawanie dekretu składowego bez otwarcia dekretu zbiorczego"
|
||||
Case 1002
|
||||
Komunikat = "BŁĄD: Otwarty poprzedni dekret lub zamknięty modyfikowany dekret"
|
||||
Case 8001
|
||||
Komunikat = "BŁĄD: Niepoprawne konto księgowań"
|
||||
Case 8003
|
||||
Komunikat = "BŁĄD: Konto posiada analitykę"
|
||||
Case 8006
|
||||
Komunikat = "BŁĄD: Data nie mieści się w żadnym z zadeklarowanych okresów obrachunkowych. Załóż okres i powtórz operację"
|
||||
Case 8008
|
||||
Komunikat = "BŁĄD: Zła data . Załóż nowy dekret księgowy. Błąd ten wyświetla się zawsze kiedy data nie mieści się w okresie obrachunkowym"
|
||||
Case 8046
|
||||
Komunikat = "BŁĄD: Nie można księgować na to samo konto"
|
||||
Case 8190
|
||||
Komunikat = "BŁĄD: Dokonywanie zapisu księgowego bez podania żadnego z kont"
|
||||
Case Else
|
||||
Komunikat = "UWAGA: Nieznany błąd"
|
||||
End Select
|
||||
MainFrm.listuj(Komunikat)
|
||||
Ilosc_Bledow = Ilosc_Bledow + 1
|
||||
OpisBledu = Ilosc_Bledow
|
||||
ElseIf wynik_lokalny <> 0 And Funkcja = 992 Then 'Zamknij dekret zbiorczy, sumuj dekret zbiorczy
|
||||
Komunikat = "Nieokreślony błąd API XL"
|
||||
Select Case wynik_lokalny
|
||||
Case -1
|
||||
Komunikat = "BŁĄD: API nie zostało aktywowane bądź błąd wersji"
|
||||
Case 101
|
||||
Komunikat = "BŁĄD: Niepoprawny dziennik księgowań"
|
||||
Case 102
|
||||
Komunikat = "BŁĄD: Niepoprawny bufor księgowań"
|
||||
Case 103
|
||||
Komunikat = "BŁĄD: Kwota = 0"
|
||||
Case 104
|
||||
Komunikat = "BŁĄD: Brak opisu"
|
||||
Case 105
|
||||
Komunikat = "BŁĄD: Dodawanie dekretu składowego bez otwarcia dekretu zbiorczego"
|
||||
Case 8001
|
||||
Komunikat = "BŁĄD: Niepoprawne konto księgowań"
|
||||
Case 8006
|
||||
Komunikat = "BŁĄD: Data nie mieści się w żadnym z zadeklarowanych okresów obrachunkowych. Załóż okres i powtórz operację"
|
||||
Case 8008
|
||||
Komunikat = "BŁĄD: Zła data . Załóż nowy dekret księgowy. Błąd ten wyświetla się zawsze kiedy data nie mieści się w okresie obrachunkowym"
|
||||
Case 8046
|
||||
Komunikat = "BŁĄD: Nie można księgować na to samo konto"
|
||||
Case 8190
|
||||
Komunikat = "BŁĄD: Dokonywanie zapisu księgowego bez podania żadnego z kont"
|
||||
Case Else
|
||||
Komunikat = "UWAGA: Nieznany błąd"
|
||||
End Select
|
||||
MainFrm.listuj(Komunikat)
|
||||
Ilosc_Bledow = Ilosc_Bledow + 1
|
||||
OpisBledu = Ilosc_Bledow
|
||||
ElseIf wynik_lokalny <> 0 And Funkcja = 990 Then 'Dodaj dekret pojedynczy
|
||||
Komunikat = "Nieokreślony błąd API XL"
|
||||
Select Case wynik_lokalny
|
||||
Case -1
|
||||
Komunikat = "BŁĄD: API nie zostało aktywowane bądź błąd wersji"
|
||||
Case 101
|
||||
Komunikat = "BŁĄD: Niepoprawny dziennik księgowań"
|
||||
Case 102
|
||||
Komunikat = "BŁĄD: Niepoprawny bufor księgowań"
|
||||
Case 103
|
||||
Komunikat = "BŁĄD: Kwota = 0"
|
||||
Case 104
|
||||
Komunikat = "BŁĄD: Brak opisu"
|
||||
Case 105
|
||||
Komunikat = "BŁĄD: Dodawanie dekretu składowego bez otwarcia dekretu zbiorczego"
|
||||
Case 1002
|
||||
Komunikat = "BŁĄD: Otwarty poprzedni dekret lub zamknięty modyfikowany dekret"
|
||||
Case 8001
|
||||
Komunikat = "BŁĄD: Niepoprawne konto księgowań"
|
||||
Case 8003
|
||||
Komunikat = "BŁĄD: Konto posiada analitykę"
|
||||
Case 8006
|
||||
Komunikat = "BŁĄD: Data nie mieści się w żadnym z zadeklarowanych okresów obrachunkowych. Załóż okres i powtórz operację"
|
||||
Case 8008
|
||||
Komunikat = "BŁĄD: Zła data . Załóż nowy dekret księgowy. Błąd ten wyświetla się zawsze kiedy data nie mieści się w okresie obrachunkowym"
|
||||
Case 8046
|
||||
Komunikat = "BŁĄD: Nie można księgować na to samo konto"
|
||||
Case 8190
|
||||
Komunikat = "BŁĄD: Dokonywanie zapisu księgowego bez podania żadnego z kont"
|
||||
Case Else
|
||||
Komunikat = "BŁĄD: Nieznany błąd"
|
||||
End Select
|
||||
MainFrm.listuj(Komunikat)
|
||||
Ilosc_Bledow = Ilosc_Bledow + 1
|
||||
OpisBledu = Ilosc_Bledow
|
||||
ElseIf wynik_lokalny <> 0 And Funkcja = 989 Then 'Dodaj uproszczoną notę memoriałową
|
||||
Komunikat = "Nieokreślony błąd API XL"
|
||||
Select Case wynik_lokalny
|
||||
Case -3
|
||||
Komunikat = "BŁĄD: brak GIDTypu noty"
|
||||
Case -2
|
||||
Komunikat = "BŁĄD: błąd zakładania transakcji"
|
||||
Case -1
|
||||
Komunikat = "BŁĄD: niewłaściwy parametr SesjaID"
|
||||
Case 1
|
||||
Komunikat = "BŁĄD: błąd dodawania/aktualizacji/kasowania nagłówka;"
|
||||
Case 2
|
||||
Komunikat = "BŁĄD: błędny numer noty (XLNotaInfo.Numer już istnieje w ramach serii/miesiąca);"
|
||||
Case 3
|
||||
Komunikat = "BŁĄD: brak definicji noty"
|
||||
Case 4
|
||||
Komunikat = "BŁĄD: brak podmiotu (kontrahenta lub pracownika);"
|
||||
Case 5
|
||||
Komunikat = "BŁĄD: Nie znaleziono podanej waluty"
|
||||
Case 6
|
||||
Komunikat = "BŁĄD: brak płatnika"
|
||||
Case 7
|
||||
Komunikat = "BŁĄD: nota nie posiada treści"
|
||||
Case 8
|
||||
Komunikat = "BŁĄD: brak praw do używania tego modułu"
|
||||
Case 9
|
||||
Komunikat = "BŁĄD: seria nie istnieje w systemie"
|
||||
Case 8001
|
||||
Komunikat = "BŁĄD: Niepoprawne konto księgowań lub konto nie znajduje się w bieżącym okresie"
|
||||
Case 8046
|
||||
Komunikat = "BŁĄD: Nie można księgować na to samo konto lub oba konta puste"
|
||||
Case 8047
|
||||
Komunikat = "BŁĄD: po obu stronach pozycji noty konta rozrachunkowe"
|
||||
Case Else
|
||||
Komunikat = "BŁĄD: Nieznany błąd"
|
||||
End Select
|
||||
MainFrm.listuj(Komunikat)
|
||||
Ilosc_Bledow = Ilosc_Bledow + 1
|
||||
OpisBledu = Ilosc_Bledow
|
||||
ElseIf wynik_lokalny <> 0 And Funkcja = 988 Then 'Dodaj pozycję noty
|
||||
Komunikat = "Nieokreślony błąd API XL"
|
||||
Select Case wynik_lokalny
|
||||
Case -2
|
||||
Komunikat = "BŁĄD: błąd zakładania transakcji"
|
||||
Case -1
|
||||
Komunikat = "BŁĄD: niewłaściwy parametr SesjaID"
|
||||
Case 3
|
||||
Komunikat = "BŁĄD: brak definicji noty"
|
||||
Case 5
|
||||
Komunikat = "BŁĄD: brak noty o podanym ID"
|
||||
Case 7
|
||||
Komunikat = "BŁĄD: pozycja noty nie posiada opisu"
|
||||
Case 8
|
||||
Komunikat = "BŁĄD: brak symbolu kwoty"
|
||||
Case 9
|
||||
Komunikat = "BŁĄD: błąd dodawania pozycji noty"
|
||||
Case 10
|
||||
Komunikat = "BŁĄD: błąd synchronizacji konta walutowego"
|
||||
Case 8001
|
||||
Komunikat = "BŁĄD: Niepoprawne konto księgowań lub konto nie znajduje się w bieżącym okresie"
|
||||
Case 8046
|
||||
Komunikat = "BŁĄD: Nie można księgować na to samo konto lub oba konta puste"
|
||||
Case 8047
|
||||
Komunikat = "BŁĄD: z uwagi na płatności, wygenerowanie noty nie jest możliwe. W ramach zapisu wprowadzono dekrety dwustronne, zawierające po obydwu stronach konta rozrachunkowe"
|
||||
Case Else
|
||||
Komunikat = "BŁĄD: Nieznany błąd"
|
||||
End Select
|
||||
MainFrm.listuj(Komunikat)
|
||||
Ilosc_Bledow = Ilosc_Bledow + 1
|
||||
OpisBledu = Ilosc_Bledow
|
||||
ElseIf wynik_lokalny <> 0 And Funkcja = 987 Then 'Zamknij notę
|
||||
Komunikat = "Nieokreślony błąd API XL"
|
||||
Select Case wynik_lokalny
|
||||
Case -2
|
||||
Komunikat = "BŁĄD: błąd zakładania transakcji"
|
||||
Case -1
|
||||
Komunikat = "BŁĄD: niewłaściwy parametr SesjaID"
|
||||
Case 1
|
||||
Komunikat = "BŁĄD: błąd dodawania/aktualizacji/kasowania nagłówka"
|
||||
Case 2
|
||||
Komunikat = "BŁĄD: błędny numer noty (XLNotaInfo.Numer już istnieje w ramach serii/miesiąca);"
|
||||
Case 3
|
||||
Komunikat = "BŁĄD: brak definicji noty"
|
||||
Case 5
|
||||
Komunikat = "BŁĄD: brak noty o podanym ID"
|
||||
Case 6
|
||||
Komunikat = "BŁĄD: nota niezgodna z definicją (przychodowa/rozchodowa, podmiot);"
|
||||
Case 7
|
||||
Komunikat = "BŁĄD: nie udało się wygenerowanie płatności;"
|
||||
Case Else
|
||||
Komunikat = "BŁĄD: Nieznany błąd"
|
||||
End Select
|
||||
MainFrm.listuj(Komunikat)
|
||||
Ilosc_Bledow = Ilosc_Bledow + 1
|
||||
OpisBledu = Ilosc_Bledow
|
||||
ElseIf wynik_lokalny <> 0 And Funkcja = 986 Then 'kasuj notę
|
||||
Komunikat = "Nieokreślony błąd API XL"
|
||||
Select Case wynik_lokalny
|
||||
Case -2
|
||||
Komunikat = "BŁĄD: błąd zakładania transakcji"
|
||||
Case -1
|
||||
Komunikat = "BŁĄD: niewłaściwy parametr SesjaID"
|
||||
Case 1
|
||||
Komunikat = "BŁĄD: błąd dodawania/aktualizacji/kasowania nagłówka"
|
||||
Case 5
|
||||
Komunikat = "BŁĄD: brak noty o podanym ID"
|
||||
Case Else
|
||||
Komunikat = "BŁĄD: Nieznany błąd"
|
||||
End Select
|
||||
MainFrm.listuj(Komunikat)
|
||||
Ilosc_Bledow = Ilosc_Bledow + 1
|
||||
OpisBledu = Ilosc_Bledow
|
||||
End If
|
||||
End Function
|
||||
|
||||
|
||||
'--------------------------------------------------------------------------------------------------
|
||||
' Funkcja XLPobierzNumerDokumentu rozwiązuje GID na sformatowany numer dokumentu
|
||||
'--------------------------------------------------------------------------------------------------
|
||||
|
||||
Public Function NumerDokumentu(ByVal GIDTyp As Integer, ByVal GIDFirma As Integer, ByVal GIDNumer As Integer, ByVal GIDLp As Integer) As String
|
||||
Dim NumerDokumentuInfo As New cdn_api.XLNumerDokumentuInfo_20241
|
||||
Dim nrd As String
|
||||
|
||||
NumerDokumentuInfo.Wersja = Wersja
|
||||
NumerDokumentuInfo.GIDTyp = GIDTyp
|
||||
NumerDokumentuInfo.GIDFirma = GIDFirma
|
||||
NumerDokumentuInfo.GIDNumer = GIDNumer
|
||||
NumerDokumentuInfo.GIDLp = GIDLp
|
||||
|
||||
Try
|
||||
wynikXL = cdn_api.cdn_api.XLPobierzNumerDokumentu(NumerDokumentuInfo)
|
||||
Catch ex As Exception
|
||||
wynikXL = -200
|
||||
Komunikat = "Nie rozpoznany błąd API XLPobierzNumerDokumentu"
|
||||
End Try
|
||||
NumerDokumentu = ""
|
||||
nrd = ""
|
||||
If wynikXL = 0 Then
|
||||
nrd = NumerDokumentuInfo.NumerDokumentu
|
||||
Else
|
||||
If wynikXL = -1 Then
|
||||
Komunikat = "XLPobierzNumerDokumentu: nieaktywna sesja API lub nieprawidłowy numer wersji"
|
||||
ElseIf wynikXL = 1 Then
|
||||
Komunikat = "XLPobierzNumerDokumentu: nie znaleziono dokumentu"
|
||||
ElseIf wynikXL = 2 Then
|
||||
Komunikat = "XLPobierzNumerDokumentu: podano nieobsługiwany GIDTyp"
|
||||
End If
|
||||
MainFrm.listuj(Komunikat)
|
||||
End If
|
||||
NumerDokumentu = RTrim(nrd)
|
||||
End Function
|
||||
|
||||
'--------------------------------------------------------------------------------------------------
|
||||
|
||||
Public Function XLSprawdzLicencje() As Boolean
|
||||
Dim LicencjaInfo As New cdn_api.XLLicencjaInfo_20241 With
|
||||
{
|
||||
.Wersja = Wersja,
|
||||
.Licencja = 1,
|
||||
.Odswiez = 1,
|
||||
.Stan = 0
|
||||
}
|
||||
|
||||
wynikXL = 0
|
||||
XLSprawdzLicencje = False
|
||||
Try
|
||||
wynikXL = cdn_api.cdn_api.XLSprawdzLicencje(LicencjaInfo)
|
||||
Catch ex As Exception
|
||||
wynikXL = -200
|
||||
Komunikat = "Nie rozpoznany błąd API XLSprawdzLicencje"
|
||||
End Try
|
||||
If LicencjaInfo.Stan = 1 Then
|
||||
XLSprawdzLicencje = True
|
||||
Else
|
||||
Komunikat = "Błąd API XLSprawdzLicencje = " & CStr(wynikXL)
|
||||
If wynikXL = 0 Then
|
||||
Select Case LicencjaInfo.Stan
|
||||
Case 0
|
||||
Komunikat = "XLSprawdzLicencje: nie pobrano licencji"
|
||||
Case 2
|
||||
Komunikat = "XLSprawdzLicencje: nie pobrano licencji - błąd pobrania licencji bądź ilość licencji wyczerpana"
|
||||
Case 3
|
||||
Komunikat = "XLSprawdzLicencje: licencja przeterminowana"
|
||||
Case 4
|
||||
Komunikat = "XLSprawdzLicencje: licencja promocyjna"
|
||||
End Select
|
||||
ElseIf wynikXL = -1 Then
|
||||
Komunikat = "XLSprawdzLicencje: Sesja API nieaktywna lub nieprawidłowy numer"
|
||||
ElseIf wynikXL = 1 Then
|
||||
Komunikat = "XLSprawdzLicencje: błąd klucza sprzętowego"
|
||||
End If
|
||||
MainFrm.listuj(Komunikat)
|
||||
End If
|
||||
End Function
|
||||
|
||||
|
||||
'-------------------------------------------------------------------------------------
|
||||
' Funkcja XLDodajDekretPojedynczy - Funkcja dodaje jeden dekret pojedynczy - bez nagłówka
|
||||
|
||||
Sub XLDodajDekretPoj()
|
||||
Dim DekretInfo As New cdn_api.XLDekretInfo_20241
|
||||
Dim w As Integer
|
||||
|
||||
With DekretInfo
|
||||
.Wersja = Wersja
|
||||
'.Tryb = Range("b6").Value 'Tryb wystawienia (interakcyjny/wsadowy)
|
||||
'.GIDTyp = Range("b7").Value 'GID dekretu (zwracanego po dodaniu)
|
||||
'.GIDFirma = Range("b8").Value '
|
||||
'.GIDNumer = Range("b9").Value '
|
||||
'.GIDLp = Range("b10").Value '
|
||||
'.Data = Range("b11").Value 'Data dekretu
|
||||
'.DataDokumentu = Range("b12").Value 'Data dokumentu
|
||||
'.Kwota = Str(Range("b13").Value) 'Kwota pomnożona przez 100
|
||||
'.KwotaWalDT = Str(Range("b14").Value) 'Kwota winien w walucie pomnożona przez 100
|
||||
'.KwotaWalCT = Str(Range("b15").Value) 'Kwota ma w walucie pomnożona przez 100
|
||||
'.NumerDokumentu = Range("b16").Value + Chr(0) 'Numer dokumentu
|
||||
'.Dziennik = Range("b17").Value + Chr(0) 'Dziennik księgowań
|
||||
'.Bufor = Range("b18").Value + Chr(0) 'Bufor księgowań (pusty = KG)
|
||||
'.KontoDebet = Range("b19").Value + Chr(0) 'Numer konta winien (WN)
|
||||
'.KontoCredit = Range("b20").Value + Chr(0) 'Numer konta ma (MA)
|
||||
'.KontoWalDT = Range("b21").Value + Chr(0)
|
||||
'.KontoWalCT = Range("b22").Value + Chr(0)
|
||||
'.Identyfikator = Range("b23").Value
|
||||
'.Opis = Range("b24").Value + Chr(0) 'Opis dekretu
|
||||
End With
|
||||
wynikXL = 0
|
||||
Try
|
||||
wynikXL = cdn_api.cdn_api.XLDodajDekretPojedynczy(Sesja, DekretInfo)
|
||||
Catch ex As Exception
|
||||
wynikXL = -200
|
||||
Komunikat = "Nie rozpoznany błąd API XLDodajDekretPojedynczy"
|
||||
End Try
|
||||
w = OpisBledu(990, wynikXL, 0)
|
||||
End Sub
|
||||
|
||||
|
||||
'-------------------------------------------------------------------------------------
|
||||
' Funkcja XLDodajDekretZbiorczy - Funkcja dodaje nagłówek dekretu zbiorczego
|
||||
|
||||
Sub XLDodajDekretZb(DekretZbiorczyInfo As cdn_api.XLDekretZbiorczyInfo_20241)
|
||||
Dim w As Integer
|
||||
|
||||
With DekretZbiorczyInfo
|
||||
.Wersja = Wersja
|
||||
.Tryb = 2 'Tryb wystawienia wsadowy
|
||||
End With
|
||||
|
||||
wynikXL = 0
|
||||
Try
|
||||
wynikXL = cdn_api.cdn_api.XLDodajDekretZbiorczy(Sesja, DekretZbiorczyInfo)
|
||||
Catch ex As Exception
|
||||
wynikXL = -200
|
||||
Komunikat = "Nie rozpoznany błąd API XLDodajDekretZbiorczy"
|
||||
End Try
|
||||
w = OpisBledu(994, wynikXL, 0)
|
||||
End Sub
|
||||
|
||||
|
||||
'-------------------------------------------------------------------------------------
|
||||
' Funkcja XLDodajDekretSkladowy - Funkcja dodaje jeden dekret składowy w otwartym dekrecie zbiorczym
|
||||
|
||||
Sub XLDodajDekretSkl(DekretSkladowyInfo As cdn_api.XLDekretInfo_20241)
|
||||
Dim w As Integer
|
||||
|
||||
With DekretSkladowyInfo
|
||||
.Wersja = Wersja
|
||||
.Tryb = 2 'Tryb wystawienia wsadowy
|
||||
End With
|
||||
|
||||
wynikXL = 0
|
||||
Try
|
||||
wynikXL = cdn_api.cdn_api.XLDodajDekretSkladowy(Sesja, DekretSkladowyInfo)
|
||||
Catch ex As Exception
|
||||
wynikXL = -200
|
||||
Komunikat = "Nie rozpoznany błąd API XLDodajDekretSkładowy"
|
||||
End Try
|
||||
w = OpisBledu(993, wynikXL, 0)
|
||||
End Sub
|
||||
|
||||
|
||||
'-------------------------------------------------------------------------------------
|
||||
' Funkcja XLZamknijDekretZbiorczy - Funkcja zamyka dekret zbiorczy
|
||||
|
||||
Sub XLZamknijDekretZb(ZamknijDekretZbiorczyInfo As cdn_api.XLDekretZbiorczyInfo_20241)
|
||||
Dim w As Integer
|
||||
|
||||
With ZamknijDekretZbiorczyInfo
|
||||
.Wersja = Wersja
|
||||
.Tryb = 2 'Tryb wystawienia wsadowy
|
||||
End With
|
||||
|
||||
wynikXL = 0
|
||||
Try
|
||||
wynikXL = cdn_api.cdn_api.XLZamknijDekretZbiorczy(Sesja, ZamknijDekretZbiorczyInfo)
|
||||
Catch ex As Exception
|
||||
wynikXL = -200
|
||||
Komunikat = "Nie rozpoznany błąd API XLZamknijDekretZbiorczy"
|
||||
End Try
|
||||
w = OpisBledu(992, wynikXL, 0)
|
||||
End Sub
|
||||
|
||||
'-------------------------------------------------------------------------------------
|
||||
' Funkcja XLSumujDekret - Funkcja podaje sumę dekretu zbiorczego
|
||||
|
||||
Sub XLSumujDekretZb(SumujDekretZbiorczyInfo As cdn_api.XLDekretZbiorczyInfo_20241)
|
||||
Dim w As Integer
|
||||
|
||||
With SumujDekretZbiorczyInfo
|
||||
.Wersja = Wersja
|
||||
.Tryb = 2 'Tryb wystawienia (interakcyjny/wsadowy)
|
||||
'.GIDTyp = Range("n7").Value 'GID dekretu (zwracanego po dodaniu)
|
||||
'.GIDFirma = Range("n8").Value '
|
||||
'.GIDNumer = Range("n9").Value '
|
||||
'.GIDLp = Range("n10").Value '
|
||||
'.Data = Range("n11").Value 'Data dekretu
|
||||
'.DataDokumentu = Range("n12").Value 'Data dokumentu
|
||||
'.KwotaDebet = Str(Range("n13").Value) + Chr(0) 'Kwota sumaryczna winien pomnożona przez 100
|
||||
'.KwotaCredit = Str(Range("n14").Value) + Chr(0) 'Kwota sumaryczna ma pomnożona przez 100
|
||||
'.NumerDokumentu = Range("n15").Value + Chr(0) 'Numer dokumentu
|
||||
'.Dziennik = Range("n16").Value + Chr(0) 'Dziennik księgowań
|
||||
'.Bufor = Range("n17").Value + Chr(0) 'Bufor księgowań (pusty = KG)
|
||||
'.Identyfikator = Range("n18").Value
|
||||
'.Opis = Range("n19").Value + Chr(0) 'Opis dekretu
|
||||
End With
|
||||
|
||||
wynikXL = 0
|
||||
Try
|
||||
wynikXL = cdn_api.cdn_api.XLSumujDekretZbiorczy(Sesja, SumujDekretZbiorczyInfo)
|
||||
Catch ex As Exception
|
||||
wynikXL = -200
|
||||
Komunikat = "Nie rozpoznany błąd API XLSumujDekretZbiorczy"
|
||||
End Try
|
||||
w = OpisBledu(992, wynikXL, 0)
|
||||
End Sub
|
||||
|
||||
'-------------------------------------------------------------------------------------
|
||||
' Funkcja XLKasujDekret - Funkcja kasuje dekret
|
||||
|
||||
Sub XLKasujDekretzb(KasujDekretInfo As cdn_api.XLDekretInfo_20241)
|
||||
Dim w As Integer
|
||||
|
||||
With KasujDekretInfo
|
||||
.Wersja = Wersja
|
||||
.Tryb = 2 'Tryb wystawienia (interakcyjny/wsadowy)
|
||||
End With
|
||||
|
||||
wynikXL = 0
|
||||
Try
|
||||
wynikXL = cdn_api.cdn_api.XLKasujDekret(Sesja, KasujDekretInfo)
|
||||
Catch ex As Exception
|
||||
wynikXL = -200
|
||||
Komunikat = "Nie rozpoznany błąd API XLKasujDekret"
|
||||
End Try
|
||||
w = OpisBledu(992, wynikXL, 0)
|
||||
End Sub
|
||||
|
||||
'--------------------------------------------------------------------------------------------------
|
||||
' Funkcja XLDodajNote
|
||||
|
||||
Sub XLDodajNoteMem(NotaInfo As cdn_api.XLNotaInfo_20241)
|
||||
Dim w, IDNoty As Integer
|
||||
|
||||
NotaID = 0
|
||||
With NotaInfo
|
||||
.Wersja = Wersja
|
||||
.Tryb = 2
|
||||
.GIDTyp = 4145 'nota uproszczona
|
||||
'.DataWprow = Range("b24").Value
|
||||
'.DataDok = Range("b25").Value
|
||||
'.DataOper = Range("b26").Value
|
||||
'.Seria = Range("b32").Value + Chr(0)
|
||||
'.NumerDokumentu = Range("b33").Value + Chr(0)
|
||||
'.Tresc = Range("b34").Value + Chr(0)
|
||||
End With
|
||||
|
||||
wynikXL = 0
|
||||
Try
|
||||
wynikXL = cdn_api.cdn_api.XLDodajNote(Sesja, IDNoty, NotaInfo)
|
||||
NotaID = IDNoty
|
||||
Catch ex As Exception
|
||||
wynikXL = -200
|
||||
NotaID = 0
|
||||
Komunikat = "Nie rozpoznany błąd API XLDodajNote"
|
||||
End Try
|
||||
w = OpisBledu(989, wynikXL, 0)
|
||||
End Sub
|
||||
|
||||
'--------------------------------------------------------------------------------------------------
|
||||
' Funkcja XLDodajPozycjeNoty - Funkcja ta dodaje element do otwartej wcześniej noty
|
||||
|
||||
Sub XLDodajPozycjeNotyMem(PozycjaNotyInfo As cdn_api.XLPozycjaNotyInfo_20241)
|
||||
Dim w As Integer
|
||||
|
||||
With PozycjaNotyInfo
|
||||
.Wersja = Wersja
|
||||
.Tryb = 2
|
||||
'.KKSNumerDT = Range("e15").Value
|
||||
'.KKSNumerCT = Range("e16").Value
|
||||
'.DataDok = Range("e21").Value
|
||||
'.DataOper = Range("e22").Value
|
||||
'.Kwota = Str(Range("e23").Value) + Chr(0)
|
||||
'.Opis = Range("e24").Value + Chr(0)
|
||||
'.NumerDokumentu = Range("e29").Value
|
||||
End With
|
||||
wynikXL = 0
|
||||
Try
|
||||
wynikXL = cdn_api.cdn_api.XLDodajPozycjeNoty(Sesja, NotaID, PozycjaNotyInfo)
|
||||
Catch ex As Exception
|
||||
wynikXL = -200
|
||||
Komunikat = "Nie rozpoznany błąd API XLDodajPozycjeNoty"
|
||||
End Try
|
||||
w = OpisBledu(988, wynikXL, 0)
|
||||
End Sub
|
||||
'--------------------------------------------------------------------------------------------------
|
||||
' Funkcja XLZamknijNote - Funkcja ta zamyka otwartą notę memoriałową
|
||||
|
||||
Sub XLZamknijNoteMem(NotaInfo As cdn_api.XLNotaInfo_20241)
|
||||
Dim w As Integer
|
||||
|
||||
With NotaInfo
|
||||
.Wersja = Wersja
|
||||
.Tryb = 2
|
||||
End With
|
||||
|
||||
wynikXL = 0
|
||||
Try
|
||||
wynikXL = cdn_api.cdn_api.XLZamknijNote(Sesja, NotaID, NotaInfo)
|
||||
NotaID = 0
|
||||
Catch ex As Exception
|
||||
wynikXL = -200
|
||||
Komunikat = "Nie rozpoznany błąd API XLZamknijNote"
|
||||
End Try
|
||||
w = OpisBledu(987, wynikXL, 0)
|
||||
End Sub
|
||||
|
||||
|
||||
'--------------------------------------------------------------------------------------------------
|
||||
' Funkcja XLKasujNote - Funkcja ta kasuje notę memoriałową
|
||||
|
||||
Sub XLKasujNoteMem(NotaInfo As cdn_api.XLNotaInfo_20241)
|
||||
Dim w As Integer
|
||||
|
||||
With NotaInfo
|
||||
.Wersja = Wersja
|
||||
.Tryb = 2
|
||||
'.GIDTyp = Range("k7").Value
|
||||
'.GIDFirma = Range("k8").Value
|
||||
'.GIDNumer = Range("k9").Value
|
||||
'.GIDLp = Range("k10").Value
|
||||
End With
|
||||
|
||||
wynikXL = 0
|
||||
Try
|
||||
wynikXL = cdn_api.cdn_api.XLKasujNote(Sesja, NotaID, NotaInfo)
|
||||
NotaID = 0
|
||||
Catch ex As Exception
|
||||
wynikXL = -200
|
||||
Komunikat = "Nie rozpoznany błąd API XLKasujNote"
|
||||
End Try
|
||||
w = OpisBledu(986, wynikXL, 0)
|
||||
End Sub
|
||||
|
||||
End Module
|
||||
Reference in new issue
Block a user