KCClose

Instrukcja użytkownika i administratora — automatyczne zarządzanie datą zamkniętego okresu programu KCFirma.

KCClose aktualizuje w bazie KCFirma datę końca zamkniętego okresu. Może wykonywać operację automatycznie o wskazanej godzinie, ręcznie z okna programu albo zdalnie przez zabezpieczony endpoint REST.

1. Przeznaczenie programu

Automatyczne zamykanie okresu

O wskazanej godzinie program oblicza datę zamknięcia na podstawie liczby dni wstecz i zapisuje ją w bazie.

Ponawianie ostrzeżenia bazy

Program może cyklicznie przywracać komunikat o przekroczeniu ustawionego rozmiaru bazy, nawet jeśli użytkownik wyłączył go wcześniej na stałe.

Obsługa serwisowa

Uprawniona osoba może ręcznie zmienić datę końca zamkniętego okresu lub ustawić czas ostatniej optymalizacji na teraz.

Dostęp REST

Zewnętrzny system może odczytać status lub ustawić datę przy użyciu metody PUT i hasła przesłanego w nagłówku.

2. Wymagania i zgodność

  • System Windows; aplikacja Win32 działa także na 64-bitowym Windows przez WOW64.
  • Obsługiwany jest również Windows Server 2008.
  • Dostęp do pliku bazy KCFirma oraz prawo jego zapisu.
  • Zainstalowany właściwy 32-bitowy sterownik Microsoft Access/ODBC wymagany przez FireDAC.
  • Prawo zapisu w katalogu aplikacji — tam przechowywane są KCClose.ini i Log.txt.
Przed wdrożeniem Wykonaj kopię zapasową bazy i sprawdź działanie programu na kopii testowej. KCClose wykonuje bezpośrednie aktualizacje danych konfiguracyjnych KCFirma.

3. Pierwsze uruchomienie

  1. Uruchom KCClose.exe z konta, które będzie używane do codziennej pracy programu.
  2. Jeżeli pojawi się informacja o braku połączenia, wybierz otwarcie konfiguracji.
  3. Wskaż plik bazy danych KCFirma, np. plik .mdb, .accdb albo .dan.
  4. Ustaw godzinę pracy automatycznej oraz liczbę dni wstecz.
  5. Jeżeli potrzebujesz REST, ustaw port i hasło API o długości co najmniej 12 znaków. Puste hasło wyłącza serwer REST.
  6. Kliknij Zapisz. Program ponownie połączy się z bazą i uruchomi REST, jeżeli został skonfigurowany.

4. Okno główne

ElementZnaczenie
ZegarAktualna godzina systemowa komputera.
Godzina zamknięcia okresuGodzina, po której automat może wykonać dzienną aktualizację.
Ilość dni wsteczLiczba dni odejmowana od dzisiejszej daty.
Zamknij okresNatychmiast wykonuje operację ręczną po potwierdzeniu użytkownika.
StatusInformuje o połączeniu z bazą oraz włączeniu albo wyłączeniu automatu.

Jak obliczana jest data automatyczna?

Data dzisiejsza
16 sierpnia
− 10 dni →
Data zamknięcia
6 sierpnia

Automat wykonuje zapis najwyżej raz dla danej daty uruchomienia programu. Jeśli komputer był wyłączony o ustawionej godzinie, operacja zostanie wykonana po uruchomieniu programu, o ile ustawiona godzina już minęła.

5. Konfiguracja

UstawienieOpis
Plik bazy danychPełna ścieżka do bazy KCFirma.
GodzinaGodzina rozpoczęcia automatycznej operacji.
Praca automatycznaWłącza codzienne automatyczne ustawianie daty.
Ilość dni wsteczDozwolony zakres: 0–3650.
Ponawiaj komunikatPo włączeniu program po połączeniu oraz co 5 minut ustawia w bazie NieKontroluj2=False i przywraca wybrany limit.
Limit bazyWartość ostrzegawcza w MB; dozwolony zakres: 1–100000.
Port RESTPort nasłuchiwania serwera; zakres: 1–65535. Domyślnie 9030.
Hasło APIMinimum 12 znaków. Puste pole wyłącza REST.

6. Serwisowe ustawienie zamkniętego okresu

