Standardowo Subiekt GT nie przenosi pól Uwagi oraz Podtytuł do struktury KSeF (sekcja DodatkowyOpis). Poniższa instrukcja pokazuje jak to skonfigurować za pomocą skryptu SQL w parametrach KSeF, bez konieczności posiadania licencji Sfera.
Subiekt GT w wersji obsługującej KSeF (od 1.87) z włączonym modułem e-Faktur.
W menu głównym programu wybierz:
Administracja → Parametry → KSeF
Przejdź na zakładkę Dane e-Faktur.
W sekcji Zapis dodatkowych informacji zaznacz pole wyboru przy:
Sekcja "DodatkowyOpis" dla dokumentu
Po zaznaczeniu odblokuje się link Definicja SQL obok.
Kliknij Definicja SQL i wklej poniższy skrypt:
SELECT NULL, 'Uwagi do faktury' AS [Klucz], dok_Uwagi
FROM dok__Dokument
WHERE dok_Id = {dok__Dokument.dok_Id}
AND dok_Uwagi != ''
UNION ALL
SELECT NULL, 'Podtytul' AS [Klucz], dok_Podtytul
FROM dok__Dokument
WHERE dok_Id = {dok__Dokument.dok_Id}
AND dok_Podtytul != ''
Zapisz definicję, a następnie zapisz parametry KSeF przyciskiem OK.
Powinieneś zobaczyć obie wartości oznaczone jako "Uwagi do faktury" oraz "Podtytul".
W finalnym PDF wysłanym do KSeF dane te pojawią się w sekcji Pozostałe dane na fakturze.
Wartości w apostrofach ('Uwagi do faktury', 'Podtytul') to etykiety widoczne na e-Fakturze. Możesz je zmienić na dowolne. Unikaj polskich znaków, ponieważ Subiekt GT może je zapisać jako znaki zapytania.
Aby przenieść kolejne pole, dopisz następny blok ze składnią UNION ALL:
UNION ALL
SELECT NULL, 'Nazwa pola' AS [Klucz], nazwa_kolumny
FROM dok__Dokument
WHERE dok_Id = {dok__Dokument.dok_Id}
AND nazwa_kolumny != ''
Najczęściej używane pola z tabeli dok__Dokument:
dok_Uwagi to standardowe uwagi (max 500 znaków)dok_UwagiExt to uwagi rozszerzone (max 3500 znaków)dok_Tytul to tytuł dokumentudok_Podtytul to podtytuł dokumentudok_InformacjeDodatkowe to dodatkowe informacje (max 255 znaków)Subiekt GT używa specjalnej notacji {nazwa_tabeli.nazwa_kolumny} do podstawienia kontekstu aktualnego dokumentu. Klamry są obowiązkowe w klauzuli WHERE. Standardowy parametr @dok_Id nie zadziała.
Struktura zwracanych kolumn musi mieć dokładnie trzy kolumny w kolejności:
Polskie znaki wyświetlają się jako "?"
Pole edycji skryptu w Subiekcie nie obsługuje pełnego Unicode. Używaj nazw bez polskich znaków, np. "Podtytul" zamiast "Podtytuł", "Uwagi do umowy" zamiast "Uwagi do umów".
Skrypt nie zwraca danych
Sprawdź czy pola na fakturze są wypełnione. Skrypt celowo pomija puste wartości warunkiem != ''. Pamiętaj też o regenerowaniu e-Faktury po każdej zmianie skryptu (przycisk Generuj ponownie).
Nie widzę pola w bazie
Nazwy kolumn możesz sprawdzić w SQL Server Management Studio zapytaniem:
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'dok__Dokument'
ORDER BY COLUMN_NAME
Skrypt działa dla wszystkich dokumentów sprzedaży obsługujących KSeF (faktury, korekty, zaliczki). Jeśli chcesz ograniczyć działanie do wybranego typu dokumentu, możesz dodać warunek AND dok_Typ = X w klauzuli WHERE.