Obsługa reguł użytkowników na punkcie ACD typu „Import dokumentów zakupu z KSeF”

image_pdfimage_print

W wersji 2026.1.0 umożliwiono obsługę reguł użytkowników na punkcie ACD typu „Import dokumentów zakupu z KSeF” w aplikacji desktop Comarch BPM – operator może określić, do jakich faktur ma dostęp dany pracownik i jak mają być procesowane, istnieje także możliwość wprowadzenia filtrowania według personalizowanych list i reguł. Umożliwiono także opcję generowania zapytania SQL w obrębie definicji indywidualnych list dokumentów.

 

Definiowanie punktu konfiguracyjnego

Zmiany na zakładce „Lista”

W zależności od oczekiwanego rezultatu należy wprowadzić odpowiednie zapytanie na zakładce „Lista“ – od wersji 2026.1.0 podstawowa forma tego zapytania jest następująca:

 

BEGIN TRY

SELECT d.KSD_Id, NULL, KSD_NumerFaktury, KSD_Tag1, KSD_Tag2, KSD_Tag3, KSD_Rule

from do.KS_Documents d

left join do.KS_WorkAPProcess W on d.KSD_ID = KSW_DocumentID /*tabela przeprocesowanych dokumentów*/

left join do.KS_DocumentHeaders dh on d.KSD_ID = dh.KSH_DocumentId

left join do.KS_DocumentContractors dc on d.KSD_ID = dc.KSC_DocumentID

where KSW_APDId=@PointId@ -- id punktu ACD

----- and KSW_OperatorID=@IdOperatorBPM@ /*dodatkowy warunek, aby na liście operator widział dokumenty przeprocesowane przez siebie*/

and ((@InvoiceStatus@ = 0 and KSW_Status <> 5 and KSW_Archival = 0) OR (@InvoiceStatus@ = 1 and KSW_Archival = 1) OR

(@InvoiceStatus@ = 2 and KSW_Status = 5) OR @InvoiceStatus@ = 3)

and (@Nip@ is null OR dc.KSC_PodatnikNIP = @Nip@)

and (@DateFrom@ is null or dh.KSH_DataWytworzeniaFa >= @DateFrom@)

and (@DateTo@ is null or dh.KSH_DataWytworzeniaFa <= @DateTo@)

and (@GrossAmountFrom@ is null or KSD_SumaBrutto >= @GrossAmountFrom@)

and (@GrossAmountTo@ is null or KSD_SumaBrutto <= @GrossAmountTo@)

and (@InvoiceType@ is null or KSD_RodzajFaktury = @InvoiceType@)

and ((nullif(@SearchText@,'') is null OR (@SearchText@ <> '' and KSD_NumerFaktury LIKE '%' + @SearchText@ + '%'))

OR (@SearchText@ <> '' and KSD_Tag1 LIKE '%' + @SearchText@ + '%')

OR (@SearchText@ <> '' and KSD_Tag2 LIKE '%' + @SearchText@ + '%')

OR (@SearchText@ <> '' and KSD_Tag3 LIKE '%' + @SearchText@ + '%')

OR (@SearchText@ <> '' and KSD_Rule LIKE '%' + @SearchText@ + '%'))




/*miejsce na dodatkowe warunki operatora*/




END TRY

BEGIN CATCH

DECLARE @ErrorMessage varchar(max) = 'W zapytaniu wystąpił błąd: ' + ERROR_MESSAGE();

THROW 50001, @ErrorMessage ,1;

END CATCH

 

Poniżej przedstawiono przykładowe zapytanie na zakładce „Lista“, gdy zostały wprowadzone dodatkowe warunki – przykład pokazuje również przykładowy wygląd listy dokumentów w punkcie ACD, wynikający z tego zapytania oraz reguł zdefiniowanych na zakładkach „Reguły“ (zob. Dodanie nowej zakładki „Reguły”) i „Uprawnienia“ (zob. Zmiany na zakładce „Uprawnienia”):

 

Przyklad