Najważniejsza zasada Wybrana data oznacza ostatni zamknięty dzień — włącznie. Dokumenty z tą datą nadal pozostają zamknięte.
Dokumenty do poprawy
od 1 lipca
ustaw →
Koniec zamkniętego okresu
30 czerwca

Ustawienie daty 1 lipca nie pozwala poprawiać dokumentów z 1 lipca — ten dzień pozostaje zamknięty. Edycja będzie możliwa dopiero od 2 lipca.

Ustawienie czasu optymalizacji

Przycisk Ustaw teraz zapisuje aktualną datę i godzinę w polu ostatniej optymalizacji bazy. Nie uruchamia samego procesu optymalizacji.

7. REST API

Każde żądanie musi zawierać nagłówek X-Auth-Token z hasłem ustawionym w konfiguracji.

Odczyt statusu

GET http://adres-serwera:9030/getstatus
X-Auth-Token: TWOJE_HASLO

Przykładowa odpowiedź:

{
  "ok": true,
  "dataZamkniecia": "2026-08-05",
  "dniWstecz": 10
}

Zmiana daty

PUT http://adres-serwera:9030/setdate
X-Auth-Token: TWOJE_HASLO
Content-Type: application/json

{"data":"2026-07-01"}

Data musi mieć dokładny format YYYY-MM-DD. Operacja przez GET nie jest dozwolona.

Odpowiedzi błędów

HTTPKodZnaczenie
400missing_date
invalid_json
invalid_date
Brak daty, błędny JSON albo niewłaściwy format daty.
401unauthorizedBrak hasła lub nieprawidłowe hasło API.
404not_found
closed_period_not_found
Nieznany endpoint albo brak daty okresu w bazie.
405method_not_allowedUżyto niewłaściwej metody HTTP.
413request_too_largeTreść żądania przekracza 4096 bajtów.
500database_errorBłąd operacji bazodanowej.
503database_unavailableProgram nie jest połączony z bazą.
{
  "ok": false,
  "error": "invalid_date",
  "message": "Nieprawidlowa data. Oczekiwany format: YYYY-MM-DD."
}

8. Hasło i bezpieczeństwo

  • Hasło REST jest szyfrowane przez Windows DPAPI i zapisane w KCClose.ini.
  • Zaszyfrowane hasło może odczytać zasadniczo to samo konto Windows na tym samym komputerze.
  • Po przeniesieniu programu na inny serwer usuń wpis HasloChronione i ustaw hasło ponownie.
  • Przy uruchamianiu z Harmonogramu zadań użyj tego samego konta Windows, na którym zapisano konfigurację.
REST używa zwykłego HTTP Nie przesyłaj hasła przez niezaufany Internet. REST powinien działać wyłącznie w zaufanej sieci lokalnej, przez VPN albo za serwerem pośredniczącym zapewniającym HTTPS. Ogranicz również port regułą Zapory Windows.

9. Rozwiązywanie problemów

ObjawRozwiązanie
Brak połączenia z baząSprawdź ścieżkę, prawa dostępu, dostępność udziału sieciowego i 32-bitowy sterownik Access/ODBC.
REST nie uruchamia sięSprawdź, czy ustawiono hasło, czy port nie jest zajęty oraz czy Zapora Windows dopuszcza połączenia.
HTTP 401Sprawdź wartość nagłówka X-Auth-Token. Hasło rozróżnia wielkie i małe litery.
HTTP 503Najpierw przywróć połączenie programu z bazą.
Błąd hasła „System Error. Code: 13”Dotyczy konfiguracji zapisanej przez starszą wersję, która dzieliła szyfrogram na linie. Usuń stary wpis HasloChronione, uruchom poprawioną wersję i wpisz hasło ponownie.
Program działa jako inne kontoUstaw hasło ponownie z tego konta albo uruchamiaj program z konta, które utworzyło konfigurację.
Nieoczekiwany błądSprawdź plik Log.txt znajdujący się obok pliku EXE.
Informacje diagnostyczne Przy zgłoszeniu problemu podaj wersję programu widoczną na pasku stanu, wersję Windows, godzinę wystąpienia błędu oraz odpowiedni fragment pliku Log.txt. Nie przesyłaj hasła REST.