Blog— Anton Ignashev

Sfera dla Subiekta GT: przewodnik programisty po integracji

Sfera dla Subiekta GT: przewodnik programisty po integracji

Po co ten przewodnik

Wczoraj opisałem pięć różnych rzeczy, które w Comarch Optima nazywa się „API". Subiekt GT to druga połowa tej pary i ma problem dokładnie odwrotny. Przy Optimie pytanie brzmi, na który interfejs właśnie patrzysz. Przy Subiekcie GT jest jeden, każdy znajduje go w dziesięć minut, a potem zespoły spędzają trzy tygodnie na odkrywaniu, czym on właściwie jest.

Nazywa się Sfera. I nie jest API w tym znaczeniu, w jakim używasz tego słowa w 2026 roku.

To subiektowy odpowiednik mojego przewodnika po enova365 WebAPI oraz porównania Subiekta, Optimy i enova365 od strony integracji. Każde twierdzenie techniczne poniżej pochodzi z dokumentacji InsERT-u, z opublikowanego cennika albo z kodu open source, który możesz sam przeczytać. Nic nie jest zmyślone, bo w tym kawałku rynku wymyślona nazwa obiektu kosztuje kogoś cały dzień.

Czym Sfera właściwie jest

Opis InsERT-u jest precyzyjny i trzeba go czytać dosłownie: Sfera „umożliwia napisanie rozszerzeń, korzystających z wewnętrznych mechanizmów Subiekta GT", zbudowana w oparciu o technologie COM i OLE Automation.

Rozłóż to na części, a jeszcze zanim napiszesz linijkę kodu, spadną na Ciebie trzy konsekwencje:

Działa na Windows, obok zainstalowanego Subiekta. Nie w Twoim kontenerze, nie w Twoim centrum danych, nie z linuksowej maszyny, na której stoi już Twoja aplikacja. W tym projekcie jest host Windows. Ktoś musi go mieć, łatać i za niego płacić — i z mojego doświadczenia to ta jedna pozycja, która nigdy nie trafia do pierwszej wyceny.

Przechodzi przez własną logikę Subiekta. To jest powód, żeby wybrać Sferę zamiast bazy, i to powód prawdziwy. Dokumenty tworzone przez Sferę dostają numer, cenę, ruch magazynowy i walidację dokładnie tak, jakby ktoś wyklikał je ręcznie. To, co wpiszesz wprost do tabel, nie dostaje niczego.

To dodatek, który się kupuje. Sfera nie jest częścią Subiekta GT. To osobna licencja, a ta licencja ma kształt, który zaskakuje. O tym za chwilę.

Sfera istnieje dla pięciu programów linii — Subiekt GT, Rewizor GT, Gestor GT, Gratyfikant GT i sam InsERT GT. To ma większe znaczenie, niż brzmi.

Połączenie ma dwie tożsamości

Model obiektowy mieści się w akapicie. Tworzysz obiekt COM o identyfikatorze InsERT.GT, ustawiasz na nim właściwości i wołasz Uruchom.

Właściwości to Serwer, Baza, Uzytkownik, UzytkownikHaslo, Operator, OperatorHaslo, Autentykacja i Produkt. Przeczytaj tę listę jeszcze raz, bo zawiera najważniejszy architektonicznie fakt o Sferze i łatwo go przeoczyć:

Są dwa komplety poświadczeń. Uzytkownik i UzytkownikHaslo to login do Microsoft SQL Servera. Operator i OperatorHaslo to operator Subiekta — czyli konto człowieka wewnątrz ERP. Twoja integracja uwierzytelnia się dwa razy, na dwóch warstwach, z dwoma różnymi modelami uprawnień.

Pisałem niedawno cały tekst o tym, co naprawdę znaczy „tylko do odczytu" przy koncie serwisowym, i to jest najczystszy przykład tego problemu, jaki widziałem w polskich ERP-ach. Kiedy ktoś na spotkaniu mówi, że konto integracji jest read-only, zapytaj, które z dwóch ma na myśli. Login SQL nie dziedziczy żadnych ograniczeń operatora. Ograniczenia operatora nie obowiązują na loginie SQL. Oba nazywa się w jednym zdaniu „kontem integracji".

Produkt wybiera program z linii, do którego się podłączasz — Subiekt GT to 1, Rachmistrz 2, Rewizor 3, Gratyfikant 4, mikroGratyfikant 5, Gestor 6. A Uruchom(tryb_dostosowania, tryb_uruchomienia) zwraca obiekt aplikacji, na którym faktycznie pracujesz.

Drugi argument Uruchom to Twoja architektura

Tryb uruchomienia to mała liczba całkowita i decyduje o Twoim systemie bardziej niż cokolwiek innego, co napiszesz w tym tygodniu:

  • 0 — uruchom aplikację, o ile nie znajdzie się działająca, do której można się podłączyć.
  • 1 — to samo, ale podłącz się tylko wtedy, gdy działająca instancja nie jest w stanie zablokowanym (Subiekt blokuje się m.in. podczas startu, sprawdzania licencji i zmiany użytkownika przez Ctrl+F2).
  • 2 — zawsze uruchom nową instancję.
  • 4 — podłącz się albo uruchom bez interfejsu użytkownika. Aplikacja działa w tle.