W ramach zakładki „Lista” wprowadzono zapytanie z dodatkowymi warunkami, które mają spowodować, aby:

  • Operator, któremu przypisano regułę/reguły widział na liście pobranych faktur tylko faktury przyporządkowane do tych reguł – w poniższym przykładzie jest to operator Anna Maj
  • Administrator widział również dodatkowo faktury nieprzypisane do reguł, nawet jeśli przypisano do niego regułę/reguły – w poniższym przykładzie jest to operator Administrator
  • Operator, który nie jest administratorem i nie ma przypisanych reguł, widział tylko wszystkie faktury nieprzypisane do reguł – w poniższym przykładzie jest to operator Jan Nowak

 

Zapytanie:

 
BEGIN TRY 

    SELECT d.KSD_Id, NULL, KSD_NumerFaktury, KSD_Tag1, KSD_Tag2, KSD_Tag3, KSD_Rule 
     from do.KS_Documents d  
     left join do.KS_WorkAPProcess W on d.KSD_ID = KSW_DocumentID  /*tabela przeprocesowanych dokumentów*/  
     left join do.KS_DocumentHeaders dh on d.KSD_ID = dh.KSH_DocumentId 
     left join do.KS_DocumentContractors dc on d.KSD_Id = KSC_DocumentId 
     where KSW_APDId=@PointId@ -- id punktu ACD 
     and ((@InvoiceStatus@ = 0 and KSW_Status <> 5 and KSW_Archival = 0) OR (@InvoiceStatus@ = 1 and KSW_Archival = 1) OR 
     (@InvoiceStatus@ = 2 and KSW_Status = 5) OR @InvoiceStatus@ = 3) 
     and (@Nip@ is null OR dc.KSC_PodatnikNIP = @Nip@) 
     and (@DateFrom@ is null or dh.KSH_DataWytworzeniaFa >= @DateFrom@) 
     and (@DateTo@ is null or dh.KSH_DataWytworzeniaFa <= @DateTo@) 
     and (@GrossAmountFrom@ is null or KSD_SumaBrutto >= @GrossAmountFrom@) 
     and (@GrossAmountTo@ is null or KSD_SumaBrutto <= @GrossAmountTo@) 
     and (@InvoiceType@ is null or KSD_RodzajFaktury = @InvoiceType@) 
     and ((nullif(@SearchText@,'') is null OR (@SearchText@ <> '' and KSD_NumerFaktury LIKE '%' + @SearchText@ + '%')) 
     OR (@SearchText@ <> '' and KSD_Tag1 LIKE '%' + @SearchText@ + '%')  
     OR (@SearchText@ <> '' and KSD_Tag2 LIKE '%' + @SearchText@ + '%')  
     OR (@SearchText@ <> '' and KSD_Tag3 LIKE '%' + @SearchText@ + '%') 
     OR (@SearchText@ <> '' and KSD_Rule LIKE '%' + @SearchText@ + '%')) 

    /*miejsce na dodatkowe warunki operatora*/ 

   AND ( 
        -- 1. PRZYPADEK: Brak zdefiniowanych reguł (Operator widzi wszystkie faktury nieprzypisane do reguł) 
        NOT EXISTS ( 
            SELECT 1 FROM do.DF_ConfAPRulesAccess  
            WHERE APS_DCDId = @IdOperatorBPM@  
              AND APS_APDId = @PointId@ 
              AND APS_Archival = 0 
        ) 
        OR 
        -- 2. PRZYPADEK: Administrator (Widzi swoje reguły ORAZ dokumenty nieprzypisane do żadnej reguły) 
        ( 
            EXISTS (SELECT 1 FROM do.DF_ConfOSDictionary WHERE DCD_Id = @IdOperatorBPM@ AND DCD_Role = 1) 
            AND (d.KSD_Rule IS NULL OR d.KSD_Rule = '') 
        ) 
        OR 
        -- 3. PRZYPADEK: Operator z regułami (Widzi wyłącznie dokumenty przypisane do jego reguł) 
        d.KSD_Rule IN ( 
            SELECT APR.APR_Name  
            FROM do.DF_ConfAPRules APR 
            JOIN do.DF_ConfAPRulesAccess APS ON APR.APR_ID = APS.APS_APRId 
            WHERE APS.APS_DCDId = @IdOperatorBPM@  
              AND APS.APS_APDId = @PointId@ 
              AND APS.APS_Archival = 0  
              AND APR.APR_Archival = 0 
        ) 
    ) 
    

 END TRY 
 BEGIN CATCH 
  DECLARE @ErrorMessage varchar(max) = 'W zapytaniu wystąpił błąd: ' + ERROR_MESSAGE(); 
  THROW 50001,  @ErrorMessage ,1;    
 END CATCH

