Czy wiesz, że za pomocą procedury SQL do.OnAfterDocumentCreated możliwe jest automatyczne podpięcie wszystkich załączników z e-maila do dokumentu BPM, w tym logiczne rozdzielenie plików zOCR-owanych od pozostałych, które nie podlegają przetwarzaniu?
Zastosowanie
Dzięki tej konfiguracji złożonej z dwóch punktów ACD (Współpraca ze skrzynką pocztową (pobieranie załączników i Współpraca z Comarch OCR) oraz procedury SQL (do.OnAfterDocumentCreated), możliwa jest precyzyjna kontrola nad załącznikami pobranymi z maila, które trafiają do tworzonego dokumentu BPM. Mechanizm ten ma zastosowanie w procesach, gdzie dokumenty są pobierane ze skrzynki pocztowej i w mailu oprócz dokumentu PDF, który ma zostać zOCR-owany, są również inne załączniki, które powinny zostać podpięte podczas tworzenia dokumentu BPM, ale nie są przeznaczone do przetwarzania przez OCR.
Celem jest pobranie wszystkich załączników dołączonych do maila i podpięcie ich na dokument BPM z zachowaniem logicznej separacji oraz zapewnieniem, że plik główny jest podpięty pod kontrolkę o nazwie Załącznik, a pozostałe pliki z maila są podpięte pod osobną kontrolkę o nazwie Pozostałe załączniki.
Zawartość przykładu
- Definicja Typu Obiegu (Workflow): Wzorcowa ścieżka obiegu dokumentu kosztowego z kontrolką typu Załącznik o nazwie Załącznik, do której będzie pobierany plik po przetworzeniu przez OCR oraz drugą kontrolką tego samego typu o nazwie Pozostałe załączniki, do której będą pobierane pozostałe pliki z maila.
- Punkt konfiguracyjny ACD: Wzorcowa konfiguracja, która jest odpowiedzialna za pobranie ID dokumentu OCR, Załącznika oraz wszystkich kluczowych danych nagłówkowych (NIP, Kontrahent, Dane kontrahenta, Data zakupu, Data wystawienia, Termin płatności, Forma płatności, Waluta) oraz inicjację dokumentu obiegowego.
- Procedura SQL (do.OnAfterDocumentCreated): Procedura odpowiedzialna za logiczną segregację, eliminację wtórnych wystąpień oraz wstawienie załączników do odpowiednich kontrolek na karcie obiegu.
Kliknij tutaj, aby pobrać przykład
Zasada działania
Mechanizm opiera się na sekwencyjnym działaniu dwóch punktów ACD i procedury SQL:
- Etap I (ACD Współpraca ze skrzynką pocztową): Na skrzynkę zostaje wysłany mail, który zawiera główny plik pdf oraz pozostałe pliki. Po pobraniu wiadomości użytkownik pozostawia tylko plik pdf, który ma zostać przetworzony przez OCR, pozostałe pliki, które nie będą przetwarzane przez OCR usuwa.
- Etap II (ACD Współpraca z Comarch OCR): Plik główny PDF po pobraniu z maila zostaje zaczytany przez Comarch OCR. Następnie wygenerowany do Comarch BPM.
- Etap III (Procedura SQL — OnAfterDocumentCreated): Podczas generowania dokumentu w BPM z punktu ACD Współpraca z Comarch OCR jest wywoływana procedura do.OnAfterDocumentCreated, która podpina przetworzony przez OCR plik PDF pod kontrolkę Załącznik, a do kontrolki Pozostałe załączniki są podpinane pozostałe pliki z warunkiem wykluczającym plik główny.
Konfiguracja przykładu
1. Utworzono kontrolkę Załącznik: Na karcie obiegu dodano kontrolkę typu Załącznik o nazwie Załącznik (identyfikatorze Zalacznik), do której będzie podpinany przetworzony przez OCR dokument.

2. Utworzono kontrolkę Załącznik: Na karcie obiegu dodano kontrolkę typu Załącznik o nazwie Pozostałe załączniki (identyfikatorze PozostaleZalaczniki), do której będą podpinane pozostałe pliki z maila.

3. Utworzono kontrolkę ID_dokumentuOCR: Na karcie obiegu dodano kontrolkę typu Liczba całkowita o nazwie (identyfikatorze) ID_dokumentuOCR, do której będzie zapisywane ID OCR-owanego dokumentu.
4. Punkt ACD: Utworzono punkt: ACD – Współpraca z Comarch OCR do odczytywania danych z dokumentów pdf.

5. Utworzono kontrolki: W punkcie ACD na zakładce Kontrolki dodano kontrolki:
- Załącznik (identyfikator Zalacznik), do której będzie podpinany przetworzony przez OCR dokument i przypisano zapytanie:
select OCD_SourceContent, OCD_FileName from DO.OC_Documents left join do.DF_WorkAPProcess on OCD_ID = APW_DocumentID1 where OCD_ID=@ID1@
- ID_dokumentuOCR, do której będzie pobierane ID dokumentu OCR i przypisano zapytanie:
select @Id1@

6. Punkt ACD: Utworzono punkt Współpraca ze skrzynką pocztową (pobieranie załączników).

7. Procedura SQL (do.OnAfterDocumentCreated): Na bazie BPM w Management Studio w procedurze do.OnAfterDocumentCreated został uruchomiony skrypt, który do kontrolki Załącznik podpina zOCR-owany dokument, a pod kontrolkę Pozostałe załączniki podpina pozostałe pliki z maila.
----------------------Pobieranie załączników z maila----------------------
DECLARE @DWCID_Glowne INT
DECLARE @DWCID_Inne INT
DECLARE @DDSID INT
DECLARE @OCDID INT
DECLARE @MLM_Id INT
DECLARE @MLA_Id_Glownego INT
DECLARE @OCD_FileName_String VARCHAR(MAX)
/* 1. POBIERANIE ZMIENNYCH */
/* Pobranie ID Kontrolki 'Załączniki' (kontrolka główna) */
SELECT @DWCID_Glowne = DWC_ID FROM do.RO_ControlsValue WHERE DWD_ID = @DocumentId AND DKO_Name = 'Zalacznik'
/* Pobranie ID Kontrolki 'Pozostałe załączniki' (kontrolka pomocnicza) */
SELECT @DWCID_Inne = DWC_ID FROM do.RO_ControlsValue WHERE DWD_ID = @DocumentId AND DKO_Name = 'PozostaleZalaczniki'
/*Pobranie ID dokumentu przetworzonego przez OCR(klucz do identyfikacji pliku głównego)*/
SELECT @OCDID = Value FROM do.RO_ControlsValue WHERE DWD_ID = @DocumentId AND DKO_Name = 'ID_dokumentuOCR'
/* Pobranie ID etapu (Stage ID), na którym znajduje się obecnie dokument */
SELECT @DDSID = DDS_ID FROM do.RO_StageActive WHERE DWD_ID = @DocumentId
/* 2. POBRANIE ID GŁÓWNEGO ZAŁĄCZNIKA (@MLA_Id_Glownego) - Poprawne Parsowanie */
SELECT @OCD_FileName_String = OCD_FileName
FROM do.OC_Documents
WHERE OCD_id = @OCDID
/* Użycie parsowania (Trzeci segment to MLA_Id, pierwszy to MLM_Id) */
DECLARE @Pos1 INT = CHARINDEX('_', @OCD_FileName_String);
DECLARE @Pos2 INT = CHARINDEX('_', @OCD_FileName_String, @Pos1 + 1);
DECLARE @Pos3 INT = CHARINDEX('_', @OCD_FileName_String, @Pos2 + 1);
IF @Pos3 > 0
BEGIN
SET @MLM_Id = CAST(SUBSTRING(@OCD_FileName_String, 0, @Pos1) AS INT);
SET @MLA_Id_Glownego = CAST(
SUBSTRING(
@OCD_FileName_String,
@Pos2 + 1,
@Pos3 - @Pos2 - 1
)
AS INT);
END
ELSE
BEGIN
SET @MLM_Id = 0;
SET @MLA_Id_Glownego = 0;
END
/* 3. CZYSZCZENIE: USUŃ PLIKI WCZEŚNIEJ WSTAWIONE DO KONTROLKI GŁÓWNEJ
To jest konieczne, aby usunąć plik o "długiej nazwie" wstawiony przez system OCR */
DELETE FROM do.DF_WorkCFBin
WHERE DWB_DWCID = @DWCID_Glowne;
/* 4. CZĘŚĆ 1: Wstawianie GŁÓWNEGO ZAŁĄCZNIKA (Załączniki)
Cel: Wstaw oryginalny plik (krótsza nazwa) */
INSERT INTO do.DF_WorkCFBin (DWB_ID, [DWB_DWCID], [DWB_BIN], [DWB_Name], [DWB_Size], [DWB_Archival], [DWB_CreateDate], [DWB_CompanyId], [DWB_ModificationData], [DWB_DDSID], [DWB_DCDID], [DWB_AngleOfRotation])
SELECT
NEWID(),
@DWCID_Glowne, /* Podpinanie pod główną kontrolkę */
MLA_Content,
MLA_FileName, /* Wstawia KRÓTSZĄ, ORYGINALNĄ NAZWĘ */
DATALENGTH(MLA_Content),
0,
GETDATE(),
1,
GETDATE(),
@DDSID,
1,
0
FROM do.ML_Mail_Attachments
WHERE
MLA_MailId = @MLM_Id
/* WARUNEK UNIKALNY: TYLKO ten załącznik, który ma ID głównego dokumentu */
AND MLA_Id = @MLA_Id_Glownego
/* 5. CZĘŚĆ 2: Wstawianie POZOSTAŁYCH ZAŁĄCZNIKÓW (PozostałeZałączniki)
-- Cel: Wstaw WSZYSTKO inne, co NIE jest plikiem GŁÓWNYM. */
INSERT INTO do.DF_WorkCFBin (DWB_ID, [DWB_DWCID], [DWB_BIN], [DWB_Name], [DWB_Size], [DWB_Archival], [DWB_CreateDate], [DWB_CompanyId], [DWB_ModificationData], [DWB_DDSID], [DWB_DCDID], [DWB_AngleOfRotation])
SELECT
NEWID(),
@DWCID_Inne, -- Podpinanie pod dodatkową kontrolkę
MLA_Content,
MLA_FileName,
DATALENGTH(MLA_Content),
0,
GETDATE(),
1,
GETDATE(),
@DDSID,
1,
0
FROM do.ML_Mail_Attachments
WHERE
MLA_MailId = @MLM_Id
/* WARUNEK WYKLUCZAJĄCY GŁÓWNY DOKUMENT: Wyklucz plik, który ma to samo MLA_Id */
AND MLA_Id <> @MLA_Id_Glownego
/* WYKLUCZENIA (Anty-Smime) */
AND MLA_FileName NOT LIKE '%.smime'
AND MLA_FileName NOT LIKE '%smime%'
AND MLA_FileName NOT LIKE '%.p7s'
AND MLA_FileName NOT LIKE 'ATT%DOC'
-------------------------------KONIEC---------------------
Podpięcie dokumentów pod odpowiednie kontrolki typu Załącznik po utworzeniu dokumentu z punktu ACD Comarch OCR
1. Do punktu ACD Współpraca ze skrzynką pocztową (pobieranie załączników) pobrano wiadomość e-mail z załącznikami. Tylko jeden plik ma zostać przetworzony przez OCR, a pozostałe powinny zostać usunięte z listy ręcznie przez użytkownika.

2. Po usunięciu pozostałych plików, które nie podlegają przetworzeniu przez OCR, został zaznaczony mail i dokument z listy zapisano do folderu, który jest wskazany z powiązanym punktem ACD Współpraca z Comarch OCR (Faktura kosztowa + załaczniki).

3. Dokument został pobrany przez punkt OCR (Faktura kosztowa + załaczniki). Po zaznaczeniu dokumentu i kliknięciu na przycisk Generuj dokument został utworzony w Comarch BPM w ramach typu obiegu wskazanego w tym punkcie.


4. Dokument główny został podpięty pod kontrolkę Załącznik, a pozostałe pliki z maila pod kontrolkę Pozostałe załączniki.

Czy wiesz, że po dodaniu wiersza w kontrolce typu Dane tabelaryczne poszczególne kolumny mogą zainicjować się wartością domyślną?
Zastosowanie
Dzięki tej konfiguracji, proces wprowadzania danych jest znacząco przyspieszony w przypadku dokumentów wymagających wielokrotnego dodawania tych samych lub podobnych pozycji. Głównym celem jest automatyczne wypełnienie kolumn nowo dodanego wiersza domyślnymi wartościami (np. nazwa, ilość, stawka VAT). Eliminuje to błędy i powtarzalne czynności użytkownika, co pozwala pracownikom skupić się na weryfikacji danych, a nie na ich rutynowym wprowadzaniu. Dodatkową, unikalną korzyścią tego przykładu jest to, że zawiera on w sobie pełną logikę dynamicznego i dwukierunkowego przeliczania kwot (Netto/Brutto) w wierszu, dzięki dodatkowemu zapytaniu SQL.
Zawartość przykładu
- Definicja Typu Obiegu (Workflow): Wzorcowa ścieżka obiegu dokumentu kosztowego z krokami akceptacji i konfiguracją kontrolki Dane tabelaryczne i wygenerowaniem dokumentu do Comarch ERPXL
Kliknij tutaj, aby pobrać przykład
Zasada działania
Mechanizm opiera się na monitorowaniu zdarzenia dodania nowego wiersza i uruchamianiu zapytania SQL, które w odpowiedzi wypełnia pola domyślnymi wartościami.
- Kontrolka Dane Tabelaryczne jest skonfigurowana tak, aby obserwować samą siebie i reagować na zdarzenie wywołane przez dodanie nowego wiersza za pomocą przycisku „+” (Dodaj).
- Na zakładce Inicjowanie wartości umieszczone jest zapytanie SQL, które sprawdza, czy kolumna ma wartość -1 (@Elementy_Column@ = -1). Wartość -1 oznacza, że operacja dotyczy dodania nowego wiersza.
- Wewnątrz bloku BEGIN zapytanie SQL używa komendy UPDATE @Elementy@ do ustawienia domyślnych wartości (np. Nazwa = 'a-vista’, Ilosc = 1, StawkaVAT=1) dla nowo dodanej pozycji.
- Kolumna wynikowa Netto została ustawiona w trybie „Do odczytu”, aby użytkownik nie mógł ręcznie jej edytować.
Konfiguracja przykładu
1. Utworzono kontrolkę Tabelaryczną: Dodano kontrolkę typu Dane tabelaryczne o nazwie (identyfikatorze) Elementy i skonfigurowano w niej następujące kolumny:
- ”Nazwa” (identyfikator kolumny: Nazwa) – typ Tekst
- ”Cena” (identyfikator kolumny: Cena) – typ Liczba stałoprzecinkowa
- ”Ilość” (identyfikator kolumny: Ilosc) –typ Liczba stałoprzecinkowa
- ”Netto” (identyfikator kolumny: Netto) – typ Liczba stałoprzecinkowa
- ”Stawka VAT” (identyfikator kolumny: StawkaVAT) – typ Lista
- ”Brutto” (identyfikator kolumny: Brutto) – typ Liczba stałoprzecinkowa

2. W kontrolce typu Dane tabelaryczne na zakładce Listy zdefiniowano zapytanie pobierające:
- Stawki VAT:
select Naz_gidLp as Id, CASE WHEN Naz_Nazwa='A 23.00' THEN '23%' WHEN Naz_Nazwa='B 8.00' THEN '8%' WHEN Naz_Nazwa='C 0.00' THEN '0%' WHEN Naz_Nazwa='D 0.00' THEN 'ZW' WHEN Naz_Nazwa='E 0.00' THEN 'NP' WHEN Naz_Nazwa='F 7.00' THEN '7%' WHEN Naz_Nazwa='G 5.00' THEN '5%' END from CDN.Nazwy where Naz_GIDTyp = 624 AND trim(substring(Naz_Nazwa,9,2))=''

3. Dodano obserwację kontrolki: W kontrolce Dane tabelaryczne, na zakładce Inicjowanie wartości, dodano powiązanie do samej siebie.

4. Dodano zapytanie inicjujące SQL: W kontrolce typu Dane tabelaryczne, na zakładce Inicjowanie wartości w sekcji Inicjowanie SQL ERP dodano zapytanie, które zawiera warunek sprawdzający dodanie nowego wiersza IF @Elementy_Column@ = -1 oraz instrukcję update, która ustawia wartości domyślne dla kolumn (Nazwa, Ilość, Stawka VAT) w bieżącym wierszu.
Oprócz inicjacji nowego wiersza, zapytanie zawiera również logikę dwukierunkowego przeliczania wartości (Netto, Brutto, Cena) dla już istniejących wierszy, co czyni ten wzorzec gotowym rozwiązaniem dla każdej kontrolki z kalkulacjami finansowymi.
IF @^SenderControlName@ = 'Elementy'
IF @Elementy_Column@ = -1 /*[1] LOGIKA: INICJACJA NOWEGO WIERSZA (WYZWALANE KLIKNIĘCIEM '+') */
BEGIN
/*Ustawienie domyślnych wartości dla nowego wiersza */
UPDATE @Elementy@
SET [Nazwa] = 'a-vista',
[Ilosc] = 1,
[StawkaVAT] = 1 /*Identyfikator stawki domyślnej (ID=1 - stawka 23%)*/
WHERE POS = @Elementy_Row@
/*!!! OBOWIĄZKOWE: Odświeżenie wiersza w kontrolce Dane Tabelaryczne !!! */
SELECT * FROM @Elementy@
END
ELSE IF @Elementy_Column@=2 OR @Elementy_Column@=3 OR @Elementy_Column@=5
/*[2] LOGIKA: PRZELICZANIE W PRZÓD (Cena/Ilość/Stawka VAT -> Netto/Brutto) */
BEGIN
DECLARE @VAT AS DECIMAL(4, 2)
/*Pobranie stawki VAT z tabel CDN.Nazwy */
SELECT @VAT = CAST(SUBSTRING(Naz_Nazwa1, 0, CHARINDEX(' ', Naz_Nazwa1))
AS DECIMAL(4, 2)) / 100
FROM CDN.Nazwy
WHERE Naz_GIDTyp = 624 AND Naz_GIDLp = (SELECT [StawkaVAT] FROM @Elementy@
WHERE POS = @Elementy_Row@)
/*Wyliczenie i aktualizacja netto i brutto*/
UPDATE @Elementy@
SET [Netto] = (Ilosc * Cena),
[Brutto] = (Ilosc * Cena) * (@VAT + 1)
WHERE POS = @Elementy_Row@
/*!!! OBOWIĄZKOWE: Odświeżenie wiersza w kontrolce Dane Tabelaryczne !!! */
SELECT * FROM @Elementy@
END
ELSE BEGIN
IF @Elementy_Column@=3 OR @Elementy_Column@=5 OR @Elementy_Column@=6 -- [3] LOGIKA: PRZELICZANIE W TYŁ (Brutto -> Cena/Netto)
/*Pobranie stawki VAT*/
SELECT @VAT = CAST(SUBSTRING(Naz_Nazwa1, 0, CHARINDEX(' ', Naz_Nazwa1))
AS DECIMAL(4, 2)) / 100
FROM CDN.Nazwy
WHERE Naz_GIDTyp = 624 AND Naz_GIDLp = (SELECT [StawkaVAT] FROM @Elementy@
WHERE POS = @Elementy_Row@)
/*Aktualizacja ceny i netto*/
UPDATE @Elementy@
SET [Cena] = [Brutto] / (@VAT + 1),
[Netto] = [Ilosc] * ([Brutto] / (@VAT + 1))
WHERE POS = @Elementy_Row@
/*!!! OBOWIĄZKOWE: Odświeżenie wiersza w kontrolce Dane Tabelaryczne !!!*/
SELECT * FROM @Elementy@
END

5. Tryb pracy: W kontrolce typu Dane tabelaryczne, na zakładce Ograniczenie edycji kolumnę „Netto” ustawiono w trybie „Do odczytu”.

Uzupełniona Kontrolka Dane Tabelaryczne
Po kliknięciu ikony „+” (Dodaj) na karcie obiegu, nowy wiersz kontrolki typu Dane Tabelaryczne został automatycznie zainicjowany wartościami domyślnymi. Kolumny: Nazwa i Ilość oraz Stawka VAT zostały wypełnione wartościami zdefiniowanymi w zapytaniu SQL. Kolumny zostały wstępnie wypełnione, co skraca czas uzupełniania danych dla powtarzalnych pozycji. Dodatkowo dzięki rozbudowanemu zapytaniu SQL, dla nowo wprowadzonych wierszy istnieje możliwości dwukierunkowego przeliczania wartości (Netto, Brutto, Cena) co, ułatwia bieżącą aktualizację i kontrolę poszczególnych pozycji.

Czy wiesz, że w Comarch BPM można zweryfikować, czy dokument o danym numerze jest już wystawiony (tzw. weryfikacja numeru obcego)?
Zastosowanie
Dzięki tej konfiguracji system Comarch BPM zyskuje zdolność do aktywnego wykrywania i ostrzegania przed duplikatami dokumentów w obiegu. Zastosowanie to zapewnia integralność i spójność danych, uniemożliwiając wprowadzenie dokumentu, który już został zarejestrowany w systemie pod tym samym numerem i jest przypisany do tego samego kontrahenta. W przypadku wykrycia duplikatu, system natychmiast wyświetla komunikat ostrzegawczy.
Zawartość przykładu
- Definicja Typu Obiegu (Workflow): Wzorcowa ścieżka obiegu dokumentu kosztowego z krokami akceptacji i konfiguracją kontrolki Komunikat, konfiguracją kontrolki Dane tabelaryczne i wygenerowaniem dokumentu do Comarch ERPXL
Kliknij tutaj, aby pobrać przykład
Zasada działania
- Mechanizm opiera się na kontrolce typu Komunikat, która pełni rolę Obserwatora dwóch kluczowych pól wejściowych: Numer dokumentu i Kontrahent.
- Kontrolka Komunikat jest wyzwalana przy każdej zmianie wartości w polach: Numer dokumentu oraz Kontrahent.
- Komunikat wykonuje zapytanie SQL, które przeszukuje bazę BPM, odwołując się do tabel dokumentów (do.RO_Documents) i wartości kontrolek (do.RO_ControlsValueexpand).
- Zapytanie szuka innego dokumentu (z pominięciem aktualnie edytowanego dokumentu: t2.dwd_ID <> isnull(@^DocumentId @,0)), w tym samym Typie Obiegu (t1.DFH_Name=’Weryfikacja numeru obcego BPM’), o tym samym Numerze dokumentu (t3.DWC_ValueString = @Numer_dokumentu@) i przypisanego do tego samego Kontrahenta (t4.DWC_ValueInt= @Kontrahent_Id@).
- Jeśli duplikat zostanie znaleziony (If exists (Select 1 from…)), kontrolka wyświetla komunikat: „Numer faktury dla wskazanego kontrahenta już istnieje”.
Konfiguracja przykładu
1.Na karcie obiegu zdefiniowano następujące kontrolki niezbędne do skonfigurowania mechanizmu sprawdzania, czy dokument o danym numerze już istnieje w obiegu Comarch BPM:
- „Numer dokumentu” (identyfikator: Numer_dokumentu) – typ Tekst
- „Kontrahent” (identyfikator: Kontrahent) – typ Kontrahent
- „Komunikat” (identyfikator: Komunikat) – typ Komunikat
2.Dodano obserwację kontrolek: Kontrolka Komunikat obserwuje pola „Numer dokumentu” i „Kontrahent”.

3.Dodano zapytanie SQL: Kontrolka Komunikat zawiera zapytanie SQL, które wykonuje weryfikację, sprawdzając, czy inny dokument w tym samym Typie Obiegu (DFH_Name=’Weryfikacja numeru obcego BPM’) ma ten sam numer i tego samego kontrahenta.
- Jeśli duplikat zostanie znaleziony, wyświetla komunikat: „Numer faktury dla wskazanego kontrahenta już istnieje”.
BEGIN TRY If exists (Select 1 from do.RO_ObjectsTypes as t1 join do.RO_Documents as t2 on t1.DFH_Id=t2.DFH_Id join do.RO_ControlsValueexpand as t3 on t3.DWD_ID=t2.DWD_ID join do.RO_ControlsValueExpand as t4 on t4.DWD_ID=t2.DWD_ID where t3.DWC_ValueString = @Numer_dokumentu@ /*Odwołanie do kontrolki Numer dokumentu*/ and t1.DFH_Name='Weryfikacja numeru obcego w BPM' /*Podstawić właściwą nazwę typu obiegu*/ and t3.DKO_Name='Numer_dokumentu' /*Identyfikator kontrolki Numer dokumentu*/ and t4.DKO_Name='Kontrahent' /*Identyfikator kontrolki Kontrahent*/ and t4.DWC_ValueInt= @Kontrahent_Id@ /*Odwołanie do kontrolki Kontrahent*/ and t2.dwd_ID <> isnull( @^DocumentId@,0) ) Begin /*Informacja, która jest wyświetlana na karcie obiegu, w przypadku duplikacji*/ SELECT 'Numer faktury dla wskazanego kontrahenta już istnieje', 1 End END TRY BEGIN CATCH DECLARE @ErrorMessage varchar(max) = 'W zapytaniu wystąpił błąd : ' + ERROR_MESSAGE(); THROW 50001, @ErrorMessage ,1; END CATCH
Komentarze dotyczące Logiki Zapytania:
- t3.DWC_ValueString = @Numer_dokumentu@: Odwołanie do kontrolki Numer dokumentu
- t1.DFH_Name=’Weryfikacja numeru obcego w BPM’: Podstawić właściwą nazwę typu obiegu
- t3.DKO_Name=’Numer_dokumentu’: Identyfikator kontrolki Numer dokumentu
- t4.DKO_Name=’Kontrahent’: Identyfikator kontrolki Kontrahent
- t4.DWC_ValueInt= @Kontrahent_Id@: Odwołanie do kontrolki Kontrahent
- SELECT ’Numer faktury dla wskazanego kontrahenta już istnieje’, 1: Informacja, która jest wyświetlana na karcie obiegu, w przypadku duplikacji.
- Wartość 1 (Blokada Zapisu): Jeżeli zapytanie zwraca wartość 1, komunikat pojawia się na karcie obiegu, a zapisanie nowoutworzonego dokumentu lub przekazanie już zapisanego dokumentu do kolejnego etapu zostanie zablokowane. System wymusi poprawienie danych przez użytkownika, uniemożliwiając wprowadzenie duplikatu do obiegu.
- Wartość 0 (Brak Blokady): Jeżeli zamiast jedynki zwracana jest wartość 0, komunikat pojawi się jedynie jako ostrzeżenie. Użytkownik będzie mógł zapisać i procesować dokument dalej, ponieważ system zasygnalizuje potencjalny duplikat, ale nie zablokuje pracy.

Weryfikacja Duplikacji Dokumentów
Na nowoutworzonym dokumencie, który nie został jeszcze zapisany, po wprowadzeniu numeru dokumentu do kontrolki „Numer dokumentu” i następnie wybraniu kontrahenta w kontrolce „Kontrahent”, mechanizm weryfikacji zostaje natychmiast wyzwolony. System wykonał zapytanie SQL, sprawdzając bazę BPM. Kluczowym elementem zapytania jest warunek t2.dwd_ID <> isnull( @^DocumentId@,0), który zapewnia, że weryfikacja ignoruje bieżący dokument (ponieważ dopiero jest tworzony i nie ma nadanego numeru w obiegu BPM, który by go identyfikował jako zapisany). W tym momencie system wykrył, że dokument o tym samym numerze dla wskazanego kontrahenta już istnieje w BPM i pojawia się komunikat ostrzegawczy: „Numer faktury dla wskazanego kontrahenta już istnieje”. Wartość 1 w instrukcji SELECT zapytania oznacza Blokadę zapisu. System uniemożliwia zapisanie dokumentu do kolejnego etapu, dopóki nie zostanie skorygowany numer dokumentu lub kontrahent.

Czy wiesz, że w kontrolce Dane tabelaryczne wartości w poszczególnych kolumnach mogą się przeliczać w oparciu o zmianę wartości w innej kolumnie przy pomocy zapytania SQL?
Zastosowanie
Dzięki zastosowaniu tej konfiguracji, proces wprowadzania danych w Comarch BPM zyskuje pełną zdolność automatycznego kalkulowania wszędzie tam, gdzie użyta jest kontrolka tabelaryczna. Głównym celem jest eliminacja ręcznych obliczeń, co bezpośrednio przekłada się na mniejszą liczbę błędów i znacznie szybszą pracę użytkownika. Konfiguracja ta umożliwia automatyczne przeliczanie wartości w kolumnach wynikowych (np. Netto, Brutto) w oparciu o zmianę danych wejściowych (np. Cena lub Ilość) w tym samym wierszu.
Zawartość przykładu
- Definicja Typu Obiegu (Workflow): Wzorcowa ścieżka obiegu dokumentu kosztowego z krokami akceptacji i konfiguracją kontrolki Dane tabelaryczne i wygenerowaniem dokumentu do Comarch ERPXL
Kliknij tutaj, aby pobrać przykład
Zasada działania
Mechanizm opiera się na ciągłym monitorowaniu zmian wartości w kontrolce tabelarycznej i automatycznym uruchamianiu zapytania SQL, które przelicza i aktualizuje wartości w kolumnach wynikowych.
- Kontrolka Dane Tabelaryczne jest skonfigurowana tak, aby obserwować samą siebie i reagować na każdą edycję wiersza.
- Zapytanie SQL, zaimplementowane na zakładce Inicjowanie wartości, jest wyzwalane przy każdej zmianie wartości w kolumnach wejściowych (Cena, Ilość lub Stawka VAT).
- Przeliczania W Przód: (Cena/Ilość): Logika IF w kodzie SQL jest wyzwalana przy zmianie kolumn wejściowych (np. Cena lub Ilość). W tym trybie Netto i Brutto są obliczane na podstawie wartości wejściowych i stawki VAT.
- Przeliczania W Tył: (Brutto): Logika ELSE IF jest wyzwalana przy zmianie kolumny Brutto. W tym trybie system przelicza i aktualizuje wartość w kolumnie Cena lub Netto, traktując Ilość jako stałą, zachowując tym samym wewnętrzną spójność wiersza.
- Zapytanie SQL pobiera niezbędne dane (np. wartość Stawki VAT z tabeli CDN.Nazwy). Następnie, za pomocą komendy UPDATE, bezpośrednio przelicza i aktualizuje wartości w kolumnach wynikowych (Netto oraz Brutto).
- Kolumna wynikowa Netto została ustawiona w trybie „Do odczytu”, aby użytkownik nie mógł ręcznie jej edytować.
- Osobna kontrolka typu Podsumowanie obserwuje kolumnę wynikową (Brutto) i zlicza jej sumę za pomocą prostego zapytania SQL (select sum (Brutto) from @Elementy@).
Konfiguracja przykładu
1. Utworzono kontrolkę Tabelaryczną: Dodano kontrolkę typu Dane tabelaryczne o nazwie (identyfikatorze) Elementy i skonfigurowano w niej następujące kolumny:
- ”Nazwa” (identyfikator kolumny: Nazwa) – typ Tekst
- ”Cena” (identyfikator kolumny: Cena) – typ Liczba stałoprzecinkowa
- ”Ilość” (identyfikator kolumny: Ilosc) – typ Liczba stałoprzecinkowa
- ”Netto” (identyfikator kolumny: Netto) – typ Liczba stałoprzecinkowa
- ”Stawka VAT” (identyfikator kolumny: StawkaVAT) – typ Lista
- ”Brutto” (identyfikator kolumny: Brutto) – typ Liczba stałoprzecinkowa

2. W kontrolce typu Dane tabelaryczne na zakładce Listy zdefiniowano zapytanie pobierające:
- Stawki VAT:
select Naz_gidLp as Id, CASE WHEN Naz_Nazwa='A 23.00' THEN '23%' WHEN Naz_Nazwa='B 8.00' THEN '8%' WHEN Naz_Nazwa='C 0.00' THEN '0%' WHEN Naz_Nazwa='D 0.00' THEN 'ZW' WHEN Naz_Nazwa='E 0.00' THEN 'NP' WHEN Naz_Nazwa='F 7.00' THEN '7%' WHEN Naz_Nazwa='G 5.00' THEN '5%' END from CDN.Nazwy where Naz_GIDTyp = 624 AND trim(substring(Naz_Nazwa,9,2))=''

3. Dodano obserwację kontrolki: W kontrolce typu Dane tabelaryczne, na zakładce Inicjowanie wartości, dodano powiązanie do samej siebie.

4. Dodano zapytanie SQL: W kontrolce typu Dane tabelaryczne, na zakładce Inicjowanie wartości w sekcji Wzór na wartość SQL ERP dodano zapytanie, które pobiera stawki VAT z bazy XL i na podstawie Ilości i Ceny wylicza wartość Netto, po uzupełnieniu Stawki VAT wylicza wartość Brutto, a po zmianie wartości Brutto wylicza Cenę i wartość Brutto.
/*Deklaracja Stawki VAT */
DECLARE @VAT AS DECIMAL(4, 2)
/* Pobranie stawki VAT z tabeli CDN.Nazwy na podstawie kolumny StawkaVAT w bieżącym wierszu */
SELECT @VAT = CAST(SUBSTRING(Naz_Nazwa1, 0, CHARINDEX(' ', Naz_Nazwa1)) AS DECIMAL(4, 2)) / 100
FROM CDN.Nazwy
WHERE Naz_GIDTyp = 624
AND Naz_GIDLp = (
SELECT [StawkaVAT]
FROM @Elementy@
WHERE POS = @Elementy_Row@
)
/* JEŚLI ZMIENIONO KOLUMNY: 2 (Cena), 3 (Ilość), 5 (Stawka VAT) */
IF @Elementy_Column@=2 OR @Elementy_Column@=3 OR @Elementy_Column@=5
BEGIN
/* PRZELICZANIE W PRZÓD (Cena/Ilość/Stawka VAT -> Netto/Brutto) */
/*Wyliczenie i aktualizacja netto i brutto */
UPDATE @Elementy@
SET
[Netto] = (Ilosc * Cena),
[Brutto] = (Ilosc * Cena) * (@VAT + 1)
WHERE POS = @Elementy_Row@
/* !!! OBOWIĄZKOWE: Odświeżenie wiersza !!! */
SELECT * FROM @Elementy@
END
/* JEŚLI ZMIENIONO KOLUMNĘ: 6 (Brutto) */
IF @Elementy_Column@=6
BEGIN
/* PRZELICZANIE W TYŁ (Brutto -> Cena/Netto) */
/* Aktualizacja ceny i netto (Ilość stała) */
UPDATE @Elementy@
SET
[Cena] = [Brutto] / (@VAT + 1), -- Obliczenie Ceny Netto z Brutto
[Netto] = [Ilosc] * ([Brutto] / (@VAT + 1)) -- Obliczenie Wartości Netto
WHERE POS = @Elementy_Row@
/* !!! OBOWIĄZKOWE: Odświeżenie wiersza !!! */
SELECT * FROM @Elementy@
END

5. Tryb pracy: W kontrolce typu Dane tabelaryczne, na zakładce Ograniczenie edycji kolumnę „Netto”ustawiono w trybie „Do odczytu”.

6. Utworzono kontrolkę liczbową: Dodano kontrolkę typu Liczba stałoprzecinkowa o nazwie (identyfikatorze) Podsumowanie, w której dodano powiązanie do kontrolki Elementy i skonfigurowano w niej zapytanie, które zlicza wartość z kolumny Brutto z kontrolki tabelarycznej:
select sum (Brutto) from @Elementy@

Uzupełniona Kontrolka Dane Tabelaryczne
Po wprowadzeniu wartości w kontrolce typu Dane tabelaryczne w kolumnach Cena, Ilość lub Stawka VAT kontrolka typu Dane Tabelaryczne została automatycznie zaktualizowana. Dla każdej pozycji, system automatycznie przeliczył i uzupełnił wartości w kolumnach Netto oraz Brutto w tym samym wierszu. Możliwe jest przeliczanie wartości w przód (Cena/Ilość → Netto/Brutto) oraz w tył (Brutto → Cena/Netto). Wartości w kolumnach wynikowych (Netto, Brutto) są widoczne, ale kolumna Netto jest zablokowana do ręcznej edycji (tryb „Do odczytu„), co gwarantuje poprawność danych. Kontrolka Podsumowanie wyświetla poprawną sumę końcową z kolumny Brutto kontrolki typu Dane tabelaryczne.

Czy wiesz, że kontrolkę Dane tabelaryczne można zainicjować wartością domyślną?
Zastosowanie
Dzięki tej konfiguracji, proces obsługi dokumentów w Comarch BPM zyskuje bezpośrednią oszczędność czasu i gwarancję spójności danych. Umożliwia automatyczne wstępne wypełnienie kontrolki tabelarycznej na wskazanym etapie obiegu, eliminując potrzebę ręcznego dodawania wierszy. W efekcie, użytkownik zyskuje natychmiastową gotowość do pracy w momencie rozpoczęcia obiegu. Minimalizuje to błędy poprawności danych, gwarantując, że dane są dokładne, spójne i aktualne oraz znacząco przyspiesza obsługę standardowych, powtarzalnych procesów.
Zawartość przykładu
- Definicja Typu Obiegu (Workflow): Wzorcowa ścieżka obiegu, która zawiera konfigurację kontrolki Dane tabelaryczne
Kliknij tutaj, aby pobrać przykład
Zasada działania
Mechanizm wykorzystuje zasadę, że kontrolka tabelaryczna to tabela tymczasowa SQL, którą można wypełnić dowolnymi danymi za pomocą zapytania.
- Zapytanie SQL jest umieszczone na zakładce Inicjowanie wartości i zawiera dane, które mają pojawić się w tabeli.
- Na etapie, na którym kontrolka ma zostać zainicjowana, zaznacza się opcję „Inicjalizacja SQL”. Zapytanie jest uruchamiane raz, wypełniając wiersze wartością domyślną.
- Aby zainicjować kontrolkę więcej niż jednym wierszem, wykorzystuje się instrukcję operacji na zbiorach UNION, która łączy wyniki poszczególnych zapytań SELECT.
- Ostatnią kolumną w zapytaniu jest kolumna LP (numer wiersza), którą w zapytaniu inicjalizujemy zerami (0 as LP). System automatycznie zastępuje te zera kolejnymi wartościami porządkowymi.
Konfiguracja przykładu
1. Utworzono kontrolkę Tabelaryczną: Dodano kontrolkę typu Dane tabelaryczne o nazwie (identyfikatorze) Dokumenty i skonfigurowano w niej następujące kolumny:
- ”Nazwa” (identyfikator kolumny: Nazwa) – typ Tekst
- ”Kwota” (identyfikator kolumny: Kwota) – typ Liczba stałoprzecinkowa
- ”Termin” (identyfikator kolumny: Termin) – typ Data i godzina

2. Dodano zapytanie inicjujące SQL: W kontrolce Dane tabelaryczne, na zakładce Inicjowanie wartości w sekcji Inicjowanie SQL dodano zapytanie, które uzupełni kontrolkę wartościami domyślnymi: numerem faktury, kwotą oraz terminem.
SELECT 'Faktura 001' AS nazwa, 1500.00 AS kwota,'2025-04-15' AS termin, 0 as LP UNION SELECT 'Faktura 002' AS nazwa, 3200.50 AS kwota, '2025-04-20' AS termin, 0 as LP

3. Włączenie Inicjalizacji: Na etapie, na którym kontrolka ma się zainicjować wartościami domyślnymi (np. na pierwszym etapie obiegu), zaznaczono opcję „Inicjalizacja SQL”.

Uzupełniona Kontrolka typu Dane Tabelaryczne
Po utworzeniu dokumentu, kontrolka typu Dane Tabelaryczne została automatycznie zainicjowana domyślnymi wartościami pobranymi z zapytania SQL. Tabela zawiera wiersze z kompletnymi danymi: numer faktury, kwotą, terminem, eliminując tym samym konieczność ręcznego dodawania pozycji i skracając czas obsługi dokumentu.

Czy wiesz, że można wypełnić kontrolkę typu Dane tabelaryczne pozycjami dokumentu zaczytanego przez Comarch OCR oraz przeliczyć wartości przy współpracy z Comarch ERP XL?
Zastosowanie
Dzięki zastosowaniu tej zintegrowanej konfiguracji, proces obiegu faktur kosztowych w Comarch BPM zyskuje pełną automatyzację i spójność danych. Głównym celem jest:
- Eliminacja ręcznego wprowadzania pozycji dokumentów: Dane zaczytane przez Comarch OCR są automatycznie mapowane i wypełniają kontrolkę tabelaryczną na karcie obiegu.
- Automatyczne kalkulowanie wartości: Kontrolka tabelaryczna uzyskuje pełną zdolność automatycznego przeliczania wszędzie tam, gdzie zmienione zostaną dane wejściowe (np. Cena, Ilość, Stawka VAT, Brutto).
- Minimalizacja błędów i skrócenie czasu obsługi faktury: Proces akceptacji bazuje na poprawnych i spójnych danych, które są automatycznie kalkulowane i aktualizowane, zanim dokument zostanie zaksięgowany w ERP XL.
Zawartość przykładu
- Definicja Typu Obiegu (Workflow): Wzorcowa ścieżka obiegu dokumentu kosztowego z krokami akceptacji, konfiguracją kontrolki Dane tabelaryczne i wygenerowaniem dokumentu do Comarch ERPXL
- Punkt konfiguracyjny ACD: Wzorcowa konfiguracja, która jest odpowiedzialna za pobranie ID dokumentu OCR, Załącznika oraz wszystkich kluczowych danych nagłówkowych (NIP, Kontrahent, Dane kontrahenta, Data zakupu, Data wystawienia, Termin płatności, Forma płatności, Waluta) oraz inicjację dokumentu obiegowego.
Kliknij tutaj, aby pobrać przykład
Zasada działania
Mechanizm opiera się na dwóch trybach działania zintegrowanych w jednej kontrolce Dane Tabelaryczne („Elementy”):
1.Pobranie pozycji z Comarch OCR (Wyzwalacz: ID_OCR):
- Po przetworzeniu dokumentu przez Comarch OCR, punkt ACD zapisuje ID dokumentu OCR do dedykowanej kontrolki typu Liczba całkowita o nazwie ID_OCR.
- Kontrolka tabelaryczna „Elementy” obserwuje to pole, reagując na jego wypełnienie.
- Zapytanie SQL (umieszczone na zakładce Inicjowanie Wartości) jest filtrowane za pomocą parametru @ID_OCR@ i pobiera wiersze z tabeli do.OC_Document_Items w bazie BPM.
- Na podstawie zwróconych wierszy kontrolka DT jest automatycznie wypełniana pozycjami faktury.
- W zapytaniu OCR używana jest logika CASE WHEN do konwersji wartości tekstowych (Stawki VAT, Jednostki miary) na identyfikatory liczbowe, wymagane przez BPM.
2.Automatyczne Przeliczanie (Wyzwalacz: Edycja wiersza DT):
- Kontrolka DT jest skonfigurowana tak, aby obserwować samą siebie.
- Zapytanie SQL jest wyzwalane przy każdej zmianie wartości w kolumnach wejściowych (Cena, Ilość lub Stawka VAT).
- Przeliczanie W Przód: Logika IF w kodzie SQL jest wyzwalana przy zmianie Ceny, Ilości lub Stawki VAT, obliczając Netto i Brutto.
- Przeliczanie W Tył: Logika ELSE IF jest wyzwalana przy zmianie kolumny Brutto, przeliczając i aktualizując wartość Ceny lub Netto (przy zachowaniu stałej Ilości).
- Zapytanie to wykorzystuje komendę UPDATE do bezpośredniego przeliczania i aktualizacji wartości w kolumnach wynikowych (Netto, Brutto)
- Osobna kontrolka WartoscNetto obserwuje kolumnę wynikową (Netto) i zlicza jej sumę za pomocą prostego zapytania SQL (select sum (Netto) from @Elementy@).
- Osobna kontrolka WartoscBrutto obserwuje kolumnę wynikową (Brutto) i zlicza jej sumę za pomocą prostego zapytania SQL (select sum (Brutto) from @Elementy@).
Konfiguracja przykładu
1.Utworzono kontrolkę ID_OCR: Na karcie obiegu dodano kontrolkę typu Liczba całkowita o nazwie (identyfikatorze) ID_OCR, do której będzie zapisywane ID OCR-owanego dokumentu.

2.Utworzono kontrolkę Tabelaryczną: Dodano kontrolkę typu Dane tabelaryczne o nazwie (identyfikatorze) Elementy i skonfigurowano w niej następujące kolumny:
- ”Nazwa” (identyfikator kolumny: Nazwa)– typ Tekst
- ”Cena” (identyfikator kolumny: Cena) – typ Liczba stałoprzecinkowa
- ”Ilość” (identyfikator kolumny: Ilosc)– typ Liczba stałoprzecinkowa
- ”Jednostka miary” (identyfikator kolumny: JM) – typ Lista
- ”Netto” (identyfikator kolumny: Netto) – typ Liczba stałoprzecinkowa
- ”Stawka VAT” (identyfikator kolumny: StawkaVAT) – typ Lista
- ”Brutto” (identyfikator kolumny: Brutto)– typ Liczba stałoprzecinkowa

3.W kontrolce typu Dane tabelaryczne na zakładce Listy zdefiniowano zapytanie pobierające:
- Stawki VAT:
select Naz_gidLp as Id, CASE WHEN Naz_Nazwa='A 23.00' THEN '23%' WHEN Naz_Nazwa='B 8.00' THEN '8%' WHEN Naz_Nazwa='C 0.00' THEN '0%' WHEN Naz_Nazwa='D 0.00' THEN 'ZW' WHEN Naz_Nazwa='E 0.00' THEN 'NP' WHEN Naz_Nazwa='F 7.00' THEN '7%' WHEN Naz_Nazwa='G 5.00' THEN '5%' END from CDN.Nazwy where Naz_GIDTyp = 624 AND trim(substring(Naz_Nazwa,9,2))=''

- Jednostki miary:
SELECT Naz_GIDLp,Naz_Nazwa from cdn.Nazwy where Naz_GIDTyp=144;

4.Dodano obserwację kontrolki: W kontrolce Dane tabelaryczne, na zakładce Inicjowanie wartości, dodano powiązanie do kontrolki ID_OCRoraz do samej siebie.

5.Zintegrowane zapytanie SQL do obsługi obu trybów: W kontrolce typu Dane tabelaryczne, na zakładce Inicjowanie wartości w sekcji Wzór na wartość SQL ERP dodano zapytanie, które pobiera dane z tabel do.OC_Document_Items oraz do.OC_Documents na podstawie przekazanego parametru @ID_OCR@ (ID dokumentu OCR). W zapytaniu SQL konieczne jest użycie logiki CASE WHEN do konwersji wartości tekstowych jednostek miary (’szt’) i stawek VAT (np. '23.00′) na odpowiednie identyfikatory liczbowe akceptowane przez Comarch BPM. Dodano również zapytanie, które na podstawie Ilości i Ceny wylicza wartość Netto, po zmianie Stawki VAT wylicza wartość Brutto, a po zmianie wartości Brutto wylicza Cenę i wartość Netto.
Ta sekcja jest wywoływana tylko raz, podczas inicjowania obiegu z OCR:
If @^SenderControlName@ = 'ID_OCR' Begin Select ODI_Name,/*Nazwa*/ ODI_NetUnitPrice, /*Cena netto*/ ODI_Count, /*Ilość*/ CASE WHEN ODI_Unit='szt.' THEN 1 WHEN ODI_Unit='l' THEN 2 WHEN ODI_Unit='kg' THEN 3 Else 0 END, /*Jednostka miary*/ ODI_NetValue, /* Wartość Netto*/ CASE WHEN ODI_VatRate='23.00' THEN 1 WHEN ODI_VatRate='8.00' THEN 2 WHEN ODI_VatRate='0.00' THEN 3 WHEN ODI_VatRate='5.00' THEN 7 Else 0 END, ODI_GrossValue, /*Wartość Brutto*/ [ODI_GrossValue]-[ODI_NetValue], -- kwota VAT 1 from [BPM_Przyklady].do.OC_Document_Items I /*Zmienić na właściwą nazwę bazy BPM*/ join [BPM_Przyklady].do.OC_Documents D on D.OCD_Id=I.ODI_DocumentId /*Zmienić na właściwą nazwę bazy BPM*/ where ODI_DocumentId=@ID_OCR@ END
Ta sekcja jest wywoływana przy każdej modyfikacji danych w kontrolce „Elementy” i wymaga użycia ELSE po sekcji OCR:
ELSE
If @^InitSenderControlName@ ='Elementy'
Begin
/*Deklaracja Stawki VAT */
DECLARE @VAT AS DECIMAL(4, 2)
/* Pobranie stawki VAT z tabeli CDN.Nazwy na podstawie kolumny StawkaVAT w bieżącym wierszu */
SELECT @VAT = CAST(SUBSTRING(Naz_Nazwa1, 0, CHARINDEX(' ', Naz_Nazwa1)) AS DECIMAL(4, 2)) / 100
FROM CDN.Nazwy
WHERE Naz_GIDTyp = 624
AND Naz_GIDLp = (
SELECT [StawkaVAT]
FROM @Elementy@
WHERE POS = @Elementy_Row@
)
/* JEŚLI ZMIENIONO KOLUMNY: 2 (Cena), 3 (Ilość), 6 (Stawka VAT) */
IF @Elementy_Column@=2 OR @Elementy_Column@=3 OR @Elementy_Column@=6
BEGIN
/* PRZELICZANIE W PRZÓD (Cena/Ilość/Stawka VAT -> Netto/Brutto) */
/*Wyliczenie i aktualizacja netto i brutto */
UPDATE @Elementy@
SET
[Netto] = (Ilosc * Cena),
[Brutto] = (Ilosc * Cena) * (@VAT + 1)
WHERE POS = @Elementy_Row@
/* !!! OBOWIĄZKOWE: Odświeżenie wiersza !!! */
SELECT * FROM @Elementy@
END
/* JEŚLI ZMIENIONO KOLUMNĘ: 7 (Brutto) */
IF @Elementy_Column@=7
BEGIN
/* PRZELICZANIE W TYŁ (Brutto -> Cena/Netto) */
/* Aktualizacja ceny i netto (Ilość stała) */
UPDATE @Elementy@
SET
[Cena] = [Brutto] / (@VAT + 1), /*Obliczenie Ceny Netto z Brutto*/
[Netto] = [Ilosc] * ([Brutto] / (@VAT + 1)) /*Obliczenie Wartości Netto*/
WHERE POS = @Elementy_Row@
/* !!! OBOWIĄZKOWE: Odświeżenie wiersza !!! */
SELECT * FROM @Elementy@
END
END

- Tryb pracy: W kontrolce typu Dane tabelaryczne, na zakładce Ograniczenie edycji kolumnę „Netto” ustawiono w trybie „Do odczytu”.

- Utworzono kontrolkę liczbową: Dodano kontrolkę typu Liczba stałoprzecinkowa o nazwie (identyfikatorze) WartoscNetto, w której dodano powiązanie do kontrolki Elementy i skonfigurowano w niej zapytanie, które zlicza wartość z kolumny Netto z kontrolki tabelarycznej:
select sum (Netto) from @Elementy@

- Utworzono kontrolkę liczbową: Dodano kontrolkę typu Liczba stałoprzecinkowa o nazwie (identyfikatorze) WartoscBrutto, w której dodano powiązanie do kontrolki Elementy i skonfigurowano w niej zapytanie, które zlicza wartość z kolumny Brutto z kontrolki tabelarycznej:
select sum (Brutto) from @Elementy@

- Punkt ACD: W punkcie konfiguracyjnym ACD (Współpraca z Comarch OCR), wykorzystywanym do inicjowania obiegu, na zakładce Kontrolki dodano kontrolkę ID_OCR i przypisano jej odpowiednie zapytanie:
select @Id1@

Uzupełniona Kontrolka Dane Tabelaryczne
Po pomyślnym zainicjowaniu dokumentu z punktu ACD, kontrolka typu Dane Tabelaryczne została automatycznie wypełniona pozycjami odczytanymi przez OCR. Dla każdej pozycji, system automatycznie przeliczył i uzupełnił wartości w kolumnach Netto i Brutto w tym samym wierszu. W przypadku nieprawidłowości w kwotach możliwe jest przeliczanie wartości w przód (Cena/Ilość -> Netto/Brutto) oraz w tył (Brutto -> Cena/Netto). Kolumna Netto jest zablokowana do ręcznej edycji (tryb „Do odczytu”), co gwarantuje poprawność danych. Kontrolka WartoscNetto wyświetla poprawną sumę końcową z kolumny Netto kontrolki Dane tabelaryczne. Kontrolka WartoscBrutto wyświetla poprawną sumę końcową z kolumny Brutto kontrolki typu Dane tabelaryczne.

Czy wiesz, że można utworzyć nowego kontrahenta Comarch ERP XL z poziomu Comarch BPM?
Zastosowanie
Dzięki tej konfiguracji system Comarch BPM zyskuje możliwość tworzenia nowych kontrahentów Comarch ERP XL bezpośrednio z poziomu dokumentu w obiegu, po uzupełnieniu niezbędnych danych na formularzu bez potrzeby logowania się do Comarch ERPXL. Wdrożenie tego wzorca znacząco przyspiesza rejestrację takiego dokumentu oraz minimalizuje ryzyko podwójnego wprowadzania tych samych informacji.
Zawartość przykładu
- Definicja Typu Obiegu (Workflow): Wzorcowa ścieżka obiegu z prostym formularzem do uzupełnienia, kontrolką Własna akcja, która wywołuje procedurę CDN.KntNowy i zakładania kontrahenta.
Kliknij tutaj, aby pobrać przykład
Zasada działania
Mechanizm wykorzystuje kontrolkę typu Własna akcja (Dodaj kontrahenta), która wywołuje standardową procedurę ERP XL – cdn.KntNowy bezpośrednio z obiegu dokumentów w BPM, eliminując konieczność ręcznego tworzenia kontrahenta w systemie ERP.
- Użytkownik uzupełnia pola obowiązkowe na formularzu BPM: Operator zakładający w XL, Grupa kontrahentów, NIP_Prefiks oraz Akronim kontrahenta. Opcjonalnie można uzupełnić dane adresowe i pełną nazwę oraz NIP.
- Parametry techniczne niezbędne do procedury ERP XL (takie jak knwGrpTyp, knwGrpFirma, OpeTyp, OpeFirma) wypełniają się automatycznie po dokonaniu wyboru w kontrolkach Grupa kontrahentów oraz Operator zakładający w XL. Pola te są jednocześnie oznaczone jako „Tylko do odczytu”, co zabezpiecza je przed przypadkową edycją z poziomu dokumentu.
- Po kliknięciu przycisku „Dodaj kontrahenta” (kontrolka typu Własna akcja), następuje wywołanie procedury cdn.kntNowy, przekazującej wszystkie zebrane dane do bazy ERP XL.
- Wywołanie to jest poprzedzone warunkiem (np. IF @ERPContractor1_Id@ IS NULL), aby zapobiec ponownemu utworzeniu kontrahenta i uniknąć błędu kontekstu SQL, który często pojawia się przy próbie wykonania ROLLBACK w procedurze.
- Następuje dodanie nowego kontrahenta w Comarch ERP XL.
- Na końcu, kontrolka typu Kontrahent na karcie obiegu uzupełnia się automatycznie numerem GIDNumer nowo utworzonego kontrahenta, na podstawie wprowadzonego akronimu.
Konfiguracja przykładu
Konfiguracja obejmuje zdefiniowanie zestawu kontrolek na karcie obiegu, z których część jest widoczna dla użytkownika, a część pełni rolę ukrytych pól technicznych, niezbędnych do poprawnego wywołania procedury ERP XL (cdn.kntNowy).
1.Konfiguracja Kontrolek Użytkownika i Własnej Akcji
Kontrolki te są widoczne na formularzu i służą do wprowadzenia kluczowych informacji o nowym kontrahencie.
- „Operator zakładający w XL” (identyfikator: Operator) – typ Lista
- „Grupa kontrahentów” (identyfikator: Grupa) – typ Lista
- „NIP_Prefiks” (identyfikator: NIP_Prefiks) – typ Lista
- „Akronim kontrahenta” (identyfikator: Akronim) – typ Tekst
- „Nazwa kontrahenta” (identyfikator: NazwaKontrahenta) – typ Tekst
- „NipE” (identyfikator: NipE) – typ Tekst
- „Kontrahent” (identyfikator: Kontrahent) – typ Kontrahent
- „Ulica i numer domu” (identyfikator: Ulica_Numer_Domu) – typ Tekst
- „Miasto” (identyfikator: Miasto) – typ Tekst
- „Kod pocztowy” (identyfikator: KodPocztowy) – typ Tekst
- „Dodaj kontrahenta XL” (identyfikator: DodajkontrahentaXL) – typ Własna akcja
2.Konfiguracja Ukrytych Kontrolek Technicznych
Pola te są niezbędne do przekazania GID-ów i typów do procedury cdn.kntNowy, wypełniają się automatycznie i są zablokowane do edycji:
- „knwGrpTyp” (identyfikator: knwGrpTyp) – typ Liczba całkowita
- „knwGrpFirma” (identyfikator: knwGrpFirma) – typ Liczba całkowita
- „knwGrpNumer” (identyfikator: knwGrpNumer) – typ Liczba całkowita
- „OpeTyp” (identyfikator: OpeTyp) – typ Liczba całkowita
- „OpeFirma” (identyfikator: OpeFirma) – typ Liczba całkowita
- „OpeNumer” (identyfikator: OpeNumer) – typ Liczba całkowita

3.Konfiguracja Inicjowania Wartości Pól Kontrolek (Pobieranie List)
- Operator zakładający w XL:
- Typ Operacji: SQL OD
- Zapytanie SQL: Zapytanie warunkowo pobiera listę operatorów z bazy ERP XL. Jeśli zalogowany użytkownik (@^UserId@) ma powiązanie z operatorem ERP XL, domyślnie wybierany jest ten operator; w przeciwnym razie wyświetlana jest pełna lista.
IF EXISTS (SELECT * FROM cdn.OpeKarty /* baza ERP XL*/ JOIN [BPM_Przyklady].do.DF_ConfOSDictionary on Ope_Ident=DCD_Login /*wsakzać właściwą nazwę bazy BPM*/ WHERE DCD_ID= @^UserId@ AND DCD_LoginMethod=0) SELECT Ope_GIDNumer, Ope_Ident, Ope_GIDNumer FROM cdn.OpeKarty /* baza ERP XL*/ JOIN [BPM_Przyklady].do.DF_ConfOSDictionary on Ope_Ident=DCD_Login /*wsakzać właściwą nazwę bazy BPM*/ WHERE DCD_ID= @^UserId@ AND DCD_LoginMethod=0 ELSE SELECT Ope_GIDNumer, Ope_Ident FROM cdn.OpeKarty /* baza ERP XL*/ JOIN [BPM_Przyklady].do.DF_ConfOSDictionary on Ope_Ident=DCD_Login /*wsakzać właściwą nazwę bazy BPM*/ WHERE DCD_LoginMethod=0
- Grupa kontrahentów:
- Typ Operacji: SQL ERP
- Zapytanie SQL: Pobiera listę wzorców grup kontrahentów z tabel cdn.KntWzorce i cdn.KntGrupy.
SELECT KnW_GrpNumer, KnG_Akronim FROM cdn.KntWzorce JOIN cdn.KntGrupy ON kng_gidTyp=KnW_GrpTyp AND kng_gidnumer=KnW_GrpNumer where KnW_Nieaktywny=0
- NIP_Prefiks:
- Typ Operacji: SQL ERP
- Zapytanie SQL: Pobiera listę prefiksów NIP (kodów krajów) z tabeli cdn.KrajeCelne
select kpc_id, KPC_Kod, 168 FROM cdn.KrajeCelne
4.Konfiguracja Automatycznego Wypełniania Pól (Obserwator)
Poniższe reguły określają, jak pola techniczne są automatycznie wypełniane po wyborze wartości w kontrolkach widocznych dla użytkownika.
- knwGrpTyp
- Obserwuje: Grupa kontrahentów
- Typ Operacji: SQL ERP
- Zapytanie SQL: Pobiera typ wzorca grupy z cdn.KntWzorce
SELECT CAST(KnW_GrpTyp as int) as int FROM cdn.KntWzorce WHERE Knw_grpnumer= @Grupakontrahentow_ID@
- knwGrpFirma
- Obserwuje: Grupa kontrahentów
- Typ Operacji: SQL ERP
- Zapytanie SQL: Pobiera firmę wzorca grupy z cdn.KntWzorce
SELECT KnW_GrpFirma FROM cdn.KntWzorce WHERE Knw_grpnumer= @Grupakontrahentow_ID@
- knwGrpNumer
- Obserwuje: Grupa kontrahentów
- Typ Operacji: SQL ERP
- Zapytanie SQL: Przekazuje numer wybranej grupy kontrahentów
SELECT @Grupakontrahentow_ID@
- OpeTyp
- Obserwuje: Operator zakładający w XL
- Typ Operacji: SQL ERP
- Zapytanie SQL: Pobiera GIDTyp operatora z cdn.OpeKarty
SELECT CAST (Ope_GIDTyp as int) as int FROM cdn.OpeKarty WHERE Ope_GIDNumer= @Operator_ID@
- OpeFirma
- Obserwuje: Operator zakładający w XL
- Typ Operacji: SQL ERP
- Zapytanie SQL: Pobiera GIDFirmę operatora z cdn.OpeKarty
SELECT Ope_GIDFirma FROM cdn.OpeKarty WHERE Ope_GIDNumer= @Operator_ID@
- OpeNumer
- Obserwuje: Operator zakładający w XL
- Typ Operacji: SQL ERP
- Zapytanie SQL: Przekazuje GIDNumer wybranego operatora
SELECT @Operator_ID@
- Kontrahent
- Obserwuje: Akronim kontrahenta, Dodaj kontrahenta
- Typ Operacji: SQL ERP
Zapytanie SQL: Pobiera GIDNumer nowego kontrahenta z cdn.kntKarty na podstawie Akronimu.
IF @^SenderControlName@ ='DodajkontrahentaXL' BEGIN SELECT Knt_GIDNumer FROM cdn.kntKarty WHERE knt_akronim=@Akronim@ END ELSE SELECT NULL
5.Konfiguracja Akcji Tworzenia Kontrahenta – Wywołuje procedurę ERP XL cdn.kntNowy, przekazując parametry zebrane z widocznych i ukrytych kontrolek:
- Nazwa Kontrolki: Dodaj kontrahenta
- Typ Operacji: Procedura ERP
- Zapytanie SQL: If @Kontrahent_Id@ is null
Begin EXEC cdn.kntNowy @knwGrpTyp=@knwGrpTyp@, @knwGrpFirma=@knwGrpFirma@, @knwGrpNumer=@knwGrpNumer@, @OpeTyp=@OpeTyp@, @OpeFirma=@OpeFirma@, @OpeNumer=@OpeNumer@, @Akronim=@Akronim@, @Miasto= @Miasto@, @NipPrefiks= @NIP_Prefiks_Text@ , @Nazwa1=@NazwaKontrahenta@, @NipE=@NipE@, @Ulica= @Ulica_Numer_Domu@ , @KodP= @KodPocztowy@ END
Kontrolki techniczne, które są uzupełniane automatycznie, zostały celowo oznaczone jako Tylko do odczytu, aby uniemożliwić ręczną edycję i zapewnić integralność danych przekazywanych do procedury ERP XL.


Utworzenie nowego kontrahenta za pomocą kontrolki Własna Akcja
Użytkownik uzupełnił niezbędne dane na karcie obiegu, w tym:
- Pola obowiązkowe: Akronim kontrahenta, Operator zakładający w XL, Grupa kontrahentów i NIP_Prefiks.
- Zostały również uzupełnione pola dodatkowe: dane adresowe, NIP i pełna nazwa kontrahenta.
- W momencie dokonania wyboru w kontrolkach Operator zakładający w XL i Grupa kontrahentów, system za pomocą reguł Obserwatora (SQL ERP) automatycznie pobrał identyfikatory GID i typy (np. knwGrpTyp, OpeFirma) z ERP XL. Pola te są zablokowane (Tylko do odczytu) na każdym etapie obiegu, co gwarantuje poprawność i integralność danych przekazywanych do procedury ERP XL.
- Po kliknięciu przycisku „Dodaj kontrahenta” (Własna akcja) została wywołana procedura ERP XL cdn.kntNowy, do której zostały przekazane zebrane dane i nastąpiło dodanie nowego kontrahenta w Comarch ERP XL.
- Kontrolka typu Kontrahent na formularzu uzupełniła się automatycznie GIDNumerem nowo utworzonego kontrahenta, na podstawie wprowadzonego akronimu.
- Kliknięcie w kontrolkę Kontrahent otwiera widok nowego kontrahenta, potwierdzając jego poprawne dodanie w Comarch ERP XL.

Czy wiesz, że po wybraniu z listy dokumentu PZ w kontrolce Dane tabelaryczne można pobrać do poszczególnych kolumn informacje z tego dokumentu?
Zastosowanie
Dzięki tej konfiguracji, proces obsługi dokumentów w Comarch BPM zyskuje zaawansowaną zdolność automatycznego pobierania danych z dokumentów ERPXL. Wdrożenie tego wzorca znacznie przyspiesza procesy zakupowe, ponieważ eliminuje konieczność ręcznego wyszukiwania i przepisywania danych z dokumentów (w przykładzie dokument Przyjęcia Zewnętrznego (PZ)). System automatycznie pobiera kluczowe informacje nagłówkowe (Kontrahent, Wartość Netto) z wybranego dokumentu PZ, uzupełniając kontrolkę tabelaryczną i wprowadzając dane bezpośrednio do obiegu.
Zawartość przykładu
- Definicja Typu Obiegu (Workflow): Wzorcowa ścieżka obiegu dokumentu z konfiguracją kontrolki typu Dane tabelaryczne.
Kliknij tutaj, aby pobrac przykład
Zasada działania
Mechanizm opiera się na obserwowaniu kolumny typu Lista (lista wyboru dokumentu PZ) i uruchamianiu złożonego zapytania SQL, które pobiera powiązane dane nagłówkowe z tabel Comarch ERP XL.
- W kontrolce typu Dane Tabelaryczne zdefiniowano kolumnę ListaPZ (typ: Lista) służącą do wyboru dokumentu PZ oraz kolumny wynikowe: PZ (typ: Dokument elektroniczny), Kontrahent (typ: Kontrahent) i Netto (typ: Liczba stałoprzecinkowa).
- Na zakładce Listy zdefiniowano zapytanie pobierające wszystkie dokument PZ (o typie Trn_GIdTyp=1489) z tabeli cdn.TraNag.
- Na zakładce Inicjowanie wartości dodano obserwację kontrolki przez samą siebie.
- Zapytanie SQL (Wzór na wartość SQL ERP) jest wyzwalane przy każdej zmianie kolumny ListaPZ.
- Zapytanie SQL pobiera GIDNumer wybranego dokumentu PZ i na jego podstawie odpytuje tabelę cdn.TraNag oraz cdn.KntKarty (dla Kontrahenta).
- Polecenie UPDATE @DokumentyPZ@ SET aktualizuje kolumny wynikowe w wierszu.
- Osobna kontrolka typu SumaNettoPZ obserwuje kolumnę (Netto) i zlicza jej sumę za pomocą prostego zapytania SQL (select sum (Netto) from @DokumentyPZ@).
Konfiguracja przykładu
1.Utworzono kontrolkę Tabelaryczną: Dodano kontrolkę typu Dane tabelaryczne o nazwie (identyfikatorze) DokumentyPZ i skonfigurowano w niej następujące kolumny:
- ”ListaPZ” (identyfikator kolumny: ListaPZ) – typ Lista
- ”PZ” (identyfikator kolumny: PZ) – typ Dokument elektroniczny
- ”Kontrahent” (identyfikator kolumny: Kontrahent) – typ Kontrahent
- ”Netto” (identyfikator kolumny: Netto) – typ Liczba stałoprzecinkowa

2.W kontrolce typu Dane tabelaryczne na zakładce Listy zdefiniowano zapytanie pobierające:
- Listę dokumentów PZ z Comarch ERPXL:
select trn_gidnumer,cdn.numerdokumentu(trN_GIDTyp,TrN_SpiTyp, Trn_TRNTyp,TrN_TrNNumer,TrN_TrNRok, TrN_TrNSeria, TrN_trNMiesiac) from cdn.TraNag where Trn_GIdTyp=1489

3.Dodano obserwację kontrolki: W kontrolce typu Dane tabelaryczne, na zakładce Inicjowanie wartości, dodano powiązanie do samej siebie.

4.Dodano zapytanie SQL: W kontrolce typu Dane tabelaryczne, na zakładce Inicjowanie wartości w sekcji Wzór na wartość SQL ERP dodano zapytanie, które automatycznie podpina dokument elektroniczny w kolumnie PZ , oraz wczytuje kluczowe dane nagłówkowe (Kontrahent i Netto) bezpośrednio z wybranego dokumentu. Logika ta polega na trzykrotnym użyciu instrukcji UPDATE @DokumentyPZ@ SET w jednym bloku kodu. Każda instrukcja, oparta o połączenia (JOIN) z tabelami nagłówkowymi ERP XL (cdn.TraNag, cdn.KntKarty), pobiera i aktualizuje inną wartość w bieżącym wierszu tabeli.
IF @DokumentyPZ_Column@ = 1 BEGIN /*[1] Zapisanie GID dokumentu PZ do kolumny PZ_ID w celu dalszych zapytań*/ UPDATE @DokumentyPZ@ SET [PZ_ID] = ( SELECT [ListaPZ] FROM @DokumentyPZ@ WHERE POS = @DokumentyPZ_Row@ ) WHERE POS = @DokumentyPZ_Row@ /* [2] Pobranie Kontrahenta (Knt_GidNumer) z tabel nagłówkowych ERP XL*/ UPDATE @DokumentyPZ@ SET [Kontrahent] = ( SELECT Knt_GidNumer FROM cdn.TraNag JOIN cdn.kntkarty ON TrN_KntNumer = Knt_GIDNumer WHERE TrN_GIDNumer = [ListaPZ] ) WHERE POS = @DokumentyPZ_Row@ /*[3] Pobranie Wartości Netto (TrN_NettoP) z tabel TraNag/TraElem*/ UPDATE @DokumentyPZ@ SET [Netto] = ( SELECT TOP 1 TrN_NettoP FROM cdn.TraNag JOIN cdn.TraElem ON TrE_GIDNumer = TrN_GIDNumer WHERE TrN_GIDNumer = [ListaPZ] ) WHERE POS = @DokumentyPZ_Row@ /*!!! OBOWIĄZKOWE: Odświeżenie wiersza w kontrolce Dane tabelaryczne !!!*/ SELECT * FROM @DokumentyPZ@ END

5.Tryb pracy: W kontrolce typu Dane tabelaryczne, na zakładce Ograniczenie edycji kolumnę „Kontrahent” oraz „Netto” ustawiono w trybie „Do odczytu”.

6.Utworzono kontrolkę liczbową: Dodano kontrolkę typu Liczba stałoprzecinkowa o nazwie (identyfikatorze) SumaNettoPZ, w której dodano powiązanie do kontrolki DokumentyPZ i skonfigurowano w niej zapytanie, które zlicza wartość z kolumny Netto z kontrolki tabelarycznej:
select sum (Netto) from @DokumentyPZ@

Uzupełniona Kontrolka Dane Tabelaryczne
Po wybraniu z listy dokumentu PZ w kontrolce typu Dane tabelaryczne, wiersz został automatycznie zaktualizowany. W efekcie, w drugiej kolumnie podpiął się dokument elektroniczny PZ oraz zostały uzupełnione kluczowe dane nagłówkowe: Kontrahent i Wartość Netto. Kontrolka SumaNettoPZ wyświetla poprawną sumę końcową z kolumny Netto wszystkich podpiętych dokumentów PZ.


Instalacja aplikacji serwerowej i WEB Comarch BPM za pomocą instalatora (bez modułu Comarch BPM Repozytorium)
Instalacja – etapy początkowe
Instalację aplikacji serwerowej i WEB należy przeprowadzić na serwerze (komputerze) z zainstalowanym serwisem IIS (Internet Information Services).
W wersji 2023.0.0 wprowadzono nowe instalatory aplikacji web dla:
- Comarch BPM (dawniej DMS) Standalone
- Comarch BPM (dawniej DMS) we współpracy z Comarch ERP XL
- Comarch BPM (dawniej DMS) we współpracy z Comarch ERP Optima
Od wersji 2023.0 istnieje również możliwość instalacji serwera bazodanowego Microsoft SQL Server Express z poziomu instalatora aplikacji Comarch BPM (dawniej DMS) (zob.Instalacja Microsoft SQL Server Express za pomocą instalatora Comarch BPM). Z poziomu instalatora aplikacji web można także przejść bezpośrednio do instalatora aplikacji desktop Comarch BPM (dawniej DMS).
Aby uruchomić instalator Comarch BPM (dawniej DMS), w pobranym pakiecie instalacyjnym należy wejść do katalogu Comarch BPM [wersja] instalator Comarch BPM i uruchomić Instalator Comarch BPM.exe
Zostanie uruchomiony instalator aplikacji webowej, dzięki któremu możliwa jest:
- Instalacja koniecznych komponentów serwera IIS
- Konfiguracja puli na której będzie pracowała aplikacji Comarch BPM (dawniej DMS)
- Instalacja i konfiguracja aplikacji Comarch BPM (dawniej DMS)
- Aktualizacja aplikacji serwerowej i webowej Comarch BPM (dawniej DMS)
- Instalacja serwera MongoDB (od wersji Comarch DMS 2024.2.0)
- Instalacja i aktualizacja aplikacji Comarch BPM Repozytorium (od wersji Comarch DMS 2024.2.0)
Wybór języka instalacji
Po uruchomieniu instalatora zostaje wyświetlone okno początkowe, w ramach którego dostępne jest pole „Język instalatora”, w którym należy dokonać wyboru języka, w jakim ma zostać przeprowadzona instalacja aplikacji. Dostępne są następujące języki:
- Polski
- Angielski
- Niemiecki
- Francuski

Po wyborze języka instalacji należy nacisnąć przycisk
[Dalej], aby przejść do kolejnego kroku instalacji, okna instalacji wymaganych dodatków. Jeżeli operator naciśnie przycisk
[Anuluj] albo spróbuje zamknąć okno za pomocą znaku x, wówczas zostanie wyświetlony następujący komunikat:

Jeśli użytkownik wybierze przycisk:
- Tak – instalator zostanie zamknięty
- Nie – użytkownik pozostanie w tym samym oknie, a komunikat będzie zamknięty
Od wersji 2024.0.1 po przejściu do okna instalacji wymaganych dodatków wyświetlany jest komunikat, który informuje o braku możliwości instalacji Comarch BPM (dawniej DMS) w systemach wcześniejszych niż:
- Windows Vista x64;
- Windows Server 2008 x64;
- Windows 7 x64
- Windows Server 2008 R2 x64
- Windows Server 2012 x64
Po kliknięciu w przycisk
[OK] instalator zostaje zamknięty.

Okno przygotowania komponentów
W kolejnym kroku instalatora zostaje wyświetlone okno, informujące o tym, że instalator przygotowuje potrzebne komponenty. Przejście do następnego okna nastąpi automatycznie.
W następnym kroku instalatora wyświetlone zostaje okno powitalne instalatora.

Okno powitalne instalatora

Jeżeli użytkownik chce kontynuować instalację, wówczas powinien nacisnąć przycisk
[Dalej], aby przejść do kolejnego kroku instalacji. Jeżeli operator naciśnie przycisk
[Anuluj] albo spróbuje zamknąć okno za pomocą znaku x, wówczas zostanie wyświetlony komunikat analogiczny do przedstawionego powyżej.
Wybór aplikacji
Po przejściu do okna Wybór aplikacji należy wybrać opcję Instalacja aplikacji Comarch BPM oraz Comarch BPM Repozytorium.
Jeżeli użytkownik nie ma zainstalowanego serwera MongoDB, a chce korzystać z modułu Comarch BPM (dawniej DMS) Repozytorium, wówczas powinien wybrać opcję Instalacja serwera MongoDB i kliknąć
[Dalej]. Dalsze kroki opisano w artykule Instalacja Microsoft SQL Server Express za pomocą instalatora Comarch BPM.
[Dalej]. Dalsze kroki opisano w rozdziale Instalacja serwera Mongo DB za pomocą instalatora Comarch BPM .

Po kliknięciu przycisku
[Dalej] użytkownik przechodzi do okna „Wybór aplikacji cd.”.
Wybór aplikacji cd.
W ramach okna „Wybór aplikacji cd.” operator może wybrać jedną z trzech opcji:
-
-
- Instalacja aplikacji Comarch BPM (zob. poniżej: Instalacja aplikacji Comarch BPM – aby instalować jedynie Comarch BPM (dawniej DMS);
- Instalacja aplikacji Comarch BPM oraz Comarch BPM Repozytorium (zob. poniżej: Instalacja aplikacji Comarch BPM oraz Comarch BPM Repozytorium) – aby instalować zarówno Comarch BPM (dawniej DMS), jak i Comarch DMS (dawniej BPM) Repozytorium;
- Instalacja Comarch BPM Repozytorium – aby instalować jedynie Comarch BPM (dawniej DMS) Repozytorium (zob. Instalacja Comarch BPM Repozytorium za pomocą instalatora).
-

Instalacja aplikacji Comarch BPM
Jeśli w oknie „Wybór aplikacji cd.” operator zaznaczył opcję „Instalacja aplikacji Comarch BPM”, a następnie
[Dalej], wówczas następuje przejście do okna „Tryb pracy”.
Tryb pracy
W ramach okna Tryb pracy należy zaznaczyć opcję Standalone – ta opcja pozwala na zainstalowanie Comarch BPM (dawniej DMS) bez zdefiniowanej współpracy
Po zaznaczeniu opcji należy kliknąć
[Dalej], aby przejść do kolejnego kroku instalacji.

Warunki korzystania z oprogramowania
W ramach okna Warunki korzystania z oprogramowania należy zapoznać się z warunkami korzystania z oprogramowania Comarch BPM, zaznaczyć checkbox „Akceptuję warunki instalacji” i nacisnąć
[Dalej], aby przejść do kolejnego etapu – przycisk nie jest aktywny, jeśli nie została zaznaczona zgoda na warunki instalacji.

Internetowe usługi informacyjne (IIS)
W kolejnym oknie Internetowe usługi informacyjne (IIS) następuje weryfikacja, czy na danym komputerze dostępny jest serwer IIS. Jeżeli:
Serwer IIS nie jest dostępny - wyświetlana jest informacja „ Serwer IIS nie jest dostępny na tym komputerze” i nie jest możliwe przejście do kolejnego etapu instalacji.
W takim wypadku użytkownik może:
- Nacisnąć przycisk
[Zainstaluj IIS] – nastąpi wówczas instalacja IIS. Podczas instalacji wyświetlany jest komunikat „ Trwa instalacja serwera IIS”. Po zakończonej instalacji przycisk „Zainstaluj IIS” zostaje wyszarzony i wyświetlany jest napis „Serwer IIS został poprawnie zainstalowany”. - Pozostawić otwarte okno instalatora Comarch BPM, zainstalować ręcznie IIS, a potem kliknąć
[Odśwież] - Zamknąć instalator za pomocą przycisku
[Anuluj] lub znaku x, wykonać ręczną instalację IIS i ponownie przejść przez kolejne kroki instalatora do okna „Internetowe usługi informacyjne (IIS)”
Po zastosowaniu jednego z powyższych sposobów możliwe będzie przejście do kolejnego kroku instalacji aplikacji web Comarch BPM za pomocą przycisku
[Dalej]
Serwer IIS jest dostępny – wyświetlana jest informacja „ Serwer IIS został poprawnie zainstalowany” i należy przejść do kolejnego kroku, klikając przycisk
[Dalej].

Wymagane dodatki
Po kliknięciu przycisku
[Dalej], następuje przejście do następnego okna, w ramach którego następuje instalacja dodatków wymaganych dla poprawnego działania Comarch BPM.
W ramach pola dostępnego w prawej części okna dostępne są następujące kolumny:
- Name – zawiera nazwę danego dodatku
- Required – zawiera numer wymaganej wersji danego dodatku
- Found – zawiera numer wersji danego dodatku zainstalowanej już na komputerze
- Action – zawiera nieaktywny przycisk Pomiń¬¬ – jeśli na komputerze jest już odpowiednia wersja i dany dodatek nie wymaga instalacji, wówczas jego instalacja zostanie automatycznie pominięta

Aby zainstalować wymagane dodatki i przejść do następnego okna należy nacisnąć przycisk
[Dalej].
Wybór puli aplikacji serwerowej
Od wersji 2025.0.0 dla aplikacji serwerowej i dla aplikacji WEB wymagane jest skonfigurowanie osobnych pul aplikacji. Wobec tego na kolejnym kroku, w oknie Pula dla aplikacji serwerowej należy określić, na jakiej puli aplikacji ma pracować aplikacja serwerowa Comarch BPM – w tym celu należy:
- Wybrać pulę aplikacji z listy znajdującej się po prawej stronie okna, klikając na nią
lub
- Dodać nową pulę aplikacji –wpisać nazwę puli, która ma zostać utworzona, w polu „„Nazwa nowej puli aplikacji”, a następnie nacisnąć przycisk
[Dodaj pulę]. Wybór puli zostaje automatycznie ustawiony na nowoutworzonej puli . Dodana w ten sposób pula spełnia wymagania konieczne do instalacji aplikacji serwerowej BPM.


Kiedy operator wybrał pulę aplikacji z listy albo dodał nową pulę i ją zaznaczył, wówczas następuje sprawdzenie, czy pula spełnia konieczne wymagania. Jeśli pod listą pul aplikacji zostanie wyświetlony komunikat:
- Wybrana pula spełnia wymagania instalowanej aplikacji – można przejść do dalszego kroku instalacji Comarch BPM (dawniej DMS)
- Wybrana pula nie spełnia wymagań instalowanej aplikacji – przed kontynuacją instalacji Comarch BPM należy wybrać inną pulę spełniającą wymagania lub dodać nową
- Wybrana pula jest zatrzymana. Przed uruchomieniem aplikacji należy uruchomić pulę w Menedżerze IIS. – przed kontynuacją instalacji Comarch BPM należy uruchomić pulę aplikacji
- Pula o tej nazwie już istnieje. – przed kontynuacją instalacji Comarch BPM należy wybrać inną pulę spełniającą wymagania lub dodać nową o innej nazwie
Po wyborze puli aplikacji spełniającej wymagania należy przejść do następnego kroku instalacji, klikając przycisk
[Dalej].
Kreowanie aplikacji serwerowej
W tym oknie następuje konfiguracja aplikacji serwerowej (webowej starszego typu). W ramach okna Kreowanie aplikacji serwerowej użytkownik:
- w polu „Wybierz lub utwórz witrynę web” – z listy dostępnych witryn wybiera witrynę, w której ma zostać utworzona aplikacja;
- w polu „Port” – wpisuje numer portu, który przypisany jest do danej witryny;
- w polu „Wprowadź nazwę aplikacji serwerowej” – wpisuje nadaną przez siebie nazwę aplikacji, np. BPMapi
W wersji 2025.2.0 wprowadzono walidację dodawanych nazw aplikacji: serwerowej i web w instalatorze. Jeśli we wprowadzonej nazwie aplikacji znajduje się co najmniej jeden z następujących znaków: Wówczas w oknie instalatora zostanie wyświetlony komunikat „Nazwa aplikacji jest niepoprawna. Znak <znak> nie jest dozwolony.”. W takim wypadku użytkownik powinien zmodyfikować nazwę wpisaną w polu „Nazwa aplikacji” tak, aby nie zawierała już niedozwolonych znaków specjalnych, a później ponownie nacisnąć

[Utwórz aplikację].
Następnie należy kliknąć przycisk
[Utwórz aplikację], aby nowa aplikacja została utworzona. Podczas tworzenia aplikacji w dolnej części okna widoczna jest informacja „Trwa kreowanie aplikacji”. Jeżeli utworzenie aplikacji przebiegło pomyślnie, wówczas wyświetlana jest informacja „Aplikacja została utworzona pomyślnie”. Przycisk
[Utwórz aplikację] nie jest aktywny do czasu wybrania witryny i wpisania nazwy aplikacji przez użytkownika.

Jeżeli podczas tworzenia aplikacji nastąpił błąd, wyświetlona zostanie informacja „Nie udało się utworzyć aplikacji”. W takim przypadku użytkownik powinien zmienić witrynę w polu „Nazwa witryny” i ponownie kliknąć
[Utwórz aplikację] albo opuścić instalator, a następnie ponownie przeprowadzić instalację.
Operator ma także opcję dodania nowej witryny, na której utworzy aplikację serwerową. W tym celu powinien:
- W polu „Wybierz lub utwórz witrynę web” wpisać nazwę witryny, która ma zostać utworzona;
W polu „Port” wpisać numer portu, który ma zostać przypisany do nowoutworzonej witryny

Następnie operator powinien nacisnąć przycisk
[Utwórz witrynę]. Jeśli tworzenie witryny zakończyło się powodzeniem, wówczas w dolnej części okna wyświetlany jest napis Witryna została utworzona na serwerze IIS.

Jeśli operator wpisze w polu Wybierz lub utwórz witrynę web nazwę witryny, która już istnieje, i kliknie
[Utwórz witrynę], wówczas witryna nie zostanie utworzona, a w dolnej części okna widoczna będzie informacja Witryna o tej nazwie już istnieje. W takim przypadku należy wprowadzić inną, nieistniejącą do tej pory nazwę witryny i ponownie kliknąć
[Utwórz witrynę].

Analogicznie, jeżeli operator wpisze w polu Port numer portu, który jest już wykorzystywany, i kliknie
[Utwórz witrynę], wówczas witryna nie zostanie utworzona, a w dolnej części okna widoczna będzie informacja Port jest już użyty przez inną witrynę. W takim przypadku należy wprowadzić inny, nieużywany do tej pory numer portu i ponownie kliknąć
[Utwórz witrynę].

Aby przejść do kolejnego kroku instalacji należy wybrać przycisk
[Dalej]. Przycisk nie jest aktywny dopóki aplikacja nie została utworzona.
Wybór puli aplikacji webowej
Od wersji 2025.0.0 dla aplikacji serwerowej i dla aplikacji WEB wymagane jest skonfigurowanie osobnych pul aplikacji. Z tego powodu na kolejnym kroku, w oknie Pula dla aplikacji WEB należy określić, na jakiej puli aplikacji ma pracować aplikacja web Comarch BPM (dawniej DMS) – w tym celu należy, podobnie jak w przypadku aplikacji serwerowej:
- wybrać pulę aplikacji z listy znajdującej się po prawej stronie okna, klikając na nią
lub
- dodać nową pulę aplikacji –wpisać nazwę puli, która ma zostać utworzona, w polu „Nazwa nowej puli aplikacji”, a następnie nacisnąć przycisk
[Dodaj pulę]. Wybór puli zostaje automatycznie ustawiony na nowoutworzonej puli . Dodana w ten sposób pula spełnia wymagania konieczne do instalacji aplikacji web BPM (dawniej DMS).

Kiedy operator wybrał pulę aplikacji z listy albo dodał nową pulę i ją zaznaczył, wówczas następuje sprawdzenie, czy pula spełnia konieczne wymagania. Jeśli pod listą pul aplikacji zostanie wyświetlony komunikat:
- Wybrana pula spełnia wymagania instalowanej aplikacji – można przejść do dalszego kroku instalacji Comarch BPM (dawniej DMS);
- Wybrana pula nie spełnia wymagań instalowanej aplikacji – przed kontynuacją instalacji Comarch BPM należy wybrać inną pulę spełniającą wymagania lub dodać nową;
- Wybrana pula jest zatrzymana. Przed uruchomieniem aplikacji należy uruchomić pulę w Menedżerze IIS. – przed kontynuacją instalacji Comarch BPM należy uruchomić pulę aplikacji;
- Wybrana pula została wskazana we wcześniejszym kroku instalacji, na tę na której ma pracować aplikacja serwerowa. Aplikacja webowa wymaga wskazania innej puli. – przed kontynuacją instalacji Comarch BPM należy wybrać inna pulę, która spełnia wymagania albo dodać nową pulę;
- Pula o tej nazwie już istnieje. – przed kontynuacją instalacji Comarch BPM należy wybrać inną pulę spełniającą wymagania lub dodać nową o innej nazwie.
Po wyborze puli aplikacji spełniającej wymagania należy przejść do następnego kroku instalacji, klikając przycisk
[Dalej].
Kreowanie aplikacji WEB
W tym oknie następuje konfiguracja aplikacji webowej z nowym interfejsem. W ramach okna Kreowanie aplikacji WEB użytkownik:
- w polu „Wybierz lub utwórz witrynę web” – z listy dostępnych witryn wybiera witrynę, w której ma zostać utworzona aplikacja;
- w polu „Port” – wpisuje numer portu, który przypisany jest do danej witryny;
- w polu „Wprowadź nazwę aplikacji WEB” – wpisuje nadaną przez siebie nazwę aplikacji, np. BPMweb.
W wersji 2025.2.0 wprowadzono walidację dodawanych nazw aplikacji: serwerowej i web w instalatorze. Jeśli we wprowadzonej nazwie aplikacji znajduje się co najmniej jeden z następujących znaków: Wówczas w oknie instalatora zostanie wyświetlony komunikat „Nazwa aplikacji jest niepoprawna. Znak <znak> nie jest dozwolony.”. W takim wypadku użytkownik powinien zmodyfikować nazwę wpisaną w polu „Wprowadź nazwę aplikacji WEB” tak, aby nie zawierała już niedozwolonych znaków specjalnych, a później ponownie nacisnąć

[Utwórz aplikację].
Następnie należy kliknąć przycis k
[Utwórz aplikację], aby nowa aplikacja została utworzona. Podczas tworzenia aplikacji w dolnej części okna widoczna jest informacja „Trwa kreowanie aplikacji”. Jeżeli utworzenie aplikacji przebiegło pomyślnie, wówczas wyświetlana jest informacja „Aplikacja została utworzona pomyślnie”.
Przycisk
[Utwórz aplikację] nie jest aktywny do czasu wybrania witryny i wpisania nazwy aplikacji przez użytkownika.

Jeżeli podczas tworzenia aplikacji nastąpił błąd, wyświetlona zostanie informacja „Nie udało się utworzyć aplikacji”. W takim przypadku użytkownik powinien zmienić witrynę w polu „Wybierz lub utwórz witrynę web” i ponownie kliknąć
[Utwórz aplikację] albo opuścić instalator, a następnie ponownie przeprowadzić instalację.
Operator ma także opcję dodania nowej witryny, na której utworzy aplikację WEB. W tym celu powinien:
- W polu „Wybierz lub utwórz witrynę web” wpisać nazwę witryny, która ma zostać utworzona;
- W polu „Port” wpisać numer portu, który ma zostać przypisany do nowoutworzonej witryny

Następnie operator powinien nacisnąć przycisk
[Utwórz witrynę]. Jeśli tworzenie witryny zakończyło się powodzeniem, wówczas w dolnej części okna wyświetlany jest napis Witryna została utworzona na serwerze IIS.

Jeśli operator wpisze w polu Wybierz lub utwórz witrynę web nazwę witryny, która już istnieje, i kliknie
[Utwórz witrynę], wówczas witryna nie zostanie utworzona, a w dolnej części okna widoczna będzie informacja Witryna o tej nazwie już istnieje. W takim przypadku należy wprowadzić inną, nieistniejącą do tej pory nazwę witryny i ponownie kliknąć
[Utwórz witrynę].

Analogicznie, jeżeli operator wpisze w polu Port numer portu, który jest już wykorzystywany, i kliknie
[Utwórz witrynę], wówczas witryna nie zostanie utworzona, a w dolnej części okna widoczna będzie informacja Port jest już użyty przez inną witrynę. W takim przypadku należy wprowadzić inny, nieużywany do tej pory numer portu i ponownie kliknąć
[Utwórz witrynę].

Aby przejść do kolejnego kroku instalacji należy wybrać przycisk
[Dalej]. Przycisk nie jest aktywny dopóki aplikacja nie została utworzona.
Opcje instalacji
W następnym oknie Opcje instalacji w ramach pola „Domyślny język instalowanej aplikacji” wybierany jest język, w którym wyświetlana będzie domyślnie aplikacja Comarch BPM (dawniej DMS).

Dostępne są również dwa parametry:
-
- Opcja zmiany języka na ekranie logowania do aplikacji – jeżeli parametr zostanie zaznaczony, wówczas na ekranie logowania dostępny będzie link
[aplikacja desktop] lub
[aplikacja serwerowa], po kliknięciu w który możliwy jest wybór z listy jednego z czterech języków aplikacji: polskiego, angielskiego, niemieckiego lub francuskiego. - Wymagaj przestrzegania polityki mocnych haseł – domyślnie zaznaczony parametr; sprawia, że hasła ustawiane w aplikacji muszą spełniać określone warunki:
- Składać się co najmniej z 12 znaków
- Zawierać cyfry
- Zawierać wielkie i małe litery
- Zawierać znak specjalny
- Opcja zmiany języka na ekranie logowania do aplikacji – jeżeli parametr zostanie zaznaczony, wówczas na ekranie logowania dostępny będzie link
- Wersja Premium – opcja domyślnie zaznaczona; funkcjonalność modelowania procesów za pomocą kodu C# (w tym również dostęp do automatycznego trybu pracy – robotyzacji procesów) oraz dostęp do obsługi pobierania i wysyłki wiadomości z usługi e-Doręczenia
Po ustawieniu parametrów należy kliknąć na przycisk
[Dalej], aby kontynuować instalację.
Tworzenie bazy danych Comarch DMS
Po przejściu do okna „Baza danych Comarch DMS” należy poprawnie uzupełnić pole „Nazwa serwera”, a następnie wybrać typ logowania:
-
-
- Logowanie zintegrowane
-
lub
-
-
- Logowanie SQL – jeśli wybrano tę opcję, należy podać:
- W polu „Nazwa użytkownika” – nazwę użytkownika logującego się do serwera SQL – np. sa
- W polu „Hasło” – hasło użytkownika logującego się do serwera SQL
-

Następnie należy nacisnąć przycisk
[Połącz], aby połączyć się z serwerem SQL. Jeżeli połączenie zostało nawiązane, w dolnej części okna pojawi się napis „Nawiązano połączenie z serwerem SQL”.

Jeśli nawiązano połączenie z serwerem, użytkownik powinien kliknąć przycisk
[Dodaj użytkownika], który został dodany w wersji 2025.0.0 w miejsce przycisku „Zmień hasło”. Przycisk
[Dodaj użytkownika] umożliwia utworzenie nowego użytkownika bazodanowego.
Po kliknięciu w przycisk
[Dodaj użytkownika] zostaje otwarte okno, w którym należy uzupełnić następujące pola:
- Login – w tym polu operator powinien wpisać login nowego użytkownika, za pomocą którego aplikacja Comarch BPM (dawniej DMS) będzie komunikować się z bazą danych na serwerze MS SQL Server;
- Hasło – w tym polu operator powinien wpisać hasło nowego użytkownika, za pomocą którego aplikacja Comarch BPM (dawniej DMS) będzie komunikować się z bazą danych na serwerze MS SQL Server;
- Powtórz hasło – w ramach tego pola operator powinien powtórnie wprowadzić hasło nowego użytkownika, za pomocą którego aplikacja Comarch BPM (dawniej DMS) będzie komunikować się z bazą danych na serwerze MS SQL Server.

W przypadku, gdy operator wprowadził login i hasło użytkownika, którego login był już wykorzystywany dla innej instalacji na tym samym serwerze , a następnie kliknął w przycisk
[Zapisz], wówczas w dolnej części zostanie wyświetlony komunikat ostrzegawczy „Wpisany login jest już wykorzystany do komunikacji z bazą danych na tym serwerze. Zalecamy zmianę loginu dla nowej instalacji”. Komunikat nie blokuje następnych kroków instalacji – po ponownym kliknięciu w przycisk
[Zapisz] użytkownik z podanym loginem oraz hasłem zostanie utworzony.

Hasło powinno być silne – tzn. spełniać następujące warunki:
- Składać się z min. 12 znaków;
- Zawierać cyfry;
- Zawierać małe i wielkie litery;
- Zawierać znaki specjalne.
Hasło nie może zawierać następujących znaków:
Jeżeli wpisano hasło, które nie spełnia któregoś z warunków dla silnego hasła, wówczas po kliknięciu przycisku
[Zapisz] hasło nie zostaje zapisane, użytkownik nie zostaje utworzony i wyświetlany jest komunikat:
- Jeśli hasło jest za krótkie

- Jeśli brakuje warunku/warunków wymaganych dla silnego hasła (przykładowo brak znaku specjalnego, brak wielkiej litery)

Jeśli zaś hasło wpisane w polu „Powtórz hasło” różni się od hasła wpisanego w polu „Hasło”, wtedy po kliknięciu przycisku
[Zapisz] hasło nie zostaje zapisane, operator nie zostaje utworzony i wyświetlany jest następujący komunikat:

Po poprawnym uzupełnieniu pól oraz po kliknięciu przycisku
[Zapisz] użytkownik z podanym loginem i hasłem zostaje utworzony, okno zamyka się, a w ramach okna „Baza danych Comarch BPM” wyświetlony zostaje napis „Nowy użytkownik został utworzony”.
Aplikacja Comarch BPM (dawniej DMS) będzie komunikować się z bazą danych na serwerze MS SQL Server za pomocą nowoutworzonego użytkownika – jego hasło i login zostają również wpisane w ramach wszystkich „connection string” w pliku Web.config znajdującym się w folderze z plikami aplikacji serwerowej.

Następnie użytkownik powinien nacisnąć przycisk
[Dodaj bazę]. Wtedy zostanie otwarte okno, w ramach którego należy wprowadzić nazwę nowej bazy danych Comarch BPM, a następnie kliknąć
[Zapisz]. Jeżeli użytkownik nie chce jednak dodać nowej bazy, wtedy powinien nacisnąć przycisk
[Anuluj] albo znak X.

Po naciśnięciu przycisku
[Zapisz] baza Comarch BPM zostaje dodana i w ramach instalatora wyświetla się informacja „Baza danych BPM została utworzona”.

Gdy baza danych została dodana, wówczas należy kliknąć przycisk
[Uruchom skrypty] w celu przygotowania bazy Comarch BPM (dawniej DMS) do pracy. Kiedy wykonywanie skryptów zakończyło się sukcesem, wyświetlona zostaje informacja „Skrypty SQL zostały wykonane pomyślnie”, a użytkownik może nacisnąć przycisk
[Dalej], aby przejść do kolejnego kroku instalacji, okna "Klucze licencji i hasło Administratora".

Klucze licencji i hasło Administratora
Po kliknięciu w przycisk
[Dalej] następuje przejście do okna „Klucze licencji i hasło Administratora”. Operator powinien uzupełnić:
-
-
- W ramach pola „Serwer klucza licencji Comarch BPM” – klucz licencji dla Comarch BPM (dawniej DMS)
- W polu „Hasło dla operatora Administrator” – pole wprowadzone w wersji 2025.1.0; w ramach tego pola należy wprowadzić hasło, jakim będzie się posługiwać operator Administrator podczas logowania do Comarch BPM (dawniej DMS)
- W polu „Potwierdzenie hasła” – pole wprowadzone w wersji 2025.1.0; w ramach tego pola należy ponownie wprowadzić hasło, które wpisano w polu „Hasło dla operatora Administrator”
-
Hasło dla Administratora musi spełniać następujące warunki:
- Składać się z co najmniej 12 znaków
- Zawierać wielkie i małe litery
- Zawierać cyfry
- Zawierać znaki specjalne

Jeśli użytkownik ma tylko jeden klucz licencyjny, wówczas wystarczy wpisać nazwę serwera klucza licencji, zaś wpisanie numeru klucza jest opcjonalne. Jeśli jednak użytkownik posiada na danym serwerze więcej kluczy licencji, wówczas wpisanie numeru klucza jest wymagane.
W przypadku, jeśli:
- W polu „Hasło dla operatora Administrator” wpisano zbyt krótkie hasło, wyświetlony zostaje następujący komunikat:

- W polu „Hasło dla operatora Administrator” wpisano hasło, które nie spełnia wymogów silnego hasła (np. nie zawiera znaków specjalnych, cyfr), wyświetlony zostaje następujący komunikat:

- W polu „Potwierdzenie hasła” wprowadzono inne hasło niż w polu „Hasło dla operatora Administrator”, wyświetlony zostaje następujący komunikat:

Hasło wprowadzone podczas instalacji zostanie zapisane w bazie – podczas pierwszego logowania do dowolnej aplikacji Comarch BPM konieczne będzie wprowadzenie oprócz loginu „Administrator” również tego hasła.
Podczas aktualizacji nie ma konieczności zmiany hasła albo wpisywania hasła dla operatora „Administrator”.
W wersji 2025.2.0 w ramach instalatora dodano opcję utworzenia użytkownika CDNHASPDMS, wygenerowania dla niego hasła oraz nadania mu uprawnień do procedur HASP. Nowy użytkownik CDNHASPDMS ma dostęp do następujących procedur HASP:
- xp_HASPAddKey
- xp_HASPCheck
- xp_HASPCheckWeb
- xp_HASPGetAttributes
- xp_HASPGetIdleTime
- xp_HASPGetKeyInfo
- xp_HASPGetKeyInfo2
- xp_HASPGetKeyNumber
- xp_HASPGetKeyNumberList
- xp_HASPGetSignData
- xp_HASPGetVersion
- xp_HASPLicenceStateInfo
- xp_HASPLicenceStateInfo2
- xp_HASPLicenceStateInfoWeb
- xp_HASPLoggedUsersInfo
- xp_HASPLogin
- xp_HASPLoginWeb
- xp_HASPLogout
- xp_HASPLogoutWeb
- xp_HASPRefreshKeysData
- xp_HASPSetIdleTime
Dane użytkownika CDNHASPDMS zostają zaszyfrowane i zapisane; służą jedynie do komunikacji z serwerem, na którym znajduje się Menadżer Kluczy.
W instalatorze w ramach okna „Klucze licencji i hasło Administratora” dodano przycisk „Weryfikuj”. Poniżej opisano możliwe warianty dalszego postępowania, w zależności od tego, czy baza Comarch BPM i klucze licencji znajdują się na tym samym, czy na różnych serwerach.
Wariant 1
W ramach okna „Baza danych Comarch BPM” wybrano bazę, która znajduje się na serwerze 1, a w oknie „Klucze licencji i hasło Administratora” wprowadzono klucz/klucze licencji, które również znajdują się na serwerze 1
Po kliknięciu w przycisk „Weryfikuj” w ramach okna „Klucze licencji i hasło Administratora” zostanie utworzony login CDNHASPDMS[numer] (jeśli użytkownik istnieje na serwerze, login zostaje utworzony z pierwszym wolnym numerem loginu CDNHASPDMS[numer] – dla loginu zostaje nadane nowo wygenerowane hasło i sprawdzane są uprawnienia HASP. W przypadku, jeśli:
- Uprawnienia do procedur HASP znajdują się na serwerze klucza licencji – wówczas zostaną nadane loginowi CDNHASPDMS[numer] (gdzie numer – to pierwszy wolny numer, licząc od 1); następnie należy kontynuować instalację Comarch BPM, klikając w przycisk „Instaluj”;
- Uprawnienia do procedur HASP nie znajdują się na serwerze klucza licencji – wówczas nowy login nie zostanie utworzony i zostanie wyświetlony komunikat Na serwerze nie zainstalowano procedur niezbędnych do komunikacji z Menadżerem Kluczy. Sprawdź instalację Menadżera Kluczy, a następnie uruchom ponownie instalator Comarch BPM. Kliknij Zakończ, aby zakończyć pracę instalatora. Po kliknięciu w przycisk „Zamknij”, dostępny w ramach komunikatu, okno instalatora zostanie zamknięte.
Wariant 2
W ramach okna „Baza danych Comarch BPM” wybrano bazę, która znajduje się na serwerze 1, a w oknie „Klucze licencji i hasło Administratora” wprowadzono klucz/ licencji, który znajduje się na serwerze 2 (dotyczy instalacji Comarch BPM Standalone
Po kliknięciu w przycisk „Weryfikuj” w ramach okna „Klucze licencji i hasło Administratora” zostanie wyświetlone okno logowania do serwera, które pozwoli na podanie loginu i hasła użytkownika z uprawnieniami administratora do serwera oraz na sprawdzenie połączenia – po kliknięciu w przycisk „Połącz” informacja o rezultacie próby połączenia z serwerem będzie widoczna w oknie logowania do serwera. Jeśli próba połączenia zakończy się pomyślnie, należy kliknąć w przycisk „Zapisz”.

Następnie jeśli:
- Nawiązano połączenie – w przypadku, gdy użytkownik istnieje już na serwerze, zostaje utworzony login CDNHASPDMS[numer] (z pierwszym wolnym numerem loginu CDNHASPDMS) – dla loginu zostaje nadane nowo wygenerowane hasło i sprawdzone są uprawnienia HASP. W przypadku, jeśli:
- Uprawnienia do procedur HASP znajdują się na serwerze klucza licencji – wówczas zostaną nadane loginowi CDNHASPDMS[numer] (gdzie numer – to pierwszy wolny numer, licząc od 1); następnie należy kontynuować instalację Comarch BPM, klikając w przycisk „Instaluj”;
- Uprawnienia do procedur HASP nie znajdują się na serwerze klucza licencji – wówczas nowy login nie zostanie utworzony i zostanie wyświetlony komunikat Na serwerze nie zainstalowano procedur niezbędnych do komunikacji z Menadżerem Kluczy. Sprawdź instalację Menadżera Kluczy, a następnie uruchom ponownie instalator Comarch BPM. Kliknij Zakończ, aby zakończyć pracę instalatora. Po kliknięciu w przycisk „Zamknij”, dostępny w ramach komunikatu, okno instalatora zostanie zamknięte;
- Nie nawiązano połączenia – zostaje wyświetlony komunikat informujący o błędzie. Operator może wielokrotnie podejmować próbę logowania do serwera. ale po zamknięciu okna logowania do serwera instalacja zostanie przerwana.
Instalacja aplikacji web Comarch BPM (dawniej DMS) Standalone
Po uzupełnieniu klucza licencji i kliknięciu
[Instaluj] następuje przejście do następnego okna i rozpoczyna się instalacja Comarch BPM Standalone.

Koniec pracy instalatora
Po zakończeniu instalacji następuje przejście do końcowego okna instalacji aplikacji web Comarch BPM. Gdy użytkownik kliknie przycisk
[Zakończ], instalator zostanie zamknięty, natomiast zostanie otwarta przeglądarka na ekranie logowania do nowej aplikacji WEB Comarch BPM, zgodnie z nazwą aplikacji, którą podano w instalatorze.

Jeśli podczas próby uruchomienia aplikacji serwerowej (dawna web) pojawia się komunikat ”Błąd http 500.19 – Internal Server Error’’ - sprawdź tutaj
Instalacja aplikacji serwerowej i WEB Comarch BPM za pomocą instalatora (bez modułu Comarch BPM Repozytorium)
Instalacja – etapy początkowe
Instalację aplikacji serwerowej i WEB należy przeprowadzić na serwerze (komputerze) z zainstalowanym serwisem IIS (Internet Information Services).
W wersji 2023.0.0 wprowadzono nowe instalatory aplikacji web dla:
- Comarch BPM (dawniej DMS) Standalone
- Comarch BPM (dawniej DMS) we współpracy z Comarch ERP XL
- Comarch BPM (dawniej DMS) we współpracy z Comarch ERP Optima
Od wersji 2023.0 istnieje również możliwość instalacji serwera bazodanowego Microsoft SQL Server Express z poziomu instalatora aplikacji Comarch BPM (dawniej DMS) (zob.Instalacja Microsoft SQL Server Express za pomocą instalatora Comarch BPM). Z poziomu instalatora aplikacji web można także przejść bezpośrednio do instalatora aplikacji desktop Comarch BPM (dawniej DMS).
Aby uruchomić instalator Comarch BPM (dawniej DMS), w pobranym pakiecie instalacyjnym należy wejść do katalogu Comarch BPM [wersja] instalator Comarch BPM i uruchomić Instalator Comarch BPM.exe
Zostanie uruchomiony instalator aplikacji webowej, dzięki któremu możliwa jest:
- Instalacja koniecznych komponentów serwera IIS
- Konfiguracja puli na której będzie pracowała aplikacji Comarch BPM (dawniej DMS)
- Instalacja i konfiguracja aplikacji Comarch BPM (dawniej DMS)
- Aktualizacja aplikacji serwerowej i webowej Comarch BPM (dawniej DMS)
- Instalacja serwera MongoDB (od wersji Comarch DMS 2024.2.0)
- Instalacja i aktualizacja aplikacji Comarch BPM Repozytorium (od wersji Comarch DMS 2024.2.0)
Wybór języka instalacji
Po uruchomieniu instalatora zostaje wyświetlone okno początkowe, w ramach którego dostępne jest pole „Język instalatora”, w którym należy dokonać wyboru języka, w jakim ma zostać przeprowadzona instalacja aplikacji. Dostępne są następujące języki:
- Polski
- Angielski
- Niemiecki
- Francuski

Po wyborze języka instalacji należy nacisnąć przycisk
[Dalej], aby przejść do kolejnego kroku instalacji, okna instalacji wymaganych dodatków. Jeżeli operator naciśnie przycisk
[Anuluj] albo spróbuje zamknąć okno za pomocą znaku x, wówczas zostanie wyświetlony następujący komunikat:

Jeśli użytkownik wybierze przycisk:
- Tak – instalator zostanie zamknięty
- Nie – użytkownik pozostanie w tym samym oknie, a komunikat będzie zamknięty
Od wersji 2024.0.1 po przejściu do okna instalacji wymaganych dodatków wyświetlany jest komunikat, który informuje o braku możliwości instalacji Comarch BPM (dawniej DMS) w systemach wcześniejszych niż:
- Windows Vista x64;
- Windows Server 2008 x64;
- Windows 7 x64
- Windows Server 2008 R2 x64
- Windows Server 2012 x64.
Po kliknięciu w przycisk
[OK] instalator zostaje zamknięty.

Okno przygotowania komponentów
W kolejnym kroku instalatora zostaje wyświetlone okno, informujące o tym, że instalator przygotowuje potrzebne komponenty. Przejście do następnego okna nastąpi automatycznie.
W następnym kroku instalatora wyświetlone zostaje okno powitalne instalatora.

Okno powitalne instalatora

Jeżeli użytkownik chce kontynuować instalację, wówczas powinien nacisnąć przycisk
[Dalej], aby przejść do kolejnego kroku instalacji. Jeżeli operator naciśnie przycisk
[Anuluj] albo spróbuje zamknąć okno za pomocą znaku x, wówczas zostanie wyświetlony komunikat analogiczny do przedstawionego powyżej.
Wybór aplikacji
Po przejściu do okna Wybór aplikacji należy wybrać opcję Instalacja aplikacji Comarch BPM oraz Comarch BPM Repozytorium.
Jeżeli użytkownik nie ma zainstalowanego serwera MongoDB, a chce korzystać z modułu Comarch BPM (dawniej DMS) Repozytorium, wówczas powinien wybrać opcję Instalacja serwera MongoDB i kliknąć
[Dalej]. Dalsze kroki opisano w artykule Instalacja Microsoft SQL Server Express za pomocą instalatora Comarch BPM.
[Dalej]. Dalsze kroki opisano w rozdziale Instalacja serwera Mongo DB za pomocą instalatora Comarch BPM .

Po kliknięciu przycisku
[Dalej] użytkownik przechodzi do okna „Wybór aplikacji cd.”.
Wybór aplikacji cd.
W ramach okna „Wybór aplikacji cd.” operator może wybrać jedną z trzech opcji:
-
-
- Instalacja aplikacji Comarch BPM (zob. poniżej: Instalacja aplikacji Comarch BPM – aby instalować jedynie Comarch BPM (dawniej DMS);
- Instalacja aplikacji Comarch BPM oraz Comarch BPM Repozytorium (zob. Instalacja aplikacji serwerowej, WEB i Comarch BPM Repozytorium za pomocą instalatora) – aby instalować zarówno Comarch BPM (dawniej DMS), jak i Comarch BPM (dawniej DMS) Repozytorium;
- Instalacja Comarch BPM Repozytorium – aby instalować jedynie Comarch BPM (dawniej DMS) Repozytorium (zob. Instalacja Comarch BPM Repozytorium za pomocą instalatora).
-

Instalacja aplikacji Comarch BPM
Jeśli w oknie „Wybór aplikacji cd.” operator zaznaczył opcję „Instalacja aplikacji Comarch BPM”, a następnie
[Dalej], wówczas następuje przejście do okna „Tryb pracy”.
Tryb pracy
W ramach okna Tryb pracy należy zaznaczyć opcję Współpraca z Comarch ERP XL; ta opcja umożliwia zainstalowanie Comarch BPM (dawniej DMS), w którym będzie możliwa praca w powiązaniu z Comarch ERP XL.
Po wyborze opcji należy kliknąć
[Dalej], aby przejść do kolejnego kroku instalacji.

Warunki korzystania z oprogramowania
W ramach okna Warunki korzystania z oprogramowania należy zapoznać się z warunkami korzystania z oprogramowania Comarch BPM, zaznaczyć checkbox „Akceptuję warunki instalacji” i nacisnąć
[Dalej], aby przejść do kolejnego etapu – przycisk nie jest aktywny, jeśli nie została zaznaczona zgoda na warunki instalacji.

Internetowe usługi informacyjne (IIS)
W kolejnym oknie Internetowe usługi informacyjne (IIS) następuje weryfikacja, czy na danym komputerze dostępny jest serwer IIS. Jeżeli:
Serwer IIS nie jest dostępny - wyświetlana jest informacja „ Serwer IIS nie jest dostępny na tym komputerze” i nie jest możliwe przejście do kolejnego etapu instalacji.
W takim wypadku użytkownik może:
- Nacisnąć przycisk
[Zainstaluj IIS] – nastąpi wówczas instalacja IIS. Podczas instalacji wyświetlany jest komunikat „ Trwa instalacja serwera IIS”. Po zakończonej instalacji przycisk „Zainstaluj IIS” zostaje wyszarzony i wyświetlany jest napis „Serwer IIS został poprawnie zainstalowany”. - Pozostawić otwarte okno instalatora Comarch BPM, zainstalować ręcznie IIS, a potem kliknąć
[Odśwież] - Zamknąć instalator za pomocą przycisku
[Anuluj] lub znaku x, wykonać ręczną instalację IIS i ponownie przejść przez kolejne kroki instalatora do okna „Internetowe usługi informacyjne (IIS)”
Po zastosowaniu jednego z powyższych sposobów możliwe będzie przejście do kolejnego kroku instalacji aplikacji web Comarch BPM za pomocą przycisku
[Dalej]
Serwer IIS jest dostępny – wyświetlana jest informacja „ Serwer IIS został poprawnie zainstalowany” i należy przejść do kolejnego kroku, klikając przycisk
[Dalej].

Wymagane dodatki
Po kliknięciu przycisku
[Dalej], następuje przejście do następnego okna, w ramach którego następuje instalacja dodatków wymaganych dla poprawnego działania Comarch BPM.
W ramach pola dostępnego w prawej części okna dostępne są następujące kolumny:
- Name – zawiera nazwę danego dodatku
- Required – zawiera numer wymaganej wersji danego dodatku
- Found – zawiera numer wersji danego dodatku zainstalowanej już na komputerze
- Action – zawiera nieaktywny przycisk Pomiń – jeśli na komputerze jest już odpowiednia wersja i dany dodatek nie wymaga instalacji, wówczas jego instalacja zostanie automatycznie pominięta

Aby zainstalować wymagane dodatki i przejść do następnego okna należy nacisnąć przycisk
[Dalej].
Wybór puli aplikacji serwerowej
Od wersji 2025.0.0 dla aplikacji serwerowej i dla aplikacji WEB wymagane jest skonfigurowanie osobnych pul aplikacji. Wobec tego na kolejnym kroku, w oknie Pula dla aplikacji serwerowej należy określić, na jakiej puli aplikacji ma pracować aplikacja serwerowa Comarch BPM – w tym celu należy:
- Wybrać pulę aplikacji z listy znajdującej się po prawej stronie okna, klikając na nią
lub
- Dodać nową pulę aplikacji –wpisać nazwę puli, która ma zostać utworzona, w polu „„Nazwa nowej puli aplikacji”, a następnie nacisnąć przycisk
[Dodaj pulę]. Wybór puli zostaje automatycznie ustawiony na nowoutworzonej puli . Dodana w ten sposób pula spełnia wymagania konieczne do instalacji aplikacji serwerowej BPM.


Kiedy operator wybrał pulę aplikacji z listy albo dodał nową pulę i ją zaznaczył, wówczas następuje sprawdzenie, czy pula spełnia konieczne wymagania. Jeśli pod listą pul aplikacji zostanie wyświetlony komunikat:
- Wybrana pula spełnia wymagania instalowanej aplikacji – można przejść do dalszego kroku instalacji Comarch BPM (dawniej DMS)
- Wybrana pula nie spełnia wymagań instalowanej aplikacji – przed kontynuacją instalacji Comarch BPM należy wybrać inną pulę spełniającą wymagania lub dodać nową
- Wybrana pula jest zatrzymana. Przed uruchomieniem aplikacji należy uruchomić pulę w Menedżerze IIS. – przed kontynuacją instalacji Comarch BPM należy uruchomić pulę aplikacji
- Pula o tej nazwie już istnieje. – przed kontynuacją instalacji Comarch BPM należy wybrać inną pulę spełniającą wymagania lub dodać nową o innej nazwie
Po wyborze puli aplikacji spełniającej wymagania należy przejść do następnego kroku instalacji, klikając przycisk
[Dalej].
Kreowanie aplikacji serwerowej
W tym oknie następuje konfiguracja aplikacji serwerowej (webowej starszego typu). W ramach okna Kreowanie aplikacji serwerowej użytkownik:
- w polu „Wybierz lub utwórz witrynę web” – z listy dostępnych witryn wybiera witrynę, w której ma zostać utworzona aplikacja;
- w polu „Port” – wpisuje numer portu, który przypisany jest do danej witryny;
- w polu „Wprowadź nazwę aplikacji serwerowej” – wpisuje nadaną przez siebie nazwę aplikacji, np. BPMapi
W wersji 2025.2.0 wprowadzono walidację dodawanych nazw aplikacji: serwerowej i web w instalatorze. Jeśli we wprowadzonej nazwie aplikacji znajduje się co najmniej jeden z następujących znaków: Wówczas w oknie instalatora zostanie wyświetlony komunikat „Nazwa aplikacji jest niepoprawna. Znak <znak> nie jest dozwolony.”. W takim wypadku użytkownik powinien zmodyfikować nazwę wpisaną w polu „Nazwa aplikacji” tak, aby nie zawierała już niedozwolonych znaków specjalnych, a później ponownie nacisnąć

[Utwórz aplikację].
Następnie należy kliknąć przycisk
[Utwórz aplikację], aby nowa aplikacja została utworzona. Podczas tworzenia aplikacji w dolnej części okna widoczna jest informacja „Trwa kreowanie aplikacji”. Jeżeli utworzenie aplikacji przebiegło pomyślnie, wówczas wyświetlana jest informacja „Aplikacja została utworzona pomyślnie”. Przycisk
[Utwórz aplikację] nie jest aktywny do czasu wybrania witryny i wpisania nazwy aplikacji przez użytkownika.

Jeżeli podczas tworzenia aplikacji nastąpił błąd, wyświetlona zostanie informacja „Nie udało się utworzyć aplikacji”. W takim przypadku użytkownik powinien zmienić witrynę w polu „Nazwa witryny” i ponownie kliknąć
[Utwórz aplikację] albo opuścić instalator, a następnie ponownie przeprowadzić instalację.
Operator ma także opcję dodania nowej witryny, na której utworzy aplikację serwerową. W tym celu powinien:
- W polu „Wybierz lub utwórz witrynę web” wpisać nazwę witryny, która ma zostać utworzona;
W polu „Port” wpisać numer portu, który ma zostać przypisany do nowoutworzonej witryny

Następnie operator powinien nacisnąć przycisk
[Utwórz witrynę]. Jeśli tworzenie witryny zakończyło się powodzeniem, wówczas w dolnej części okna wyświetlany jest napis Witryna została utworzona na serwerze IIS.

Jeśli operator wpisze w polu Wybierz lub utwórz witrynę web nazwę witryny, która już istnieje, i kliknie
[Utwórz witrynę], wówczas witryna nie zostanie utworzona, a w dolnej części okna widoczna będzie informacja Witryna o tej nazwie już istnieje. W takim przypadku należy wprowadzić inną, nieistniejącą do tej pory nazwę witryny i ponownie kliknąć
[Utwórz witrynę].

Analogicznie, jeżeli operator wpisze w polu Port numer portu, który jest już wykorzystywany, i kliknie
[Utwórz witrynę], wówczas witryna nie zostanie utworzona, a w dolnej części okna widoczna będzie informacja Port jest już użyty przez inną witrynę. W takim przypadku należy wprowadzić inny, nieużywany do tej pory numer portu i ponownie kliknąć
[Utwórz witrynę].

Aby przejść do kolejnego kroku instalacji należy wybrać przycisk
[Dalej]. Przycisk nie jest aktywny dopóki aplikacja nie została utworzona.
Wybór puli aplikacji webowej
Od wersji 2025.0.0 dla aplikacji serwerowej i dla aplikacji WEB wymagane jest skonfigurowanie osobnych pul aplikacji. Z tego powodu na kolejnym kroku, w oknie Pula dla aplikacji WEB należy określić, na jakiej puli aplikacji ma pracować aplikacja web Comarch BPM (dawniej DMS) – w tym celu należy, podobnie jak w przypadku aplikacji serwerowej:
- wybrać pulę aplikacji z listy znajdującej się po prawej stronie okna, klikając na nią
lub
- dodać nową pulę aplikacji –wpisać nazwę puli, która ma zostać utworzona, w polu „Nazwa nowej puli aplikacji”, a następnie nacisnąć przycisk
[Dodaj pulę]. Wybór puli zostaje automatycznie ustawiony na nowoutworzonej puli . Dodana w ten sposób pula spełnia wymagania konieczne do instalacji aplikacji web BPM (dawniej DMS).

Kiedy operator wybrał pulę aplikacji z listy albo dodał nową pulę i ją zaznaczył, wówczas następuje sprawdzenie, czy pula spełnia konieczne wymagania. Jeśli pod listą pul aplikacji zostanie wyświetlony komunikat:
- Wybrana pula spełnia wymagania instalowanej aplikacji – można przejść do dalszego kroku instalacji Comarch BPM (dawniej DMS);
- Wybrana pula nie spełnia wymagań instalowanej aplikacji – przed kontynuacją instalacji Comarch BPM należy wybrać inną pulę spełniającą wymagania lub dodać nową;
- Wybrana pula jest zatrzymana. Przed uruchomieniem aplikacji należy uruchomić pulę w Menedżerze IIS. – przed kontynuacją instalacji Comarch BPM należy uruchomić pulę aplikacji;
- Wybrana pula została wskazana we wcześniejszym kroku instalacji, na tę na której ma pracować aplikacja serwerowa. Aplikacja webowa wymaga wskazania innej puli. – przed kontynuacją instalacji Comarch BPM należy wybrać inna pulę, która spełnia wymagania albo dodać nową pulę;
- Pula o tej nazwie już istnieje. – przed kontynuacją instalacji Comarch BPM należy wybrać inną pulę spełniającą wymagania lub dodać nową o innej nazwie.
Po wyborze puli aplikacji spełniającej wymagania należy przejść do następnego kroku instalacji, klikając przycisk
[Dalej].
Kreowanie aplikacji WEB
W tym oknie następuje konfiguracja aplikacji webowej z nowym interfejsem. W ramach okna Kreowanie aplikacji WEB użytkownik:
- w polu „Wybierz lub utwórz witrynę web” – z listy dostępnych witryn wybiera witrynę, w której ma zostać utworzona aplikacja;
- w polu „Port” – wpisuje numer portu, który przypisany jest do danej witryny;
- w polu „Wprowadź nazwę aplikacji WEB” – wpisuje nadaną przez siebie nazwę aplikacji, np. BPMweb.
W wersji 2025.2.0 wprowadzono walidację dodawanych nazw aplikacji: serwerowej i web w instalatorze. Jeśli we wprowadzonej nazwie aplikacji znajduje się co najmniej jeden z następujących znaków: Wówczas w oknie instalatora zostanie wyświetlony komunikat „Nazwa aplikacji jest niepoprawna. Znak <znak> nie jest dozwolony.”. W takim wypadku użytkownik powinien zmodyfikować nazwę wpisaną w polu „Wprowadź nazwę aplikacji WEB” tak, aby nie zawierała już niedozwolonych znaków specjalnych, a później ponownie nacisnąć

[Utwórz aplikację].
Następnie należy kliknąć przycisk
[Utwórz aplikację], aby nowa aplikacja została utworzona. Podczas tworzenia aplikacji w dolnej części okna widoczna jest informacja „Trwa kreowanie aplikacji”. Jeżeli utworzenie aplikacji przebiegło pomyślnie, wówczas wyświetlana jest informacja „Aplikacja została utworzona pomyślnie”.
Przycisk
[Utwórz aplikację] nie jest aktywny do czasu wybrania witryny i wpisania nazwy aplikacji przez użytkownika.

Jeżeli podczas tworzenia aplikacji nastąpił błąd, wyświetlona zostanie informacja „Nie udało się utworzyć aplikacji”. W takim przypadku użytkownik powinien zmienić witrynę w polu „Wybierz lub utwórz witrynę web” i ponownie kliknąć
[Utwórz aplikację] albo opuścić instalator, a następnie ponownie przeprowadzić instalację.
Operator ma także opcję dodania nowej witryny, na której utworzy aplikację WEB. W tym celu powinien:
- W polu „Wybierz lub utwórz witrynę web” wpisać nazwę witryny, która ma zostać utworzona;
- W polu „Port” wpisać numer portu, który ma zostać przypisany do nowoutworzonej witryny

Następnie operator powinien nacisnąć przycisk
[Utwórz witrynę]. Jeśli tworzenie witryny zakończyło się powodzeniem, wówczas w dolnej części okna wyświetlany jest napis Witryna została utworzona na serwerze IIS.

Jeśli operator wpisze w polu Wybierz lub utwórz witrynę web nazwę witryny, która już istnieje, i kliknie
[Utwórz witrynę], wówczas witryna nie zostanie utworzona, a w dolnej części okna widoczna będzie informacja Witryna o tej nazwie już istnieje. W takim przypadku należy wprowadzić inną, nieistniejącą do tej pory nazwę witryny i ponownie kliknąć
[Utwórz witrynę].

Analogicznie, jeżeli operator wpisze w polu Port numer portu, który jest już wykorzystywany, i kliknie
[Utwórz witrynę], wówczas witryna nie zostanie utworzona, a w dolnej części okna widoczna będzie informacja Port jest już użyty przez inną witrynę. W takim przypadku należy wprowadzić inny, nieużywany do tej pory numer portu i ponownie kliknąć
[Utwórz witrynę].

Aby przejść do kolejnego kroku instalacji należy wybrać przycisk
[Dalej]. Przycisk nie jest aktywny dopóki aplikacja nie została utworzona.
Opcje instalacji
W następnym oknie „ Opcje instalacji” w ramach pola „Domyślny język instalowanej aplikacji” wybierany jest język, w którym wyświetlana będzie domyślnie aplikacja Comarch BPM (dawniej DMS).

Dostępne są również cztery parametry:
-
- Utwórz osobną bazę danych dla Comarch BPM – domyślnie zaznaczony parametr; wyświetlany w przypadku instalacji Comarch BPM (dawniej DMS) we współpracy z systemami Comarch ERP. Jeżeli parametr zostanie odznaczony, wówczas system Comarch BPM będzie korzystał z bazy Comarch ERP XL
- Opcja zmiany języka na ekranie logowania do aplikacji – jeżeli parametr zostanie zaznaczony, wówczas na ekranie logowania dostępny będzie link
[aplikacja desktop] lub
[aplikacja serwerowa – dawna web], po kliknięciu w który możliwy jest wybór z listy jednego z czterech języków aplikacji: polskiego, angielskiego, niemieckiego lub francuskiego. - Wymagaj przestrzegania polityki mocnych haseł – domyślnie zaznaczony parametr; sprawia, że hasła ustawiane w aplikacji muszą spełniać określone warunki:
-
- Składać się z min. 12 znaków
- Zawierać cyfry
- Zawierać małe i wielkie litery;
- Zawierać znaki specjalne.
-
Po ustawieniu parametrów należy kliknąć na przycisk
[Dalej], aby kontynuować instalację – jeżeli w ramach okna „Opcje instalacji” :
- zaznaczono parametr „Utwórz osobną bazę danych dla Comarch BPM” – kolejnym krokiem instalacji jest przejście do okna „Baza danych Comarch BPM”
- odznaczono parametr „Utwórz osobną bazę danych dla Comarch BPM” – wówczas następuje przejście bezpośrednio do okna „Baza danych Comarch ERP XL”.
Baza danych Comarch BPM
Poniżej przedstawiono kolejne kroki instalacji po kliknięciu przycisku
[Dalej] w oknie „Opcje instalacji” , jeśli zaznaczono parametr „Utwórz osobną bazę danych dla Comarch BPM”
Po przejściu do okna „Baza danych Comarch BPM” należy poprawnie uzupełnić pole „Nazwa serwera”, a następnie wybrać typ logowania:
- Logowanie zintegrowane
lub
- Logowanie SQL – jeśli wybrano tę opcję, należy podać:
-
- W polu „Nazwa użytkownika” – nazwę użytkownika logującego się do serwera SQL – np. sa
- W polu „Hasło” – hasło użytkownika logującego się do serwera SQL
-

Następnie należy nacisnąć przycisk
[Połącz], aby połączyć się z serwerem SQL. Jeżeli połączenie zostało nawiązane, w dolnej części okna pojawi się napis „Nawiązano połączenie z serwerem SQL”.

Jeśli nawiązano połączenie z serwerem, użytkownik powinien kliknąć przycisk
[Dodaj użytkownika], który został dodany w wersji 2025.0.0 w miejsce przycisku „Zmień hasło”. Przycisk
[Dodaj użytkownika] umożliwia utworzenie nowego użytkownika bazodanowego.
Po kliknięciu w przycisk
[Dodaj użytkownika] zostaje otwarte okno, w którym należy uzupełnić następujące pola:
- Login – w tym polu operator powinien wpisać login nowego użytkownika, za pomocą którego aplikacja Comarch BPM (dawniej DMS) będzie komunikować się z bazą danych na serwerze MS SQL Server;
- Hasło – w tym polu operator powinien wpisać hasło nowego użytkownika, za pomocą którego aplikacja Comarch BPM (dawniej DMS) będzie komunikować się z bazą danych na serwerze MS SQL Server;
- Powtórz hasło – w ramach tego pola operator powinien powtórnie wprowadzić hasło nowego użytkownika, za pomocą którego aplikacja Comarch BPM (dawniej DMS) będzie komunikować się z bazą danych na serwerze MS SQL Server.

W przypadku, gdy operator wprowadził login i hasło użytkownika, którego login był już wykorzystywany dla innej instalacji na tym samym serwerze , a następnie kliknął w przycisk
[Zapisz], wówczas w dolnej części zostanie wyświetlony komunikat ostrzegawczy „Wpisany login jest już wykorzystany do komunikacji z bazą danych na tym serwerze. Zalecamy zmianę loginu dla nowej instalacji”. Komunikat nie blokuje następnych kroków instalacji – po ponownym kliknięciu w przycisk
[Zapisz] użytkownik z podanym loginem oraz hasłem zostanie utworzony.

Hasło powinno być silne – tzn. spełniać następujące warunki:
- Składać się z min. 12 znaków;
- Zawierać cyfry;
- Zawierać małe i wielkie litery;
- Zawierać znaki specjalne.
Hasło nie może zawierać następujących znaków:
Jeżeli wpisano hasło, które nie spełnia któregoś z warunków dla silnego hasła, wówczas po kliknięciu przycisku
[Zapisz] hasło nie zostaje zapisane, użytkownik nie zostaje utworzony i wyświetlany jest komunikat:
- Jeśli hasło jest za krótkie

- Jeśli brakuje warunku/warunków wymaganych dla silnego hasła (przykładowo brak znaku specjalnego, brak wielkiej litery)

Jeśli zaś hasło wpisane w polu „Powtórz hasło” różni się od hasła wpisanego w polu „Hasło”, wtedy po kliknięciu przycisku
[Zapisz] hasło nie zostaje zapisane, operator nie zostaje utworzony i wyświetlany jest następujący komunikat:

Po poprawnym uzupełnieniu pól oraz po kliknięciu przycisku
[Zapisz] użytkownik z podanym loginem i hasłem zostaje utworzony, okno zamyka się, a w ramach okna „Baza danych Comarch BPM” wyświetlony zostaje napis „Nowy użytkownik został utworzony”.
Aplikacja Comarch BPM (dawniej DMS) będzie komunikować się z bazą danych na serwerze MS SQL Server za pomocą nowoutworzonego użytkownika – jego hasło i login zostają również wpisane w ramach wszystkich „connection string” w pliku Web.config znajdującym się w folderze z plikami aplikacji serwerowej.

Następnie użytkownik powinien nacisnąć przycisk
[Dodaj bazę]. Wtedy zostanie otwarte okno, w ramach którego należy wprowadzić nazwę nowej bazy danych Comarch BPM, a następnie kliknąć
[Zapisz]. Jeżeli użytkownik nie chce jednak dodać nowej bazy, wtedy powinien nacisnąć przycisk
[Anuluj] albo znak X.

Po naciśnięciu przycisku
[Zapisz] baza Comarch BPM zostaje dodana i w ramach instalatora wyświetla się informacja „Baza danych BPM została utworzona”.

Gdy baza danych została dodana, wówczas należy kliknąć przycisk
[Uruchom skrypty] w celu przygotowania bazy Comarch BPM (dawniej DMS) do pracy. Kiedy wykonywanie skryptów zakończyło się sukcesem, wyświetlona zostaje informacja „Skrypty SQL zostały wykonane pomyślnie”, a użytkownik może nacisnąć przycisk
[Dalej], aby przejść do kolejnego kroku instalacji – do okna „Baza danych Comarch ERP XL” (zob. poniżej rozdział Baza danych Comarch ERP XL).

Baza danych Comarch ERP XL
W ramach okna „Baza danych Comarch ERP XL” należy poprawnie uzupełnić pole „Nazwa serwera”, a następnie wybrać typ logowania:
- Logowanie zintegrowane
lub
- Logowanie SQL – jeśli wybrano tę opcję, należy podać:
-
- W polu „Nazwa użytkownika” – nazwę użytkownika logującego się do serwera SQL – np. sa
- W polu „Hasło” – hasło użytkownika logującego się do serwera SQL
-

Następnie należy nacisnąć przycisk
[Połącz], aby połączyć się z serwerem SQL. Jeżeli połączenie zostało nawiązane, w dolnej części okna pojawi się napis „Nawiązano połączenie z serwerem SQL”.
Jeśli:
- Baza firmowa Comarch ERP XL i wcześniej połączona z aplikacją baza są na tym samym serwerze – wówczas po nawiązaniu połączenia z serwerem należy przejść do wyboru bazy w polu „Lista baz danych”


Po kliknięciu w przycisk
[Dodaj użytkownika] zostaje otwarte okno, w którym należy uzupełnić następujące pola:
- Login – w tym polu operator powinien wpisać login nowego użytkownika, za pomocą którego aplikacja Comarch BPM (dawniej DMS) będzie komunikować się z bazą danych na serwerze MS SQL Server;
- Hasło – w tym polu operator powinien wpisać hasło nowego użytkownika, za pomocą którego aplikacja Comarch BPM (dawniej DMS) będzie komunikować się z bazą danych na serwerze MS SQL Server;
- Powtórz hasło – w ramach tego pola operator powinien powtórnie wprowadzić hasło nowego użytkownika, za pomocą którego aplikacja Comarch BPM (dawniej DMS) będzie komunikować się z bazą danych na serwerze MS SQL Server.

W przypadku, gdy operator wprowadził login i hasło użytkownika, którego login był już wykorzystywany dla innej instalacji na tym samym serwerze , a następnie kliknął w przycisk
[Zapisz], wówczas w dolnej części zostanie wyświetlony komunikat ostrzegawczy „Wpisany login jest już wykorzystany do komunikacji z bazą danych na tym serwerze. Zalecamy zmianę loginu dla nowej instalacji”. Komunikat nie blokuje następnych kroków instalacji – po ponownym kliknięciu w przycisk
[Zapisz] użytkownik z podanym loginem oraz hasłem zostanie utworzony.

Hasło powinno być silne – tzn. spełniać następujące warunki:
- Składać się z min. 12 znaków;
- Zawierać cyfry;
- Zawierać małe i wielkie litery;
- Zawierać znaki specjalne.
Hasło nie może zawierać następujących znaków:
Jeżeli wpisano hasło, które nie spełnia któregoś z warunków dla silnego hasła, wówczas po kliknięciu przycisku
[Zapisz] hasło nie zostaje zapisane, użytkownik nie zostaje utworzony i wyświetlany jest komunikat:
- Jeśli hasło jest za krótkie

- Jeśli brakuje warunku/warunków wymaganych dla silnego hasła (przykładowo brak znaku specjalnego, brak wielkiej litery)

Jeśli zaś hasło wpisane w polu „Powtórz hasło” różni się od hasła wpisanego w polu „Hasło”, wtedy po kliknięciu przycisku
[Zapisz] hasło nie zostaje zapisane, operator nie zostaje utworzony i wyświetlany jest następujący komunikat:

Po poprawnym uzupełnieniu pól oraz po kliknięciu przycisku
[Zapisz] użytkownik z podanym loginem i hasłem zostaje utworzony, okno zamyka się, a w ramach okna „Baza danych Comarch ERP XL” wyświetlony zostaje napis „Nowy użytkownik został utworzony”.

Aplikacja Comarch BPM (dawniej DMS) będzie komunikować się z bazą danych na serwerze MS SQL Server za pomocą nowoutworzonego użytkownika – jego hasło i login zostają również wpisane w ramach wszystkich „connection string” w pliku Web.config znajdującym się w folderze z plikami aplikacji serwerowej.
Następnie należy przejść do wyboru bazy w polu „Lista baz danych”
W ramach pola „Lista baz danych” użytkownik powinien wybrać jedną z dostępnych baz Comarch ERP XL, a następnie kliknąć przycisk
[Uruchom skrypty] w celu przystosowania bazy Comarch ERP XL do pracy z systemem Comarch BPM (dawniej DMS).
Kiedy wykonywanie skryptów zakończyło się sukcesem, wyświetlona zostaje informacja „Skrypty SQL zostały wykonane pomyślnie”, a użytkownik może nacisnąć przycisk
[Dalej] i przejść do okna „Klucze licencji i hasło Administratora”.
Klucze licencji i hasło Administratora
W ramach okna „Klucze licencji i hasło Administratora” należy:
- w polu „Serwer klucza licencji Comarch BPM” wpisać klucz licencji Comarch BPM (dawniej DMS) zgodnie ze wzorem nazwa_serwera_klucza::numer_klucza
- W polu „Serwer klucza licencji Comarch ERP XL” wpisać klucz licencji Comarch ERP XL zgodnie ze wzorem nazwa_serwera_klucza::numer_klucza
- W polu „Hasło dla operatora Administrator" – pole wprowadzone w wersji 2025.1.0; w ramach tego pola należy wprowadzić hasło, jakim będzie się posługiwać operator Administrator podczas logowania do Comarch BPM (dawniej DMS)
- W polu „Potwierdzenie hasła" – pole wprowadzone w wersji 2025.1.0; w ramach tego pola należy ponownie wprowadzić hasło, które wpisano w polu „Hasło dla operatora Administrator”
Hasło dla Administratora musi spełniać następujące warunki:
- Składać się z co najmniej 12 znaków
- Zawierać wielkie i małe litery
- Zawierać cyfry
- Zawierać znaki specjalne

W przypadku, jeśli:
- W polu „Hasło dla operatora Administrator” wpisano zbyt krótkie hasło, wyświetlony zostaje następujący komunikat:

- W polu „Hasło dla operatora Administrator” wpisano hasło, które nie spełnia wymogów silnego hasła (np. nie zawiera znaków specjalnych, cyfr), wyświetlony zostaje następujący komunikat:

- W polu „Potwierdzenie hasła” wprowadzono inne hasło niż w polu „Hasło dla operatora Administrator”, wyświetlony zostaje następujący komunikat:

Hasło wprowadzone podczas instalacji zostanie zapisane w bazie – podczas pierwszego logowania do dowolnej aplikacji Comarch BPM konieczne będzie wprowadzenie oprócz loginu „Administrator” również tego hasła.
Podczas aktualizacji nie ma konieczności zmiany hasła albo wpisywania hasła dla operatora „Administrator”.
W wersji 2025.2.0 w ramach instalatora dodano opcję utworzenia użytkownika CDNHASPDMS, wygenerowania dla niego hasła oraz nadania mu uprawnień do procedur HASP. Nowy użytkownik CDNHASPDMS ma dostęp do następujących procedur HASP:
- xp_HASPAddKey
- xp_HASPCheck
- xp_HASPCheckWeb
- xp_HASPGetAttributes
- xp_HASPGetIdleTime
- xp_HASPGetKeyInfo
- xp_HASPGetKeyInfo2
- xp_HASPGetKeyNumber
- xp_HASPGetKeyNumberList
- xp_HASPGetSignData
- xp_HASPGetVersion
- xp_HASPLicenceStateInfo
- xp_HASPLicenceStateInfo2
- xp_HASPLicenceStateInfoWeb
- xp_HASPLoggedUsersInfo
- xp_HASPLogin
- xp_HASPLoginWeb
- xp_HASPLogout
- xp_HASPLogoutWeb
- xp_HASPRefreshKeysData
- xp_HASPSetIdleTime
Dane użytkownika CDNHASPDMS zostają zaszyfrowane i zapisane; służą jedynie do komunikacji z serwerem, na którym znajduje się Menadżer Kluczy.
W instalatorze w ramach okna „Klucze licencji i hasło Administratora” dodano przycisk „Weryfikuj”. Poniżej opisano możliwe warianty dalszego postępowania, w zależności od tego, czy baza Comarch BPM i klucze licencji znajdują się na tym samym, czy na różnych serwerach.
Wariant 1
W ramach okna „Baza danych Comarch BPM” wybrano bazę, która znajduje się na serwerze 1, a w oknie „Klucze licencji i hasło Administratora” wprowadzono klucz/klucze licencji, które również znajdują się na serwerze 1
Po kliknięciu w przycisk „Weryfikuj” w ramach okna „Klucze licencji i hasło Administratora” zostanie utworzony login CDNHASPDMS[numer] (jeśli użytkownik istnieje na serwerze, login zostaje utworzony z pierwszym wolnym numerem loginu CDNHASPDMS[numer] – dla loginu zostaje nadane nowo wygenerowane hasło i sprawdzane są uprawnienia HASP. W przypadku, jeśli:
- Uprawnienia do procedur HASP znajdują się na serwerze klucza licencji – wówczas zostaną nadane loginowi CDNHASPDMS[numer] (gdzie numer – to pierwszy wolny numer, licząc od 1); następnie należy kontynuować instalację Comarch BPM, klikając w przycisk „Instaluj”;
- Uprawnienia do procedur HASP nie znajdują się na serwerze klucza licencji – wówczas nowy login nie zostanie utworzony i zostanie wyświetlony komunikat Na serwerze nie zainstalowano procedur niezbędnych do komunikacji z Menadżerem Kluczy. Sprawdź instalację Menadżera Kluczy, a następnie uruchom ponownie instalator Comarch BPM. Kliknij Zakończ, aby zakończyć pracę instalatora. Po kliknięciu w przycisk „Zamknij”, dostępny w ramach komunikatu, okno instalatora zostanie zamknięte.
Wariant 2 (dotyczy instalacji Comarch BPM we współpracy z Comarch ERP Optima lub Comarch ERP XL)
W ramach okna „Baza danych Comarch BPM” wybrano bazę, która znajduje się na serwerze 1, a w oknie „Klucze licencji i hasło Administratora” wprowadzono: oraz Po kliknięciu w przycisk „Weryfikuj” w ramach okna „Klucze licencji i hasło Administratora” zostanie wyświetlone okno logowania do serwera 2. Następnie jeśli:

Wariant 3 (dotyczy instalacji Comarch BPM we współpracy z Comarch ERP Optima lub Comarch ERP XL)
W ramach okna „Baza danych Comarch BPM” wybrano bazę, która znajduje się na serwerze 1, a w oknie „Klucze licencji i hasło Administratora” wprowadzono klucze licencji, które znajdują się na serwerze 2
Po kliknięciu w przycisk „Weryfikuj” w ramach okna „Klucze licencji i hasło Administratora” zostaje wyświetlone okno logowania do serwera 2. Następnie jeśli:
- Nawiązano połączenie – w przypadku, gdy użytkownik istnieje już na serwerze 2, zostaje utworzony login CDNHASPDMS[numer] (z pierwszym wolnym numerem loginu CDNHASPDMS) – dla loginu zostaje nadane nowo wygenerowane hasło i sprawdzone są uprawnienia HASP. W przypadku, jeśli:
- Uprawnienia do procedur HASP znajdują się na serwerze klucza licencji – wówczas zostaną nadane loginowi CDNHASPDMS[numer] (gdzie numer – to pierwszy wolny numer, licząc od 1); następnie należy kontynuować instalację Comarch BPM, klikając w przycisk „Instaluj”;
- Uprawnienia do procedur HASP nie znajdują się na serwerze klucza licencji – wówczas nowy login nie zostanie utworzony i zostanie wyświetlony komunikat Na serwerze nie zainstalowano procedur niezbędnych do komunikacji z Menadżerem Kluczy. Sprawdź instalację Menadżera Kluczy, a następnie uruchom ponownie instalator Comarch BPM. Kliknij Zakończ, aby zakończyć pracę instalatora. Po kliknięciu w przycisk „Zamknij”, dostępny w ramach komunikatu, okno instalatora zostanie zamknięte;
- Nie nawiązano połączenia – zostaje wyświetlony komunikat informujący o błędzie. Operator może wielokrotnie podejmować próbę logowania do serwera 2. ale po zamknięciu okna logowania do serwera instalacja zostanie przerwana.
Wariant 4 (dotyczy instalacji Comarch BPM we współpracy z Comarch ERP Optima lub Comarch ERP XL)
W ramach okna „Baza danych Comarch BPM” wybrano bazę, która znajduje się na serwerze 1, a w oknie „Klucze licencji i hasło Administratora” wprowadzono: oraz Po kliknięciu w przycisk „Weryfikuj” w ramach okna „Klucze licencji i hasło Administratora” zostają wyświetlone okna logowania do obydwóch serwerów – do serwera 2 i do serwera 3. Następnie jeśli:
Instalacja aplikacji web Comarch DMS we współpracy z Comarch ERP XL
Po uzupełnieniu kluczy licencji i kliknięciu
[Instaluj] następuje przejście do okna instalacji aplikacji web Comarch DMS.

Koniec pracy instalatora
Po zakończeniu instalacji następuje przejście do końcowego okna instalacji aplikacji web Comarch BPM. Gdy użytkownik kliknie przycisk
[Zakończ], instalator zostanie zamknięty, natomiast zostanie otwarta przeglądarka na ekranie logowania do nowej aplikacji WEB Comarch BPM, zgodnie z nazwą aplikacji, którą podano w instalatorze.

Jeśli podczas próby uruchomienia aplikacji serwerowej (dawna web) pojawia się komunikat ”Błąd http 500.19 – Internal Server Error’’ - sprawdź tutaj