Tryb 4 to ten, którego chce integracja. Zaskakująco dużo pierwszych podejść go nie używa — i tak powstaje okno Subiekta otwierające się na serwerze, na który nikt nie patrzy. Tryb 2 to ten, który kosztuje: nowa instancja na każde zadanie to nowe logowanie na każde zadanie, a logowanie zajmuje stanowisko licencyjne dokładnie tak samo jak człowiek.

Uwagi o stanie zablokowanym z trybu 1 też nie pomijaj. Start, sprawdzanie licencji i zmiana operatora to stany, w których Subiekt istnieje jako proces, ale nie jest gotowy. Integracja, która zakłada „proces istnieje, czyli da się podłączyć", będzie się wykładać z doskoku — a przez pierwsze dwa dni wygląda to na problem sieciowy.

Sfera jest wyceniana per program i per stanowisko

Z cennika detalicznego InsERT-u obowiązującego od 2 stycznia 2026 r. — sprawdź aktualny, zanim wycenisz, ale struktura się nie zmienia:

Pozycja Netto PLN
Sfera dla Subiekta GT (dodatek do Subiekta, którego już masz) 1 045
— rozszerzenie na kolejne stanowisko 655
Subiekt GT Sfera (pakiet) 2 090
Sfera dla Rewizora GT 1 975
Sfera dla Gratyfikanta GT 1 915
Sfera dla Gestora GT 875

Rozmowę zmieniają trzy ostatnie wiersze. Sferę kupuje się per program. Integracja wystawiająca dokumenty sprzedaży potrzebuje Sfery dla Subiekta GT. W momencie, w którym zakres rośnie o „i jeszcze zaksięgujmy to", wchodzi Rewizor GT i druga licencja Sfery — prawie dwa razy droższa od pierwszej.

Podnieś to na pierwszym spotkaniu, nie przy fakturze. „Obsłużymy też stronę księgową" brzmi jak drobne rozszerzenie zakresu. Licencyjnie to ten większy zakup.

Piętnaście dni darmowej pewności

InsERT udostępnia wersję próbną Sfery. Włącza się ją ikoną Sfery na pasku narzędzi programu i działa 15 dni, po czym Sfera wygasa, a wszystko, co na niej zbudowano, przestaje działać do czasu zakupu i aktywacji licencji.

Prawie nikt z tego nie korzysta. A to najcenniejsze piętnaście dni dostępne w projekcie na Subiekcie — nie po to, żeby zbudować integrację, tylko żeby odpowiedzieć na jedno pytanie: czy dokumenty, na których stoi ten projekt, faktycznie dają się wystawić na bazie tego klienta, przy tej konfiguracji? Stany magazynowe, cenniki, jednostki, pola wymagane, które ktoś dodał w 2019 roku, i obowiązujące uprawnienia operatora. To wszystko sprawdzasz w jedno popołudnie z licencją próbną. Albo w piątym tygodniu bez niej.

Wygaśnięcie to też nazwana awaria. Proof of concept zbudowany na wersji próbnej, pokazany na demo i zostawiony działający, kiedy dogadują się warunki handlowe, umiera szesnastego dnia — u klienta, w warunkach produkcyjnych, i nikt się tego nie spodziewa.

Gdzie jest dokumentacja

Publicznej dokumentacji Sfery w internecie nie ma. Ludzie tracą na jej szukanie realny czas.

Dokumentacja jest w instalacji. W programie: Pomoc → InfoSfera, potem F1 do modułu pomocy. Na dysku to plik CHM w katalogu InsERT-u — a sama ścieżka mówi Ci coś, co musisz wiedzieć:

C:\Program Files (x86)\InsERT\InsERT GT\Pomoc\gta.chm

(x86). Trzydzieści dwa bity.

Dlatego najczęstsza awaria pierwszego dnia to projekt .NET zbudowany jako AnyCPU na maszynie 64-bitowej, rzucający „Klasa niezarejestrowana" na obiekcie COM, który jest zarejestrowany całkiem poprawnie — tylko nie dla procesu 64-bitowego. Ustaw x86 i błąd znika. Pięciominutowa poprawka, która regularnie kosztuje pół dnia, bo komunikat wskazuje na rejestrację, a przyczyną jest bitowość.

Awarie, pod które trzeba projektować

Znika serwer RPC. Sfera trzyma żywe połączenie z działającym subiekt.exe. Jeśli ten proces się skończy — użytkownik zamknie program, aktualizacja go zrestartuje, maszyna wstanie w nocy — Twój uchwyt do obiektu jest martwy i sam się nie naprawi. Integracja musi to wykryć i połączyć się ponownie. Jeśli tego nie robi, objawem jest usługa, która działała sześć tygodni i po cichu przestała. Ten sam kształt awarii, który opisywałem przy nieoglądanych zadaniach z harmonogramu w enova365.

Stanowisko licencyjne na koniec miesiąca. Opisane wyżej. Zapytaj, ile stanowisk ma instalacja, zanim zaprojektujesz pętlę odpytywania, a nie po.