Uwaga: W powyższym przykładzie należy dodatkowo na zakładce „Uprawnienia“ wybrać dla danych administratorów wszystkie reguły, które mają ich dotyczyć.

Na zakładce „Uprawnienia“ określono także indywidualną regułę dla jednego operatora – operatora Jan Kowal:

BEGIN TRY 
SELECT d.KSD_Id, NULL, ISNULL(KSD_NumerFaktury, 'NULL') + '|' + ISNULL(CONVERT(varchar, KSD_DataWystawienia, 104), 'NULL'), KSD_Tag1, KSD_Tag2, KSD_Tag3, KSD_Rule 
FROM do.KS_Documents d 
LEFT JOIN do.KS_WorkAPProcess W on d.KSD_Id = KSW_DocumentId 
LEFT JOIN do.KS_DocumentHeaders dh on d.KSD_Id = KSH_DocumentId 
LEFT JOIN do.KS_DocumentContractors dc on d.KSD_Id = KSC_DocumentId 
WHERE KSW_APDId=@PointId@ -- id punktu ACD 
AND ((@InvoiceStatus@ = 0 AND KSW_Status <> 5 AND KSW_Archival = 0) OR (@InvoiceStatus@ = 1 AND KSW_Archival = 1) OR 
(@InvoiceStatus@ = 2 AND KSW_Status = 5) OR @InvoiceStatus@ = 3) 
AND (@Nip@ is NULL OR dc.KSC_PodatnikNIP = @Nip@) 
AND (@DateFrom@ is NULL or dh.KSH_DataWytworzeniaFa >= @DateFrom@) 
AND (@DateTo@ is NULL or dh.KSH_DataWytworzeniaFa <= @DateTo@) 
AND (@GrossAmountFrom@ is NULL or KSD_SumaBrutto >= @GrossAmountFrom@) 
AND (@GrossAmountTo@ is NULL or KSD_SumaBrutto <= @GrossAmountTo@) 
AND (@InvoiceType@ is NULL or KSD_RodzajFaktury = @InvoiceType@) 
AND ((nullif(@SearchText@,'') is NULL OR (@SearchText@ <> '' and ISNULL(KSD_NumerFaktury, 'NULL') + '|' + ISNULL(CONVERT(varchar, KSD_DataWystawienia, 104), 'NULL') LIKE '%' + @SearchText@ + '%')) 
OR (@SearchText@ <> '' and KSD_Tag1 LIKE '%' + @SearchText@ + '%') 
OR (@SearchText@ <> '' and KSD_Tag2 LIKE '%' + @SearchText@ + '%') 
OR (@SearchText@ <> '' and KSD_Tag3 LIKE '%' + @SearchText@ + '%') 
OR (@SearchText@ <> '' and KSD_Rule LIKE '%' + @SearchText@ + '%')) 

/*miejsce na dodatkowe warunki operatora*/ 
AND d.KSD_DataWystawienia >= '2026-04-15' AND d.KSD_DataWystawienia < '2026-04-16' 

END TRY 
BEGIN CATCH 
DECLARE @ErrorMessage varchar(max) = 'W zapytaniu wystąpił błąd: ' + ERROR_MESSAGE(); 
THROW 50001, @ErrorMessage ,1; 
END CATCH

 

Uprawnienia operatorów określono w taki sposób, jak przedstawiono na poniższej ilustracji:

 

Przykładowa konfiguracja zakładki „Uprawnienia“

 

Następnie pobrano faktury z KSeF – po pobraniu wszystkich faktur został wyświetlony następujący komunikat:

 

Komunikat wyświetlony po pobraniu faktur z KSeF i zastosowaniu do nich reguł – przykład

 

Poniżej przedstawiono wygląd listy dokumentów dla każdego z przykładowych operatorów:

 

Lista faktur KSeF zawierająca faktury nieprzypisane do żadnej reguły – widok dla operatora, który nie jest administratorem i nie ma przypisanych reguł – w tym przypadku operatora Jan Nowak

Lista faktur KSeF zawierająca faktury przypisane do wszystkich reguł z zakładki „Reguły“ oraz faktury nieprzypisane do żadnej z tych reguł – widok operatora Administrator o uprawnieniach administratora, któremu na zakładce „Uprawnienia“ przypisano wszystkie reguły z zakładki „Reguły“

 

