Projekt ImportDokMag w wersji korzystającej z XL-API 20251 (cdn_api20251.net.dll), z połączeniem do bazy źródłowej przez uwierzytelnianie Windows. Foldery .svn/ i Publikuj/ są poza repozytorium. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
981 lines
40 KiB
VB.net
981 lines
40 KiB
VB.net
Public Module FunkcjeXL
|
||
Public Const API_VERSION = 20251
|
||
|
||
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_20251
|
||
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_20251 With
|
||
{
|
||
.Wersja = Wersja, ' numer wersji API (20251) 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_20251
|
||
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_20251)
|
||
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_20251)
|
||
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_20251
|
||
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_20251
|
||
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_20251
|
||
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_20251 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_20251
|
||
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_20251)
|
||
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_20251)
|
||
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_20251)
|
||
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_20251)
|
||
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_20251)
|
||
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_20251)
|
||
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_20251)
|
||
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_20251)
|
||
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_20251)
|
||
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
|