Zapis wprost do SQL. Z bazy czytaj swobodnie — raportowanie z tabel Subiekta to normalna praktyka i działa. Zapisuj, a ominąłeś logikę biznesową, która była jedynym powodem, żeby w ogóle sięgać po Sferę, wyprodukowałeś dokumenty, w które Subiekt nie do końca wierzy, i wyszedłeś poza teren, na którym wsparcie InsERT-u może Ci pomóc.

Dryf wersji. Subiekt GT wciąż jest rozwijany — wersja 1.89 niesie bieżącą falę zmian wokół KSeF, w tym nowe pola referencji KSeF na rozrachunkach. Dobra wiadomość o platformie i stałe zobowiązanie dla Ciebie: ERP, który się zmienia, to integracja, którą trzeba regularnie przetestować od nowa. Licencja Sfery i tak wymaga aktywowanej bieżącej wersji programu.

Co zbudowałbym najpierw

Postaw cienką usługę HTTP na hoście Windows, na którym stoi Subiekt, i niech to będzie jedyny komponent w Twoim systemie, który wie o istnieniu Sfery. Twoja aplikacja rozmawia z tą usługą po JSON. Shim pochłania COM, ograniczenie bitowości, logikę ponownego łączenia i przywiązanie do wersji. Wszystko powyżej staje się jednym małym, wymiennym elementem zamiast właściwością całej architektury.

Potem zacznij od odczytów. Stany magazynowe i dane kontrahentów, wystawione tylko do odczytu, z heartbeatem, żeby martwe połączenie było widoczne w kilka minut, a nie przy następnej reklamacji. Tydzień pracy. Daje prawo do rozmowy o wystawianiu dokumentów i przenosi pytania o licencje i uprawnienia z teorii na konkret.

Jeśli ważysz to wszystko wobec projektu przyjmowania zamówień, związek jest bezpośredni: powyższe to hydraulika pod portalem B2B zintegrowanym z ERP, a portal jest miejscem, w którym ta praca się zwraca. Ten sam mechanizm napędza agentów AI dla firm, którzy czytają i uzupełniają dane wprost w systemie.

Zastanawiasz się, czy integracja z Subiektem GT ma sens akurat u Was? Odezwij się — godzina z Waszą instalacją i realnym obiegiem dokumentów powie więcej niż jakakolwiek wycena napisana z listy funkcji.

Porozmawiajmy o Twoim projekcie

Bezpłatna 30-minutowa konsultacja. Sprawdzimy, czy i jak mogę pomóc.

Umów bezpłatną 30-minutową rozmowę

Wybierz datę

Listopad 2026
Pon
Wt
Śr
Czw
Pt
Sob
Ndz
← Powrót do bloga

Powiązane wpisy

Ile kosztuje Subiekt nexo i Subiekt GT w 2026: cennik licencji, abonament i 30 dni, które podnoszą cenę o połowę
Blog

Ile kosztuje Subiekt nexo i Subiekt GT w 2026: cennik licencji, abonament i 30 dni, które podnoszą cenę o połowę

Subiekt nexo na 3 stanowiska kosztuje 1 275 zł netto, Subiekt GT 1 045 zł, nexo PRO 2 575 zł. To licencje wieczyste, ale co roku dochodzi Abonament: 349 zł za nexo, jeśli przedłużysz do 30 dni po wygaśnięciu, i 539 zł, jeśli później. Do tego Sfera, czyli API, licencje dla klientów biur rachunkowych i porównanie z Optimą i enova365.

Czytaj dalej→
Ile kosztuje Comarch ERP Optima w 2026: cennik subskrypcji, Basic i Pro, i trzy koszty, których w nim nie ma
Blog

Ile kosztuje Comarch ERP Optima w 2026: cennik subskrypcji, Basic i Pro, i trzy koszty, których w nim nie ma

Cennik Optimy jest publiczny: moduł Podstawowy 59 zł miesięcznie, Logistyka Basic 75 zł, Księga Handlowa 175 zł. Haczyk siedzi w słowie Pro: to dopłata do Basic, nie osobna wersja, więc pełna księgowość w Finansach kosztuje 250 zł, a nie 200. Do tego limity modułu Podstawowy, liczenie pracowników w HR dla biur i dwa przeliczone przykłady.

Czytaj dalej→
Pensje za grudzień wypłacone w styczniu 2027: koszt 2026 r. czy 2027 r.? Termin 8 stycznia, ZUS do 15 lub 22 lutego
Blog

Pensje za grudzień wypłacone w styczniu 2027: koszt 2026 r. czy 2027 r.? Termin 8 stycznia, ZUS do 15 lub 22 lutego

Grudniowa lista płac wypłacona w styczniu to koszt 2026 r., ale tylko jeśli pensje wyjdą w terminie z regulaminu, a składki ZUS w terminie ZUS. 10 stycznia 2027 r. to niedziela, więc ustawowy termin kończy się w piątek 8 stycznia. Ta sama pensja trafia do PIT-11 za 2027 r. Co biuro sprawdza w grudniu i w lutym.

Czytaj dalej→