Lista faktur KSeF zawierająca faktury przypisane do dwóch reguł, do których uprawnienia nadano operatorowi Anna Maj

 

Lista faktur KSeF zawierająca faktury przypisane do indywidualnej reguły z zakładki „Uprawnienia“, którą przypisano operatorowi Jan Kowal

 

Dodanie nowej zakładki „Reguły”

W wersji 2026.1.0 w ramach konfiguracji punktu ACD typu „Import dokumentów zakupu z KSeF” dodano zakładkę „Reguły”. W ramach tej zakładki administrator może zarządzać regułami, które mają na celu klasyfikowanie dokumentów importowanych z KSeF.

Aby dodać nową regułę, należy kolejno wykonać następujące kroki:

  • Kliknąć w link [Dodaj] dostępny w ramach zakładki „Reguły”

 

Zakładka „Reguły“ przed wprowadzeniem zmian – widoczny link „Dodaj“

 

  • W ramach wyświetlonego pola tekstowego wprowadzić nazwę danej reguły – w poniższym przykładzie jest to nazwa „NIP 4694546358“.

Reguła powinna:

    • Być unikalna w obrębie jednego punktu ACD;
    • Składać się z co najmniej 3 znaków, a maksymalnie ze 100 znaków – dopuszczalne znaki to litery (również polskie), cyfry, spacje oraz _

 

Zakładka „Reguły“ po wprowadzeniu nazwy reguły

 

  • Następnie należy nacisnąć przycisk Enter – wówczas po prawej stronie pojawi się pole do wprowadzenia zapytania SQL.

Jeśli wprowadzona nazwa reguły pokrywa się z taką, która już istnieje w punkcie, wówczas po kliknięciu przycisku Enter zostanie otoczona czerwoną ramką i dalsze definiowanie reguły nie będzie możliwe do czasu zmiany nazwy.

Również w przypadku, gdy wprowadzono niedozwolone znaki, wtedy po kliknięciu przycisku Enter pole do wprowadzania nazwy faktury zostanie otoczone czerwoną ramką i dalsze definiowanie reguły nie będzie możliwe do czasu poprawy nazwy.

Jeżeli operator podejmie próbę zapisu punktu ACD z niepoprawną nazwą/nazwami reguł, wówczas zostanie wyświetlony komunikat o braku możliwości zapisu wraz z podaniem przyczyny.

 

Zakładka „Reguły“ po wprowadzeniu poprawnej nazwy reguły i kliknięciu Enter

 

Zakładka „Reguły“, gdy operator próbuje wprowadzić regułę niespełniającą warunków (ze zbyt krótką nazwą) oraz regułę, której nazwa jest analogiczna jak nazwa zapisanej reguły

 

Przykładowy komunikat wyświetlony, gdy operator próbuje zapisać punkt ACD, który zawiera: regułę niespełniającą warunków (ze zbyt krótką nazwą) oraz regułę, której nazwa jest analogiczna jak nazwa zapisanej reguły

 

Po kliknięciu Enter w ramach pola po prawej stronie można wprowadzić zapytanie SQL, mające na celu zawężenie listy wyświetlanych dokumentów – wówczas reguła jest gotowa do zastosowania i zostanie automatycznie przypisana do dokumentu, który spełnia warunki określone w zapytaniu, można ją też przypisać ręcznie na liście dokumentów.

Zapytanie SQL powinno spełniać następujące warunki:

    • Zwracać KSD_ID z tabeli do.KS_Documents;
    • Zawierać warunek WHERE określający, dla jakich dokumentów ma zostać zastosowana reguła
    • Opcjonalnie: może zawierać JOIN do innych tabel powiązanych z KSeF, jeśli są potrzebne do wprowadzenia warunku
    • Opcjonalnie: może zawierać wiele warunków

 

Przyklad

Zapytanie:

  • dla dokumentów, których suma brutto jest większa niż 4000 zł
SELECT d.KSD_Id 
FROM do.KS_Documents d  
where KSD_SumaBrutto > 4000
  • dla dokumentów wystawionych przez kontrahenta z NIP 4694546358
SELECT d.KSD_ID  
FROM do.KS_Documents d  
JOIN do.KS_DocumentContractors dc ON d.KSD_ID = dc.KSC_DocumentID  
WHERE dc.KSC_PodatnikNIP = '4694546358'
  • Dla dokumentów z NIP 4694546358, które dotyczą zakupu towaru „Towar 1“
SELECT d.KSD_ID  
FROM do.KS_Documents d  
JOIN do.KS_DocumentContractors dc ON d.KSD_ID = dc.KSC_DocumentID 
JOIN do.KS_DocumentItems de ON d.KSD_ID = de.KSI_DocumentID  
WHERE dc.KSC_PodatnikNIP = '4694546358' 
AND de.KSI_ElementNazwa = 'Towar 1';

 

Alternatywnie, operator może pozostawić tylko samą nazwę reguły i nie wprowadzać dla niej zapytania SQL – wówczas reguła może zostać przypisana ręcznie na liście dokumentów.

Nowa reguła zostanie zapisana w bazie Comarch BPM dopiero po zapisaniu punktu ACD, w tabeli do.DF_ConfAPRules.

 

Uwaga

Nie jest możliwa edycja nazwy reguły po kliknięciu w przycisk Enter lub po przejściu do kolejnej reguły – aby zmienić nazwę reguły, należy ją usunąć i wprowadzić ponownie.

 

Obok nazwy reguły dostępna jest ikona kosza , po kliknięciu w którą zostanie wyświetlony komunikat , w którym należy potwierdzić chęć usunięcia reguły, klikając w przycisk [OK] – wówczas dana reguła zostanie usunięta. Jeśli operator chce zrezygnować z usuwania reguły, powinien kliknąć w tym oknie przycisk [Anuluj] lub X. Komunikat nie zostanie wyświetlony, jeśli jest to pierwsza konfiguracja punktu i nie został on jeszcze zapisany.

 

Uwaga

Jeżeli operator usunie regułę z zakładki „Reguły“, wówczas:

  • Ta reguła zostanie usunięta ze wszystkich dokumentów KSeF, do której ją przypisano
  • Operatorzy utracą dostęp do tej reguły
  • Reguła nie będzie dostępna na liście uprawnień na zakładce „Uprawnienia“ w punkcie ACD

 

Zakładka „Reguły“ po wprowadzeniu zapytania dla reguły

 

Komunikat wyświetlony przy próbie usunięcia reguły

 

Jeśli operator wprowadził zapytanie SQL dla reguły, wówczas może:

  • sprawdzić poprawność zapytania, klikając w przycisk [Test zapytania SQL] – jeśli zapytanie jest poprawne, zostanie wyświetlony komunikat „Zapytanie wykonało się poprawnie“;
  • uruchomić ręcznie nadawanie masowo reguły, klikając w przycisk [Wykonaj regułę] – wówczas warunki poprawnie zdefiniowane w zapytaniu dla danej reguły zostaną wykonane dla wszystkich dokumentów, które je spełniają – ten przycisk ma zastosowanie w następujących sytuacjach:
    • gdy usunięto inną regułę i operator chce przypisać regułę dokumentom, które przedtem były filtrowane według usuniętej reguły;
    • gdy zaimportowano dokumenty z KSeF przed zdefiniowaniem reguł, a teraz operator chce dodać reguły i przypisać je do tych wszystkich dokumentów
  • Gdy operator naciśnie przycisk [Wykonaj regułę], wówczas zostanie wyświetlony komunikat „Wykonano dla [liczba] dokumentów“ albo „Wystąpił błąd podczas wykonywania reguły: [opis błędu]“

Nowododaną regułę można następnie wybrać dla danego operatora uprawnionego do punktu – zob. Zmiany na zakładce „Uprawnienia”.

 

Zmiany na zakładce „Uprawnienia”

W wersji 2026.1.0 została zmodyfikowana zakładka „Uprawnienia“ dla punktu ACD typu „Import dokumentów zakupu z KSeF” – wprowadzono następujące zmiany:

  • Przeniesiono nagłówki „Nazwa spółki” (w trybie wielofirmowym) i „Wartość” pod nagłówek „Uprawnienia do pracy z punktem”
  • Dodano kolumny:
    • Definiuj warunki – w ramach tej kolumny dostępny jest checkbox (domyślnie odznaczony) – jeśli zostanie zaznaczony, wówczas przycisk [Zdefiniuj zapytanie] znajdujący się w kolumnie „Lista” staje się aktywny;
    • Lista – w ramach tej kolumny znajduje się przycisk [Zdefiniuj zapytanie], aktywny po zaznaczeniu checkboxa w kolumnie „Definiuj warunki” – wówczas po kliknięciu w przycisk administrator może wprowadzić indywidualne zapytanie SQL, które będzie filtrować oraz wyświetlać listę dokumentów tylko dla danego operatora, zgodnie z wprowadzonym zapytaniem;

 

Zakładka „Uprawnienia“ przed wprowadzeniem zmian

 

Zakładka „Uprawnienia“ – zaznaczenie checkboxa „Definiuj warunki“ dla operatora „Jan Kowal“

 

    • W ramach okna dostępnego po kliknięciu w przycisk [Zdefiniuj zapytanie], dostępne są następujące elementy:
      • Pole „Treść zapytania“ – w ramach tego pola można wkleić lub wprowadzić zapytanie SQL, modyfikować je , kopiować lub usuwać
      • [Wybierz pola] – przycisk aktywny jedynie w przypadku, gdy nie wprowadzono wartości w polu „Treść zapytania“:
        • po kliknięciu w przycisk zostaje otwarty widok wyboru pól – listę tabel dotyczących dokumentów KSeF i pól w tych tabelach.

 

Okno wyświetlone po kliknięciu w przycisk „Zdefiniuj zapytanie“ dla operatora „Jan Kowal“

 

Okno „Generator zapytania SQL“ wyświetlone po kliknięciu w przycisk „Wybierz pola“

 

        • Po kliknięciu w daną pozycję – nazwę tabeli – zostaje otwarta lista kolumn, które się w niej znajdują. Administrator może kliknąć w znak plusa znajdujący się po prawej stronie danej kolumny – wówczas nazwa danej kolumny zostanie wyświetlona po prawej stronie w ramach pola „Pole“, a nazwa tabeli, z której pochodzi – w ramach pola „Nazwa tabeli“

 

Okno „Generator zapytania SQL“ po kliknięciu w pozycję „KS_Documents“

 

Okno „Generator zapytania SQL“ po kliknięciu w plus obok pozycji „KSD_DataWystawienia“ w ramach listy kolumn z tabeli KS_Documents

 

      • Następnie, po kliknięciu w przycisk [Utwórz zapytanie] za pomocą generatora zapytania SQL zostaje wygenerowane zapytanie dla listy dokumentów, uwzględniające kolumnę/kolumny wybrane przez operatora. Operator może dodać własne warunki do zapytania – przykładowo, do zapytania widocznego na poniższej ilustracji pod opisem /*miejsce na dodatkowe warunki operatora*/ dopisano:

 

AND d.KSD_DataWystawienia >= '2026-04-15' AND d.KSD_DataWystawienia < '2026-04-16'

 

Uwaga

Nie jest możliwe ponowne wskazanie pól po wygenerowaniu zapytania. Aby móc ponownie wygenerować zapytanie, należy je usunąć za pomocą przycisku [Usuń zapytanie], zamknąć okno i rozpocząć definiowanie reguły od nowa.

 

Okno „Generator zapytania SQL“ po kliknięciu w przycisk „Utwórz zapytanie“ – przykład

 

Okno „Generator zapytania SQL“ po kliknięciu w przycisk „Utwórz zapytanie“ i dopisaniu warunku „AND d.KSD_DataWystawienia >= '2026-04-15′ AND d.KSD_DataWystawienia < '2026-04-16“ – przykład

 

      • Zapytanie można sprawdzić, klikając w przycisk [Test zapytania SQL] – jeśli jest poprawne, zostanie wyświetlona informacja „Zapytanie wykonało się poprawnie“
      • Wprowadzone zapytanie należy zapisać, klikając w przycisk [Zapisz]. Aby usunąć zapytanie, należy kliknąć w przycisk [Usuń zapytanie] – wówczas przycisk [Wybierz pola] będzie ponownie aktywny – a następnie kliknąć [Zapisz].
    • Reguły – w ramach tego pola można wybrać dla danego operatora jedną z reguł zdefiniowanych na zakładce „Reguły”.

Na liście reguł jest wyświetlanych jednocześnie maksymalnie 5 pozycji – jeśli reguł jest więcej, wówczas dostępny jest suwak do przewijania listy.

W przypadku, gdy nazwa reguły jest zbyt długa, aby mieścić się w oknie, wówczas na końcu wyświetlanego fragmentu nazwy wyświetlany jest wielokropek, a po przesunięciu kursora na nazwę reguły widoczna jest pełna nazwa reguły.

Jeśli na zakładce „Reguły” nie zdefiniowano żadnej reguły, wówczas wyświetlane są dokumenty bez przypisanej reguły.

Domyślnie żaden operator nie ma dostępu do żadnej zdefiniowanej reguły – dostęp do określonych reguł zostaje nadany wybranym operatorom przez administratora

W przypadku, gdy na zakładce „Lista” wprowadzono podstawowe zapytanie dla zakładki „Lista”, bez dodatkowych warunków wprowadzonych przez administratora, wówczas każdy operator ma dostęp do dokumentów bez przypisanej reguły – możliwa jest modyfikacja tych warunków według potrzeb, np. jak pokazano w przykładzie w podrozdziale Zmiany na zakładce „Lista”. Jeśli administrator przypisze daną regułę/reguły do danego pracownika, wówczas ten zobaczy dodatkowo faktury, którym nadano daną regułę/reguły.

 

Zakładka „Uprawnienia“ – wybór reguły dla operatora „Anna Maj“

 

Lista dokumentów w punkcie ACD

Od wersji 2026.1.0 podczas importowania dokumentów KSeF do punktu ACD zostają nadane reguły, a następnie zostaje wyświetlona lista dokumentów, zgodna ze skonfigurowanymi listami oraz z regułami.

Reguły są nadawane zgodnie z kolejnością ich zdefiniowania na zakładce „Reguły” – pierwszej od góry na liście do ostatniej. Jeśli dla danej reguły nie wprowadzono zapytania SQL, wówczas ta reguła nie zostanie automatycznie przypisana do dokumentu. Reguły nie są nadpisywane.

Podczas nadawania reguł wyświetlane jest okno „Nadawanie reguł”, w ramach którego dostępne są następujące elementy:

  • Liczba dokumentów, dla których zastosowano reguły;
  • Komunikaty o tym, jaka reguła została zastosowana dla ilu dokumentów (po zakończeniu nadawania reguł);
  • Liczba błędów;
  • Informacja o błędzie, zawierająca nazwę reguły, która spowodowała błąd, i treść błędu;
  • Przycisk [Zatrzymaj], który pozwala na przerwanie procesu na żądanie operatora – dotychczas wprowadzone zmiany zostają zachowane

 

Okno widoczne podczas pobierania listy faktur KSeF – gdy następuje nadawanie reguł na dokumenty pobierane z KSeF

 

Okno widoczne po pobraniu listy faktur KSeF – gdy zastosowano reguły zapisane na zakładce „Reguły“

 

W przypadku, gdy operator chce nadpisać regułę, powinien usunąć nadpisywaną regułę na zakładce „Reguły” na definicji punktu ACD albo ręcznie wymazać ją z pola i za pomocą przycisku „Wykonaj regułę”, dostępnego na tej zakładce, nadać nową regułę na dokumentach bez przypisanej reguły.

W wersji 2026.1.0 w punkcie ACD typu „Import dokumentów zakupu z KSeF” dodano nową kolumnę „Reguła”. W ramach tej kolumny obok każdego dokumentu dostępna jest rozwijana lista reguł, funkcjonująca według następujących zasad:

  • Jeśli faktura została automatycznie przypisana do danej reguły przy pobieraniu faktur, to przed dokonaniem edycji lub usunięcia reguły na rozwijanej liście widoczna jest tylko ta reguła;
  • Jednocześnie na liście wyświetlane są maksymalnie 4 reguły – jeśli reguł jest więcej, wówczas operator może przewinąć listę za pomocą suwaka;
  • W ramach listy dostępna jest opcja wyszukiwania po frazie, aby operator mógł zawęzić zakres wyświetlanych pozycji i szybko odnaleźć odpowiednią regułę;
  • Jeśli nazwa danej reguły nie mieści się w szerokości kolumny, wówczas pełna nazwa reguły będzie widoczna po przesunięciu kursora na daną nazwę;
  • Istnieje możliwość usunięcia reguły z dokumentu – w tym celu należy kliknąć dwukrotnie w pole w kolumnie „Reguła” w ramach danej pozycji i wymazać jego zawartość – w takim przypadku wyświetlone zostanie puste pole, a w bazie danych zapisany zostanie pusty ciąg znaków;
  • Dostępna jest opcja edycji reguły na dokumencie – operator może kliknąć dwukrotnie w pole w kolumnie „Reguła” w ramach danej pozycji i wybrać inną regułę z listy
  • W ramach kolumny nie można zapisać innej wartości niż jedna ze zdefiniowanych reguł lub wartość pusta;
  • Jeśli dany dokument nie ma przypisanej reguły, wówczas pole w kolumnie „Reguła” jest puste (choć lista reguł jest dostępna po kliknięciu);
  • W przypadku, gdy operator nada albo zmieni regułę na dokumencie, wówczas zaktualizowana lista dokumentów przypisana do danej reguły będzie widoczna dopiero po przeładowaniu listy za pomocą przycisku „Szukaj”;

W przypadku ustawienia w polu „Dokumenty“ opcji „Wszystkie“, a następnie kliknięcia pola „Generuj” zostaną generowane tylko faktury, które znajdują się na liście operatora.

Możliwe jest sortowanie listy według wartości w kolumnie „Reguła” – w tym celu należy kliknąć w nazwę kolumny, a następnie w ikonę strzałki znajdującą się obok. W przypadku, jeśli:

  • Ikona strzałki jest skierowana w górę – lista jest posortowana rosnąco według wartości w kolumnie
  • Ikona strzałki jest skierowana w dół – lista jest posortowana malejąco według wartości w kolumnie

Sortowanie dokumentów rosnąco ma miejsce w następującej kolejności:

  • dokumenty, którym nie przypisano reguły;
  • dokumenty uszeregowane alfabetycznie;
  • dokumenty ułożone zgodnie z kolejnością numeryczną (0-9);
  • dokumenty uszeregowane według znaków specjalnych;

Sortowanie dokumentów malejąco ma miejsce w następującej kolejności:

  • dokumenty uszeregowane według znaków specjalnych;
  • dokumenty ułożone zgodnie z kolejnością numeryczną (9-0);
  • dokumenty uszeregowane alfabetycznie;
  • dokumenty bez przypisanej reguły.

Szerokość kolumny może być modyfikowana – gdy operator przesunie kursor myszki na lub pod nagłówek pomiędzy kolumną „Reguła“ a poprzednią kolumną, widoczna jest ikona dwustronnej strzałki (kolor strzałki jest zależny od ustawień komputera dla wyglądu kursora) – wówczas po kliknięciu lewym przyciskiem myszki można zmienić szerokość kolumny, przeciągając ją w prawo albo w lewo.

 

Uwaga

Eksport punktu ACD typu  „Import dokumentów zakupu z KSeF” następuje według następujących zasad:

  • dane z zakładki „Reguły“ zostają wyeksportowane, a reguły zostaną przeniesione i zmapowane na tę zakładkę przy imporcie tego typu obiegu;
  • dane dotyczące reguł na zakładce „Uprawnienia“ nie są wyeksportowane.

Import punktu ACD typu  „Import dokumentów zakupu z KSeF” następuje według następujących zasad:

  • dane z zakładki „Reguły“ zostają przeniesione i zmapowane na tę zakładkę – jeśli zakładka jest pusta, wówczas pozostanie taka po imporcie typu obiegu;
  • w przypadku importu punktu ACD sprzed wprowadzenia zmian dotyczących reguł – punkt zostanie zaimportowany z pustą zakładką „Reguły“, dostępną do konfiguracji.

 

 

Lista faktur KSeF zawierająca faktury przypisane do wszystkich reguł oraz faktury nieprzypisane do żadnej reguły

 

Lista faktur KSeF zawierająca faktury przypisane do dwóch reguł, do których uprawnienia nadano operatorowi Anna Maj

 

Lista faktur KSeF zawierająca faktury przypisane do dwóch reguł oraz faktury nieprzypisane do żadnej reguły – z otwartą dla jednego z dokumentów i widoczną listą reguł

 

Wyszukiwanie według frazy na liście reguł przy wybranym dokumencie

Czy ten artykuł był pomocny?