Aktualizacja aplikacji serwerowej (dawnej web) w trybie ręcznym

Kopiowanie zawartości katalogu BPM Workflow Api

W pobranym pliku instalacyjnym należy wejść do katalogu Comarch BPM {wersja} i przekopiować zawartość katalogu BPM Workflow Api  do folderu, który utworzono podczas poprzedniej instalacji i do którego wówczas przeniesiono zawartość folderu BPM (dawniej DMS) Workflow Api lub DMS Web (jeśli aktualizowana jest wersja wcześniejsza niż 2024.0.0) (np. C:\inetpub\wwwroot\BPM).

 

Wprowadzanie zmian w pliku Web.config

Następnie w pliku konfiguracyjnym Web.config znajdującym się w katalogu C:\inetpub\wwwroot\{nazwa aplikacji serwerowej} należy wprowadzić potrzebne informacje, analogicznie jak podczas instalacji Comarch BPM (dawniej DMS) (zob. punkt Konfiguracja pliku web.config w artykule Instalacja aplikacji serwerowej (dawnej web) w trybie ręcznym) i zapisać plik.

 

Uruchamianie skryptów

Następnie należy uruchomić skrypty na bazie Comarch BPM (dawniej DMS) oraz na bazach: konfiguracyjnej  i firmowej Comarch ERP Optima.

 

Uruchamianie skryptów na bazie Comarch BPM (dawniej DMS)

W katalogu BPM Workflow Api\Sql znajduje się plik Install.bat, który służy do instalacji skryptów na bazie Comarch BPM (dawniej DMS).

Lokalizacja pliku:

katalog z plikami instalacyjnymi \ Comarch BPM {wersja} \ BPM Workflow Api \ Sql \ Install.bat

Aby uruchomić skrypty, należy postępować w jeden z następujących sposobów:

 

Przyklad

Sposób 1

Należy uruchomić wiersz polecenia, wpisując cmd w wyszukiwarce w menu „Start” i wybierając opcję „Uruchom jako administrator”.

Otwieranie wiersza polecenia

 

Następnie należy wpisać cd, nacisnąć spację i podać ścieżkę do lokalizacji pliku Install.bat – np. C:\inetpub\wwwroot\BPMapi\Sql – a następnie nacisnąć Enter.

Później należy uruchomić plik z linii poleceń wpisując:

Install.bat <nazwa_serwera> <nazwa_bazy_Comarch_BPM>

a następnie klikając Enter – wówczas zostaną uruchomione skrypty.

 

Przykładowy wiersz polecenia do instalacji skryptów na bazie Comarch BPM (dawniej DMS)

 

Po wykonaniu skryptów należy zamknąć okno Wiersza polecenia.

 

 

Przyklad

Sposób 2

W katalogu BPM Workflow Api\Sql należy odnaleźć plik Install.bat i otworzyć go do edycji.

 

Wybór pliku „Install.bat” do edycji

 

 

Następnie w ramach okna edytora należy uzupełnić dane w następujący sposób:

set SERVER=nazwa_serwera

SHIFT

set DATABASE=nazwa_bazy_Comarch_BPM

a następnie zapisać zmiany i zamknąć okno.

 

Plik „Install.bat” po uzupełnieniu danych i zapisaniu pliku

 

 

Później należy kliknąć prawym przyciskiem myszki na plik Install.bat i wybrać opcję „Uruchom jako administrator”. Wówczas, po wyrażeniu zgody na dokonanie zmian przez Windows Command Processor, zostaną uruchomione skrypty. Po wykonaniu skryptów okno zostanie automatycznie zamknięte.

 

Wybór opcji „Uruchom jako administrator”

 

Uruchamianie skryptów na bazach konfiguracyjnej i firmowej Comarch ERP Optima

Analogiczny scenariusz należy wykonać dla katalogu BPM Workflow Api \ SqlOptima w tej samej lokalizacji.

Lokalizacja plików:

  • Dla bazy konfiguracyjnej Comarch ERP Optima:

 

katalog z plikami instalacyjnymi \ Comarch BPM {wersja} \ BPM Workflow Api \ SqlOptima \ InstallOptimaConf.bat

 

  • Dla każdej z baz firmowych Comarch ERP Optima (osobno):

 

katalog z plikami instalacyjnymi \ Comarch BPM {wersja} \ BPM Workflow Api \ SqlOptima \ InstallOptimaComp.bat

 

Aby uruchomić skrypty, należy postępować w jeden z następujących sposobów:

 

Przyklad

Sposób 1

Należy uruchomić wiersz polecenia, wpisując cmd w wyszukiwarce w menu „Start” i wybierając opcję „Uruchom jako administrator”.

 

Otwieranie wiersza polecenia

 

Następnie należy wpisać cd, nacisnąć spację i podać ścieżkę do lokalizacji pliku InstallOptimaConf.bat – np. C:\inetpub\wwwroot\BPMapi\SqlOptima – a następnie nacisnąć Enter.

Póżniej należy uruchomić plik z linii poleceń wpisując:

InstallOptimaConf.bat <nazwa_serwera> <nazwa_bazy_konfiguracyjnej_Comarch_ERP_Optima>

 

a następnie klikając Enter – wówczas zostaną uruchomione skrypty na bazie konfiguracyjnej Comarch ERP Optima.

 

Przykładowy wiersz polecenia do instalacji skryptów na bazie konfiguracyjnej Comarch ERP Optima

 

Po wykonaniu skryptów w ramach tego samego okna należy wpisać następującą linię polecenia:

InstallOptimaComp.bat <nazwa_serwera> <nazwa_bazy_firmowej_Comarch_ERP_Optima>

 

a następnie kliknąć Enter – wówczas zostaną uruchomione skrypty na danej bazie firmowej Comarch ERP Optima.

Po wykonaniu skryptów należy zamknąć okno Wiersza polecenia.

 

Przykładowy wiersz polecenia do instalacji skryptów na bazie firmowej Comarch ERP Optima

 

Przyklad

Sposób 2

W katalogu DMS Workflow Api \SqlOptima należy odnaleźć plik InstallOptimaConf.bat i otworzyć go do edycji.

 

Wybór pliku „InstallOptimaConf.bat” do edycji

 

Następnie w ramach okna edytora należy uzupełnić dane w następujący sposób:

set SERVER=nazwa_serwera

SHIFT

set DATABASE=nazwa_bazy_konfiguracyjnej_Comarch_ERP_Optima

a następnie zapisać zmiany i zamknąć okno.

 

Plik „InstallOptimaConf.bat” po uzupełnieniu danych i zapisaniu pliku

 

Później należy kliknąć prawym przyciskiem myszki na plik InstallOptimaConf.bat i wybrać opcję „Uruchom jako administrator”. Wówczas, po wyrażeniu zgody na dokonanie zmian przez Windows Command Processor, zostaną uruchomione skrypty. Po wykonaniu skryptów okno zostanie automatycznie zamknięte.

 

Wybór opcji „Uruchom jako administrator”

 

Następnie w tym samym katalogu BPM Workflow Api \SqlOptima należy odnaleźć plik InstallOptimaComp.bat i otworzyć go do edycji.

 

Wybór pliku „InstallOptimaComp.bat” do edycji

 

Następnie w ramach okna edytora należy uzupełnić dane w następujący sposób:

set SERVER=nazwa_serwera

SHIFT

set DATABASE=nazwa_bazy_firmowej_Comarch_ERP_Optima

a następnie zapisać zmiany i zamknąć okno.

 

Plik „InstallOptimaComp.bat” po uzupełnieniu danych i zapisaniu pliku

 

Później należy kliknąć prawym przyciskiem myszki na plik InstallOptimaComp.bat i wybrać opcję „Uruchom jako administrator”. Wówczas, po wyrażeniu zgody na dokonanie zmian przez Windows Command Processor, zostaną uruchomione skrypty. Po wykonaniu skryptów okno zostanie automatycznie zamknięte.

 

Wybór opcji „Uruchom jako administrator”

Utworzenie użytkownika CDNHASPDMS za pomocą instalatora

W wersji 2025.2.3 w ramach okna „Wybór aplikacji” w instalatorze Comarch BPM dodano opcję „Tworzenie użytkownika CDNHASPDMS na serwerze Menadżera Kluczy”. Opcja umożliwia utworzenie użytkownika CDNHASPDMS bez konieczności przejścia całości procesu instalacji aplikacji Comarch BPM w przypadku, gdy operator przeprowadził ręczną instalację lub aktualizację Comarch BPM. Dodanie użytkownika CDNHASPDMS jest konieczne dla poprawnego działania Comarch BPM.

 

Okno „Wybór aplikacji“ z opcją „Tworzenie użytkownika CDNHASPDMS na serwerze Menadżera Kluczy”

 

Aby dodać nowego operatora CDNHASPDMS, należy zaznaczyć opcję „Tworzenie użytkownika CDNHASPDMS na serwerze Menadżera Kluczy” i kliknąć w przycisk [Dalej].

Następnie operator przechodzi do okna „Wybór aplikacji serwerowej”, gdzie dostępne są następujące pola:

  • Wybierz witrynę web – w tym polu z listy dostępnych witryn należy wybrać witrynę, na której znajduje się aplikacja serwerowa (dawna web), na której ma zostać zainstalowany użytkownik CDNHASPDMS – domyślnie wyświetlana jest witryna Default Web Site;
  • Port – nieedytowalne pole numeru portu, które jest widoczne jako wyszarzone;
  • Wybierz aplikację serwerową – w ramach tego pola użytkownik z listy aplikacji dostępnych na danej witrynie wybiera tę aplikację serwerową (dawna web), na której ma zostać zainstalowany użytkownik CDNHASPDMS

Po wyborze witryny i aplikacji należy kliknąć przycisk [Dalej], aby przejść do następnego okna, „Użytkownik CDNHASPDMS”.

 

Okno „Wybór aplikacji serwerowej“ przed wyborem witryny i aplikacji

 

Okno „Wybór aplikacji serwerowej“ po wyborze witryny i aplikacji

 

W ramach okna, „Użytkownik CDNHASPDMS” znajdują się trzy pola:

  • Nazwa serwera – w ramach tego pola znajduję się automatycznie wpisany klucz licencji, pobrany z pliku web.config;
  • Login – w ramach tego pola należy wprowadzić login użytkownika z uprawnieniami administratora do serwera, który wskazano w polu „Nazwa serwera“
  • Hasło – w ramach tego pola należy wprowadzić hasło użytkownika z uprawnieniami administratora do serwera, który wskazano w polu „Nazwa serwera“

 

Okno „Użytkownik CDNHASPDMS“ przed uzupełnieniem pól „Login“ i „Hasło“

 

 

Gdy pola „Nazwa serwera”, „Login” i „Hasło” są uzupełnione, wówczas należy kliknąć w przycisk [Połącz]. Jeśli w którymś z pól wprowadzono błędne dane, wówczas przycisk [Utwórz] pozostanie wyszarzony, a w dolnej części okna zostanie wyświetlona informacja: ”Wprowadzono nieprawidłowe dane logowania”. W takim przypadku należy poprawić dane i ponownie kliknąć w przycisk [Połącz].

Jeżeli na danym serwerze nie znajdują się odpowiednie procedury HASP, wówczas użytkownik nie zostaje utworzony, a w dolnej części okna zostaje wyświetlony komunikat „Nie znaleziono procedur HASP na serwerze.”.

 

Okno „Użytkownik CDNHASPDMS“, gdy błędnie uzupełniono dane w polach , po kliknięciu w przycisk „Połącz“

 

Jeżeli poprawnie wprowadzono dane w oknie „Użytkownik CDNHASPDMS“, wówczas po kliknięciu w przycisk [Połącz] w dolnej części okna wyświetlona zostaje informacja „Nawiązano połączenie z serwerem”, a przycisk [Utwórz] staje się aktywny.

 

Okno „Użytkownik CDNHASPDMS“ , gdy poprawnie uzupełniono dane w polach, po kliknięciu w przycisk „Połącz“

 

Następnie należy nacisnąć przycisk [Utwórz], a po chwili, gdy proces zakończy się powodzeniem, w dolnej części okna zostanie wyświetlona informacja „Użytkownik CDNHASPDMS został utworzony”.

 

Okno „Użytkownik CDNHASPDMS“, gdy tworzenie użytkownika CDNHASPDMS zakończyło się sukcesem

 

Następnie należy kliknąć w przycisk [Zakończ] – wówczas instalator zostanie zamknięty. Operator może przystąpić do pracy z zainstalowaną aplikacją Comarch BPM, dla której dodano użytkownika CDNHASPDMS.

 

Reindeksacja bazy

W katalog BPM Workflow Api \ SQL znajduje się plik reindex.bat, który umożliwia:

  • Zreindeksowanie tabel schematu DO,
  • Odbudowę statystyk,
  • Rekompilacje procedur i funkcji schematu DO.

 

Aby reindeksować bazę, należy uruchomić wiersz polecenia, wpisując cmd w wyszukiwarce w menu „Start” i wybierając opcję „Uruchom jako administrator”.

 

Otwieranie wiersza polecenia

Następnie należy wpisać cd, nacisnąć spację i podać ścieżkę do lokalizacji pliku reindex.bat – np. C:\inetpub\wwwroot\BPMapi\Sql – a następnie nacisnąć Enter.

Póżniej należy uruchomić plik z linii poleceń wpisując:

reindex.bat <nazwa_serwera> <nazwa_bazy_Comarch_BPM>

 

a następnie klikając Enter – wówczas zostanie uruchomiona reindeksacja bazy Comarch BPM (dawniej DMS).

Po wykonaniu reindeksacji należy kliknąć dowolny przycisk, a później zamknąć okno Wiersza polecenia.

 

Przykładowy wiersz polecenia do reindeksacji bazy Comarch BPM (dawniej DMS)

 

Wskazówka
Zalecana jest reindeksacja bazy przy aktualizacji aplikacji Comarch BPM (dawniej DMS).

 

Weryfikacja poprawności konfiguracji aplikacji serwerowej

Poprawność instalacji można zweryfikować poprzez uruchomienie skonfigurowanej aplikacji serwerowej (dawny web) i zalogowanie się na użytkownika administrator (bez hasła). Od wersji 2025.1.0 w przypadku, gdy aplikację Comarch BPM instalowano za pomocą instalatora, w polu „Hasło” należy wprowadzić hasło, które wprowadzono dla administratora podczas instalacji, w ramach okna „Klucze licencji i hasło Administratora”.

 

Od wersji 2025.1.0 wsparcie dla starej wersji aplikacji web zostało zakończone – z tego powodu w przypadku, jeśli użytkownik próbuje uruchomić adres aplikacji serwerowej (dawnej web) w przeglądarce, wówczas zostanie wyświetlone okno z informacją Ta wersja aplikacji Comarch DMS Web nie jest już dostępna. Aby korzystać z aplikacji Comarch DMS Web oraz wszystkich jej funkcji, pobierz najnowszą wersję. Klikając w poniższy przycisk, zostaniesz przekierowany do strony nowej aplikacji Web.

Uwaga
Komunikat nie jest wyświetlany jeśli w pliku Web.config w folderze z plikami aplikacji serwerowej <add key=”LegacyDocumentManagerAccess” value=”true” /> (zob. Dodanie klucza „LegacyDocumentManagerAccess” – umożliwienie dostępu do Menadżera dokumentów z aplikacji serwerowej) .

 

Okno „Ta wersja aplikacji Comarch DMS Web nie jest już dostępna”

 

Po kliknięciu w przycisk [Nowa aplikacja] operator zostaje przeniesiony na odpowiednią stronę nowej aplikacji Web.

Komunikat zostaje wyświetlony w języku używanym aktualnie przez przeglądarkę; jeśli dany język nie jest obsługiwany, wówczas komunikat wyświetla się w języku angielskim.




Elementy karty obiegu w aplikacji mobilnej (Android)

– domyślna ikonka typu obiegu; istnieje możliwość zmiany ikonki dla konkretnego typu obiegu  z poizomu aplikacji desktop Comarch DMS (zob. Zmiana ikony typu obiegu w aplikacji mobilnej (Android)  )

 

– nazwa typu obiegu, w ramach którego utworzono dany dokument

 

numer dokumentu aplikacji Comarch DMS. Numer składa się z 4 części:

FAKT – prefix, 50- kolejny numer, 3- miesiąc, w którym został wystawiony dokument, 2024 – rok.

 

Wskazówka
Istnieje możliwość zmiany numeracji dla dokumentów z numeracji w obrębie miesiąca na numerację w obrębie roku – aby zobaczyć, w jaki sposób, przejdź do artykułu Czy można przestawić numerację dla dokumentów z numeracji w obrębie miesiąca na numerację w obrębie roku?

 

[Powrót]powrót na listę dokumentów; jeżeli operator wprowadzi zmiany na karcie obiegu (np. wprowadzi dane do kontrolki/kontrolek), a następnie kliknie w tę ikonkę bez zapisywania zmian, wówczas wyświetlony zostanie następujący komunikat:

 

Widok komunikatu „Czy zapisać zmiany?” wyświetlanego po kliknięciu w ikonkę „Powrót”

 

Jeżeli operator wybierze przycisk:

 [Odrzuć] – nastąpi powrót na listę dokumentów, a zmiany wprowadzone na karcie obiegu nie zostaną wprowadzone

[Zapisz]  –  nastąpi powrót na listę dokumentów, a zmiany wprowadzone na karcie obiegu zostaną wprowadzone

 

 [Info] – po kliknięciu w tę ikonę zostaje otwarte okno „Szczegóły dokumentu”, które składa się z dwóch części:

1. Informacje – w ramach tej zakładki widoczna jest informacja o tym, ile czasu pozostało na realizację zadania na danym etapie (jeśli ustawiono czas na realizację zadania – zob. Właściwości etapu – zakładka Przekazanie ) oraz jakie osoby są uprawnione do danego etapu.

 

Okno „Szczegóły dokumentu”, zakładka „Informacje”

 

2. Status – w ramach tej zakładki  widoczna jest informacja, na jakim etapie znajduje się dokument, do kogo jest przypisany i kiedy został przekazany.

Jeśli ustawiono czas na realizację zadania na danym etapie i ten czas minął, wówczas pod nazwą etapu wyświetlana jest także informacja „Po terminie” wraz z czasem, który upłynął od wyznaczonego czasu ukończenia zadania.

 

Po kliknięciu w przycisk [Zobacz historię przekazania]  następuje przejście do okna „Historia przekazania” , gdzie widoczny jest diagram obiegu dokumentu aż do chwili obecnej. Na niebiesko oznaczono aktualny etap, zaś na zielono – poprzednie.

 

Aby powrócić do okna „Szczegóły dokumentu”, należy kliknąć w znak X w lewym górnym rogu okna „Historia przekazania”

Aby powrócić z okna „Szczegóły dokumentu” na kartę obiegu dokumentu, należy kliknąć w znak w lewym górnym rogu okna „Szczegóły dokumentu”.

 

Okno „Szczegóły dokumentu”, zakładka „Status”

 

Okno „Historia przekazania”

 

[Usuń] – umożliwia usunięcie wskazanego dokumentu.

Dokument może usunąć tylko operator z odpowiednimi uprawnieniami. Dokument po usunięciu znika z interfejsu, pozostaje jednak w bazie jako archiwalny. Istnieje możliwość przywrócenia takiego dokumentu.

Nie ma możliwości usunięcia dokumentu na innym etapie, niż przypisany do zalogowanego operatora oraz dokumentu z zakończonym obiegiem.

Po kliknięciu na ikonę usuwania dokumentu pojawia się komunikat informujący o próbie usunięcia dokumentu

 

Widok komunikatu „Chcesz usunąć dokument?” wyświetlanego po kliknięciu w ikonkę „Usuń”

Jeżeli operator wybierze przycisk:

[Anuluj] lub kliknie poza komunikatem – komunikat zostanie zamknięty, a dokument nie zostanie usunięty.

[Usuń] – nastąpi powrót na listę dokumentów, a dokument zostanie usunięty.

- sekcja dokumentu. Każda utworzona na dokumencie sekcja może być zwinięta lub rozwinięta – sposób prezentacji sekcji uzależniony jest od ustawienia parametru ‘Prezentacja sekcji’ w panelu użytkownika w aplikacji desktop (zob. Szczegóły dokumentu ).

 

[Zapisz] – funkcjonalność zapisu zmian lub zatwierdzenia nowododanej pozycji:

  • przy tworzeniu nowego dokumentu – zapisuje wartości kontrolek w sekcji karta obiegu i dokument jest przekazywany do etapu „Początkowy”.
  • funkcjonalność Zapis – przy modyfikacji danych na utworzonym dokumencie – zapisuje tylko zmiany w wartościach kontrolek z sekcji karta obiegu.

[Do przekazania] – ikona przenosi dokument do okna "Przekazanie".

 

Przykładowe kontrolki

- kontrolka typu liczba (Liczba rzeczywista/Liczba całkowita/ Liczba stałoprzecinkowa). Wartości wprowadzane są ręcznie przez operatora lub pochodzą z zapytania SQL lub C# zdefiniowanego na formatce Inicjowanie lub Wzór na wartość w aplikacji desktop.

 

- kontrolka typu tekst (zob. Tekst). Wartości wprowadzane są ręcznie przez operatora lub pochodzą z zapytania SQL lub C# zdefiniowanego na formatce Inicjowanie lub Wzór na wartość w aplikacji desktop.

- kontrolka typu data i godzina (zob. Data i godzina). Operator może zmienić datę klikając w pole kontrolki - zostanie wówczas otwarte okno, w którym należy:

1. wybrać rok - klikając w rok widoczny na niebieskim tle w górnej części okna, a następnie przesuwając palcem listę lat (w górę - lata poprzednie, w dół - lata późniejsze) i naciskając na odpowiedni rok

Wybór roku w kontrolce typu Data w aplikacji na Android

 

2. wybrać miesiąc -  przesuwając palcem listę miesięc y(w górę - miesiące poprzednie, w dół - miesiące późniejsze) i naciskając na odpowiedni miesiąc

Wybór miesiąca i dnia w kontrolce typu Data w aplikacji na Android

 

Następnie należy kliknąć [OK], aby wybrana data została wprowadzona w kontrolce typu data i godzina. Jeśli użytkownik chce zrezygnować z ustawiania daty, powinien nacisnąć [Anuluj] - wówczas data nie zostanie wprowadzona do kontrolki.

 

Jeżeli na definicji kontrolki typu Data i godzina w aplikacji desktop w ramach pola "Czas" wybrano opcję "Tak", wówczas po wyborze roku oraz miesiąca i  zatwierdzeniu wyboru przyciskiem [OK] zostaje wyświetlone okno z zegarem.

W górnej części zegara wyświetlana jest aktualna godzina, a poniżej - tarcza zegara, na której należy wybrać godzinę wraz z minutami, która ma zostać wprowadzona do danej kontrolki typu Data i godzina. W tym celu należy kliknąć najpierw na wybraną godzinę, a następnie na wybrany czas w minutach.

Wybór godziny w kontrolce typu Data i godzina

Wybór minut w kontrolce typu Data i godzina

 

Jeżeli operator wybrał godzinę i minuty, ale chciałby edytować godzinę - wówczas wystarczy, że kliknie na godzinę na ciemnogranatowym tle w górnej części okna, a następnie wybierze poniżej na tarczy zegarowej odpowiednią godzinę .

Analogicznie, jeśli operator wybrał godzinę i minuty, ale chciałby edytować minuty - wówczas wystarczy, że kliknie na minuty w górnej części okna, a następnie wybierze poniżej na tarczy zegarowej odpowiednią liczbę minut .

Następnie należy kliknąć [OK], aby wybrana data została wprowadzona w kontrolce typu data i godzina. Jeśli użytkownik chce zrezygnować z ustawiania daty, powinien nacisnąć [Anuluj] - wówczas data nie zostanie wprowadzona do kontrolki.

Przykładowa data w kontrolce typu Data i godzina, jeśli nie wybrano dla niej opcji "Tak" w polu "Czas"w aplikacji desktop

Data w kontrolce typu Data i godzina, jeśli wybrano dla niej opcji "Tak" w polu "Czas"w aplikacji desktop

----------------------------------------------------------------------------------------------------------------------------------

- kontrolka typu Dokument elektroniczny z danymi zaczytanymi z programu Comarch ERP XL (zob. Dokument elektroniczny). Przycisk wywołuje listę ofert zakupu, użytkownik ma możliwość podglądu szczegółów dokumentu oraz zmiany dokumentu na inny. Przycisk odpina dokument elektroniczny z kontrolki.

 

- kontrolka typu załącznik (zob. Załącznik). Prezentowana jest nazwa załącznika,  ikona umożliwiająca usunięcie pliku oraz ikona zapisu załącznika na dysk.

Gdy jest włączona opcja wersjonowania załączników, obok nazwy załącznika wyświetlana jest cyfra określająca liczbę wersji pliku załącznika.

W wersji 2023.0.0 uległa zmianie ikona załącznika w formacie PDF, zarówno w aplikacji serwerowej (dawny web) , jak i w aplikacji desktop. Aktualna ikona dla załącznika PDF to ikona 

 

- kontrolka typu wartość logiczna (zob. Wartość logiczna). Prezentuje wartości: Tak/Nie.

 

- kontrolka typu lista (zob. Lista). Wartości kontrolki definiowane są na jej właściwościach lub pochodzą z zapytania SQL lub C# zdefiniowanego na formatce Inicjowanie.

 

- kontrolka typu Dokument związany (zob. Dokumenty związane). Prezentuje wiązania wszystkich dokumentów z systemu Comarch ERP XL, do których dowiązany jest aktualny dokument z aplikacji Comarch DMS. Przycisk wywołuje listę dokumentów z systemu Comarch ERP XL, użytkownik ma możliwość podglądu szczegółów dokumentu oraz zmiany dokumentu na inny. Przycisk odpina dokument  z kontrolki. Jednocześnie operacja ta usuwa wiązania z tabeli cdn.dokzwiazane.

 

- kontrolka typu Dokument ERP XL (zob. Dokument ERP XL). Prezentuje numer dokumentu w systemie Comarch ERP XL, który został wygenerowany z poziomu aplikacji Comarch DMS wraz z opisem analitycznym. W kontrolce prezentowane są także numery istniejących dokumentów z systemu Comarch ERP XL, które zostały dowiązane.

 

- kontrolka typu dane tabelaryczne (zob. Dane tabelaryczne). Możliwość dodawania nieograniczonej ilość wierszy.

Typ i ilość kolumn jest określana na właściwościach kontrolki podczas definicji typu obiegu.

Wartości kontrolki mogą być wprowadzane ręcznie przez operatora, definiowane na jej właściwościach, pobierane z systemu Comarch ERP XL lub pochodzić z funkcjonalności inicjowania kontrolek zapytaniami SQL, kodem C# lub wyrażeniem.

 

- kontrolka typu ‘Dokument elektroniczny’ (zob. Dokument elektroniczny), dla kontrolki umożliwiono zatwierdzanie dokumentu pod względem merytorycznym oraz formalno – rachunkowym.

Zatwierdzenie dokumentu ERP XL pod względem merytorycznym i formalno-rachunkowym może zrealizować operator natywny DMS lub operator ERP XL zalogowany do Comarch DMS. W przypadku zatwierdzenia przez operatora natywnego DMS do dokumentu ERP XL zostanie przekazany login operatora DMS.

 

-  w kontrolce ‘Dokument ERP XL”, analogicznie do kontrolki ‘Dokument elektroniczny’ umożliwiono zatwierdzanie dokumentu pod względem merytorycznym oraz formalno – rachunkowym.

 

 

 




Właściwości i metody kontrolek dostępne z poziomu obiektu „MainFrame”

Uwaga
Należy pamiętać, aby na zakładce „Schemat obiegu” na  etapie, na którym ma się odbyć inicjalizacja, na zakładce „Kontrolki” zaznaczyć parametr „Inicjalizacja SQL/C#”  przy danej kontrolce i  aby zapisać wszystkie wprowadzone zmiany  za pomocą przycisku zapisz32 [Zapisz] .

 

1.

 

 

 

2. Dokument elektroniczny

Kontrolka „Dokument elektroniczny” posiada identyfikatory numeryczne i tekstowe.

Jeżeli kontrolka współpracuje z systemem ERP: XL, Altum, Optima, domyślnie ustawiane są identyfikatory numeryczne.

W przypadku współpracy z systemem CEE używane są identyfikatory tekstowe.

Właściwość: Id

  • Opis: Właściwość umożliwia odczytanie i ustawienie numerycznego identyfikatora dokumentu kontrolki elektronicznej.
  • Definicja: Globals.MainFrame.<identyfikator kontrolki elektronicznej>.Id
  • Typ: int?
  • Dostęp: Zapis/Odczyt

 

Właściwość: IdType

  • Opis: Właściwość umożliwia odczytanie i ustawienie typu dokumentu kontrolki elektronicznej dla systemów ERP posiadających numeryczne identyfikatory typów dokumentów (ERP XL, ERP Optima, ERP Altum).
  • Definicja: Globals.MainFrame.<identyfikator kontrolki elektronicznej>.IdType
  • Typ: int?
  • Dostęp: Zapis/Odczyt

 

Przyklad

Zainicjowanie kontrolki dokumentem ERP o identyfikatorze 5024 i typie 1521:

Globals.MainFrame.ERPDocument1.Id = 5024; Globals.MainFrame.ERPDocument1.IdType = 1521;

 

Zainicjowanie kntrolki typu Dokument elektroniczny - po pomyślnej kompilacji

Poniższy film przedstawia zainicjowanie kontrolki typu Dokument elektroniczny podczas tworzenia nowego dokumentu:

Film

Podczas dodawania nowego dokumentu dokument o zdefiniowanym id i należący do wybranego typu zostaje automatycznie dodany do kontrolki typu Dokument elektroniczny:

 

 

Właściwość: IdText

  • Opis: Właściwość umożliwia odczytanie i ustawienie tekstowego identyfikatora dokumentu kontrolki elektronicznej.
  • Definicja: Globals.MainFrame.<identyfikator kontrolki elektronicznej>.IdText
  • Typ: string
  • Dostęp: Zapis/Odczyt

 

Właściwość: IdTextType

  • Opis: Właściwość umożliwia odczytanie i ustawienie tekstowego typu dokumentu kontrolki elektronicznej.
  • Definicja: Globals.MainFrame.<identyfikator kontrolki elektronicznej>.IdTextType
  • Typ: string
  • Dostęp: Zapis/Odczyt

Właściwość:IdTextCategory

  • Opis: Właściwość umożliwia odczytanie i ustawienie konfiguracji dokumentu kontrolki elektronicznej.
  • Definicja: Globals.MainFrame.<identyfikator kontrolki elektronicznej>.IdTextCategory
  • Typ: String
  • Dostęp: Zapis/Odczyt

 

Przyklad

Zainicjowanie kontrolki elektronicznej dokumentem z systemu CEE w którym wszystkie identyfikatory dokumentu są tekstowe:

Globals.MainFrame.ERPDocument1.IdText = "E97B3CE0-F719-44CD-A473-54A59ABF20D5"; 
Globals.MainFrame.ERPDocument1.IdTextType = "3EEC4A14-8263-4196-B721-CE7A61C12F45"; 
Globals.MainFrame.ERPDocument1.IdTextCategory = "2C755635-6E2F-4995-A0DA-2A2257FAC2F9";

 

Właściwość: Number

  • Opis: Właściwość umożliwia odczytanie z kontrolki elektronicznej numeru dokumentu.
  • Definicja: Globals.MainFrame.<identyfikator kontrolki elektronicznej>.Number
  • Typ: String
  • Dostęp: Odczyt

 

 Globals.MainFrame.String1.Text=Globals.MainFrame.ERPDocument1.Number

m

 




Praca z punktem ACD typu Import e-faktur ZUGFeRD i XRechnung

W ramach pracy z punktem ACD typu „Import e-faktur ZUGFeRD i XRechnung” operatorzy dodają do punktu dokumenty, które następnie mają zostać zaimportowane do systemu Comarch DMS.

 

Widok punktu ACD typu „Import e-faktur ZUGFeRD i XRechnung” po skonfigurowaniu punktu

 

Aby poprawnie pracować z punktem, po zdefiniowaniu oraz zapisaniu punktu konfiguracyjnego należy w oknie tego punktu konfiguracyjnego nacisnąć ikonę [Ustaw folder], a następnie w ramach otwartego okna kliknąć przycisk „Ustaw” i wybrać lokalizację, z której będą pobierane dokumenty do przeprocesowania.

Operator może zaznaczyć parametr „Nie archiwizuj przeprocesowanych plików”. Jeśli parametr „Nie archiwizuj przeprocesowanych plików” zostanie zaznaczony, wówczas przeprocesowane pliki nie ulegną archiwizacji – po przetworzeniu zostaną usunięte i nie będą już dostępne w katalogu „Wysłane” w katalogu, który wybrano jako ten, z którego pobierane są pliki dokumentów do przeprocesowania.

Po wyborze lokalizacji i (opcjonalnie) zaznaczeniu parametru „Nie archiwizuj przeprocesowanych plików” należy kliknąć w przycisk „Zapisz”.

 

Okno wyboru katalogu przed wyborem lokalizacji

 

Okno wyboru katalogu z wybraną lokalizacją

 

Aby dodać dokumenty do przetworzenia operator powinien:

  • Kliknąć w ikonę [Dodaj pliki] dostępną w ramach okna punktu konfiguracyjnego, wybrać faktury, które mają zostać zaimportowane i kliknąć „Otwórz”

lub

  • Przenieść do wybranego folderu faktury, które mają zostać zaimportowane

 

Następnie należy zaznaczyć parametr [Włącz procesowanie dokumentów] i nacisnąć przycisk [Odśwież], aby odświeżyć listę dokumentów. Wówczas po prawej stronie okna, na liście dokumentów pojawią się zaimportowane dokumenty, zaś po lewej stronie – kontrolki wypełnione zgodnie z konfiguracją punktu ACD. W ramach pola „Przeprocesowane” widoczna jest liczba dokumentów, które zwróci zapytanie z zakładki „Lista” na definicji punktu ACD.

 

Okno punktu ACD typu „Import e-faktur ZUGFeRD i XRechnung” z listą przeprocesowanych dokumentów

 

Aby wygenerować dokument DMS, należy wybrać wartość w ramach pola „Dokumenty” i kliknąć w przycisk „Generuj”, analogicznie jak w przypadku współpracy z Comarch OCR.

 

Dokument wygenerowany z punktu ACD typu „Import e-faktur ZUGFeRD i XRechnung”

 

Rozpoczynasz pracę z Comarch DMS i chcesz dowiedzieć się, jak korzystać z programu? A może masz już podstawową wiedzę o Comarch DMS i chcesz dowiedzieć się więcej?

Sprawdź Szkolenia Comarch DMS!

 




Zgłoszenia zrealizowane w wersji 2025.2.3

:

  • Zmieniono minimalną szerokość kolumny w kontrolce typu Dane tabelaryczne (aktualnie to 10 px);
  • Naprawiono błąd polegający na wyświetlaniu komunikatu „Wystąpił błąd podczas zapisu” i pustej karty obiegu przy próbie wczytania danych do kontrolki typu Dane tabelaryczne, w przypadku, gdy w kontrolce znajduje się wiele wierszy;
  • Rozwiązano problem dotyczący uruchomienia aplikacji Comarch BPM;
  • Naprawiono błąd dotyczący występowania różnicy pomiędzy wartością a ceną na dokumencie FAI (fakturze importowej) generowanym do Comarch ERP XL;
  • Naprawiono błąd polegający na tym, że kontrolka typu Wartość logiczna nie zostaje zainicjowana w aplikacji web zgodnie z zapytaniem wprowadzonym dla tej kontrolki w punkcie ACD;
  • Rozwiązano problem dotyczący zatrzymania dokumentu o zbyt długiej nazwie w pętli OCR, bez przeniesienia do katalogu Wysłane lub Błędy;
  • Naprawiono błąd dotyczący wyświetlania komunikatu „Poznaj ChatERP” w aplikacji web w języku polskim, zamiast w języku ustawionym dla aplikacji;
  • Naprawiono błąd polegający na wyświetlaniu w ramach zarządzania uprawnieniami do danego folderu w Comarch BPM Repozytorium komunikatu „Brak dostępu” dla użytkowników, którym nie nadawano uprawnień do danego folderu, a którzy mają uprawnienia do obszarów podrzędnych znajdujących się w tym samym obszarze co folder;
  • Rozwiązano problem dotyczący zamykania się aplikacji przy próbie podglądu załącznika dodanego ręcznie do kontrolki typu Załącznik, która współpracuje z OCR w ramach punktu ACD w aplikacji mobilnej na system Android;
  • Rozwiązano problem z obsługą formatu jfif w aplikacjach mobilnych na systemy: Android i iOS;
  • Naprawiono błąd dotyczący samoczynnego wyłączania się w trakcie pracy aplikacji mobilnej na system iOS;
  • Ustawiono flagę LARGEADDRESSAWARE w plikach: DMS.exe i BPM.exe, co pozwala na alokację większej części pamięci operacyjnej i zapobiega wyłączaniu się aplikacji;
  • Naprawiono błąd polegający na niewłaściwym podłączaniu dokumentów z podobiegu po tym, jak użyto kontrolki typu Własna akcja.
  • Naprawiono błąd polegający na wielokrotnym przetwarzaniu dokumentów PDF przez OCR
  • Naprawiono bląd dotyczący działania kontrolki typu Własna akcja po uruchomieniu Comarch BPM z poziomu shella (z modułu Obieg dokumentów) w Comarch ERP XL;
  • Naprawiono bląd dotyczący wywoływania wydruku sPrint po uruchomieniu Comarch BPM z poziomu shella (z modułu Obieg dokumentów) w Comarch ERP XL.




Dodanie opcji tworzenia użytkownika CDNHASPDMS w oknie „Wybór aplikacji” w instalatorze

W ramach okna „Wybór aplikacji” w instalatorze Comarch BPM dodano opcję „Tworzenie użytkownika CDNHASPDMS na serwerze Menadżera Kluczy”. Opcja umożliwia utworzenie użytkownika CDNHASPDMS bez konieczności przejścia całości procesu instalacji aplikacji Comarch BPM w przypadku, gdy operator przeprowadził ręczną instalację lub aktualizację Comarch BPM.

 

Okno „Wybór aplikacji“ z opcją „Tworzenie użytkownika CDNHASPDMS na serwerze Menadżera Kluczy”

 

Aby dodać nowego operatora CDNHASPDMS, należy zaznaczyć opcję „Tworzenie użytkownika CDNHASPDMS na serwerze Menadżera Kluczy” i kliknąć w przycisk [Dalej].

Następnie operator przechodzi do okna „Wybór aplikacji serwerowej”, gdzie dostępne są następujące pola:

  • Wybierz witrynę web – w tym polu z listy dostępnych witryn należy wybrać witrynę, na której znajduje się aplikacja serwerowa (dawna web), na której ma zostać zainstalowany użytkownik CDNHASPDMS – domyślnie wyświetlana jest witryna Default Web Site;
  • Port – nieedytowalne pole numeru portu, które jest widoczne jako wyszarzone;
  • Wybierz aplikację serwerową – w ramach tego pola użytkownik z listy aplikacji dostępnych na danej witrynie wybiera tę aplikację serwerową (dawna web), na której ma zostać zainstalowany użytkownik CDNHASPDMS

Po wyborze witryny i aplikacji należy kliknąć przycisk [Dalej], aby przejść do następnego okna, „Użytkownik CDNHASPDMS”.

 

Okno „Wybór aplikacji serwerowej“ przed wyborem witryny i aplikacji

 

Okno „Wybór aplikacji serwerowej“ po wyborze witryny i aplikacji

 

W ramach okna, „Użytkownik CDNHASPDMS” znajdują się trzy pola:

  • Nazwa serwera – w ramach tego pola znajduję się automatycznie wpisany klucz licencji, pobrany z pliku web.config;
  • Login – w ramach tego pola należy wprowadzić login użytkownika z uprawnieniami administratora do serwera, który wskazano w polu „Nazwa serwera“
  • Hasło – w ramach tego pola należy wprowadzić hasło użytkownika z uprawnieniami administratora do serwera, który wskazano w polu „Nazwa serwera“

 

Okno „Użytkownik CDNHASPDMS“ przed uzupełnieniem pól „Login“ i „Hasło“

 

 

Gdy pola „Nazwa serwera”, „Login” i „Hasło” są uzupełnione, wówczas należy kliknąć w przycisk [Połącz]. Jeśli w którymś z pól wprowadzono błędne dane, wówczas przycisk [Utwórz] pozostanie wyszarzony, a w dolnej części okna zostanie wyświetlona informacja: ”Wprowadzono nieprawidłowe dane logowania”. W takim przypadku należy poprawić dane i ponownie kliknąć w przycisk [Połącz].

Jeżeli na danym serwerze nie znajdują się odpowiednie procedury HASP, wówczas użytkownik nie zostaje utworzony, a w dolnej części okna zostaje wyświetlony komunikat „Nie znaleziono procedur HASP na serwerze.”.

 

Okno „Użytkownik CDNHASPDMS“, gdy błędnie uzupełniono dane w polach , po kliknięciu w przycisk „Połącz“

 

Jeżeli poprawnie wprowadzono dane w oknie „Użytkownik CDNHASPDMS“, wówczas po kliknięciu w przycisk [Połącz] w dolnej części okna wyświetlona zostaje informacja „Nawiązano połączenie z serwerem”, a przycisk [Utwórz] staje się aktywny.

 

Okno „Użytkownik CDNHASPDMS“ , gdy poprawnie uzupełniono dane w polach, po kliknięciu w przycisk „Połącz“

 

Następnie należy nacisnąć przycisk [Utwórz], a po chwili, gdy proces zakończy się powodzeniem, w dolnej części okna zostanie wyświetlona informacja „Użytkownik CDNHASPDMS został utworzony”.

 

Okno „Użytkownik CDNHASPDMS“, gdy tworzenie użytkownika CDNHASPDMS zakończyło się sukcesem

 

Następnie należy kliknąć w przycisk [Zakończ] – wówczas instalator zostanie zamknięty. Operator może przystąpić do pracy z zainstalowaną aplikacją Comarch BPM, dla której dodano użytkownika CDNHASPDMS.




Umożliwienie współpracy z XL API 2025.1

W wersji 2025.2.3 dodano możliwość współpracy Comarch BPM z XL API 2025.1.




Zmiany we współpracy z KSeF

W wersji 2025.2.3 wprowadzono następujące zmiany dotyczące współpracy z KSeF:

  • dodano współpracę z KSeF 2.0 dla trybów pracy: Test i Demo; dla trybu Produkcyjnego zachowano współpracę z KSeF 1.0
  • obsługa struktury logicznej FA(3) dla trybów pracy: Test i Demo
  • zmiany w tabelach dotyczących współpracy z KSeF

Przebieg konfiguracji współpracy Comarch BPM z KSeF nie uległ zmianie – konfigurację opisano w artykule Konfiguracja współpracy Comarch BPM z KSeF – Baza Wiedzy programu Comarch BPM (dawniej DMS).




Informacje ogólne

Aplikacje Comarch BPM w wersji 2025.2.3  współpracują z następującymi Systemami Comarch ERP:

    • Comarch ERP XL – wersje systemu: 2025.0.2, 2025.0.3, 2025.1
    • Comarch ERP Optima – wersje systemu: 2025.3.1, 2025.5.1, 2026.0.1
    • Comarch ERP Altum – wersje systemu: 2024.5, 2025.0, 2026.0
    • Comarch ERP Enterprise 6.4 – DMS Integration APP wersja 45.2

 

Uwaga
Od wersji 2025.1.0 wsparcie dla starej wersji aplikacji web zostało zakończone. 

 

Uwaga
Obsługa logów z generatora została oprogramowana w Comarch BPM dla następujących wersji Comarch ERP Optima: 2024.3.1, 2024.5.1, 2024.6.1, 2025.0.1, 2025.1.1, 2025.2.1 i późniejszych. Ze stron walidowanych należy pobrać zaktualizowany generator Comarch ERP Optima adekwatny do wersji Comarch ERP Optima.

Uwaga

Wymagane oprogramowanie serwera IIS:

System operacyjny (jedna z poniższych możliwości):

  • Windows Server 2016
  • Windows Server 2019
  • Windows Server 2022
  • Windows Serwer 2025





Pobieranie danych z KSeF do kontrolki tabelarycznej Elementy na Fakturze kosztowej XL

Zastosowanie

Dzięki zastosowaniu tej zintegrowanej konfiguracji, proces obiegu faktur kosztowych w Comarch BPM zyskuje pełną automatyzację i spójność danych. Dane są pobierane bezpośrednio z systemu KSeF (poprzez BPM), a kontrolka tabelaryczna jest automatycznie wypełniana.

Głównym celem jest:

  • Eliminacja ręcznego wprowadzania pozycji dokumentów: Dane z faktury KSeF (pobrane do tabeli do.KS_DocumentItems) są automatycznie mapowane i wypełniają kontrolkę tabelaryczną na karcie obiegu.
  • Automatyczne kalkulowanie wartości: Kontrolka tabelaryczna uzyskuje zdolność automatycznego przeliczania wszędzie tam, gdzie zmienione zostaną dane wejściowe (np. Cena, Ilość, Stawka VAT) przez użytkownika.
  • 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 KSeF, Załącznika oraz wszystkich kluczowych danych nagłówkowych (Numer dokumentu, Kontrahent, Data zakupu, Data wystawienia, Data wpływu Termin płatności, Forma płatności, Waluta, Wartość Netto, Wartość Brutto, Numer KSeF) oraz inicjację dokumentu obiegowego. W przypadku kontrolki Kontrahent w zapytaniu przed nazwą tabeli CDN.KntKarty należy wskazać właściwą nazwę bazy Comarch ERXL.

 

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), wykorzystując dane z bazy Comarch BPM, które zostały zapisane po przetworzeniu faktury z KSeF w punkcie ACD.

  • Konfiguracja wykorzystuje ID dokumentu KSeF (zapisane w dedykowanej kontrolce typu Liczba całkowita o nazwie np. ID_KSeF) jako identyfikator do pobrania danych.
  • Kontrolka tabelaryczna obserwuje to pole (ID_KSeF), reagując na jego wypełnienie.
  • Kluczowym elementem jest zapytanie SQL umieszczone na zakładce Inicjowanie Wartości kontrolki typu dane tabelarycznej.
  • Zapytanie jest filtrowane za pomocą parametru @ID_KSeF@, dzięki czemu pobiera ono wiersze z właściwego dokumentu KSeF z tabeli do.KS_DocumentItems w bazie BPM.
  • W zapytaniu SQL zawarta jest niezbędna logika konwersji (CTE z ROW_NUMBER), która mapuje stawki VAT z KSeF na identyfikatory liczbowe (Naz_GIDLp) z tabeli CDN.Nazwy, których BPM wymaga do poprawnego wyświetlania danych w kolumnie typu Lista (Stawka VAT).
  • Dodatkowo, kontrolka Dane Tabelaryczne (Elementy) obserwuje sama siebie (@^SenderControlName@ = ’Elementy’), co aktywuje logikę automatycznego przeliczania wartości w trybie edycji:
  • Zapytanie monitoruje zmiany w kolumnach wejściowych, takich jak Cena lub Ilość (oraz Stawka VAT).
  • W przypadku edycji tych pól, skrypt automatycznie pobiera stawkę VAT, a następnie przelicza i aktualizuje wartości Netto (Ilość * Cena) oraz Brutto (Netto * (1 + VAT)) w bieżącym wierszu.

 

Konfiguracja przykładu

1. Utworzono kontrolkę ID_KSeF: Na karcie obiegu dodano kontrolkę typu Liczba całkowita o nazwie (identyfikatorze) ID_KSeF, do której będzie zapisywane ID dokumentu KSeF.

 

Kontrolka Liczba całkowita ID_KSeF

 

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
  • ”Netto” (identyfikator kolumny: Netto)typ Liczba stałoprzecinkowa
  • ”Stawka VAT” (identyfikator kolumny: StawkaVAT)typ Lista
  • ”Brutto” (identyfikator kolumny: Brutto)typ Liczba stałoprzecinkowa

 

Kolumny w kontrolce typu Dane tabelaryczne

 

3. W kontrolce typu Dane tabelaryczne o nazwie (identyfikatorze) Elementy 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))=''

 

Lista Stawka VAT w kontrolce typu Dane tabelaryczne

 

  • Jednostki miary:

 

SELECT Naz_GIDLp,Naz_Nazwa from cdn.Nazwy where Naz_GIDTyp=144;

 

Lista Jednostka miary w kontrolce typu Dane tabelaryczne

 

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

 

Dane tabelaryczna, zakładka Inicjowanie wartości

 

5. Dodano zapytanie SQL: W kontrolce 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.KS_DocumentItems na podstawie przekazanego parametru @ID_KSeF@ (ID dokumentu KSeF).

W zapytaniu SQL konieczne jest użycie logiki CASE WHEN do konwersji wartości pola KSI_ElementStawkaVAT (np. 'Stawka23′, 'zw’) na ujednolicony klucz, który następnie jest mapowany na identyfikatory liczbowe (Naz_GIDLp) stawek VAT z tabeli CDN.Nazwy z bazy XL. Logika CTE z ROW_NUMBER() zapewnia unikalność mapowanych ID.

 

Uwaga
 W zapytaniu przed nazwą tabeli do.KS_DocumentItems należy wskazać właściwą nazwę bazy Comarch BPM.

 

  • Ta sekcja jest wywoływana tylko raz, podczas inicjowania obiegu:

 

IF @^SenderControlName@ = 'ID_KSeF' /*Identyfikator kontrolki do której pobierane jest ID dokumentu KSeF */

BEGIN

/* Tryb 1: Inicjowanie wierszy z dokumentu KSeF */

WITH ProcessedDocumentItems AS (

/* CTE 1: Ujednolicenie stawek VAT, tabela KSI_ElementStawkaVAT */

SELECT

KSI_ElementNazwa,

KSI_ElementCenaNetto,

KSI_ElementIlosc,

KSI_ElementWartoscNetto,

KSI_ElementStawkaVAT,

CASE

WHEN di.KSI_ElementStawkaVAT LIKE 'Stawka%' THEN LTRIM(RTRIM(SUBSTRING(di.KSI_ElementStawkaVAT, 7, LEN(di.KSI_ElementStawkaVAT) - 6)))

WHEN di.KSI_ElementStawkaVAT = 'zw' THEN 'ZW'

WHEN di.KSI_ElementStawkaVAT = 'np' THEN 'NP'

ELSE di.KSI_ElementStawkaVAT

END AS StandardizedStawkaVAT

FROM

[BAZA_BPM].do.KS_DocumentItems AS di /*Należy wskazać nazwę bazy BPM*/

WHERE KSI_DocumentId = @ID_KSeF@ /*Identyfikator kontrolki liczba całkowita, do której pobierane jest ID dokumentu KSeF*/

),

ProcessedNazwyRanked AS (

/* CTE 2: Porządkowanie stawek VAT z tabeli słownikowej (CDN.Nazwy), w celu zapewnienia unikalności */

SELECT

Naz_GIDLp,

Naz_Nazwa1,

CASE

WHEN LTRIM(RTRIM(n.Naz_Nazwa1)) LIKE '%ZW%' THEN 'ZW'

WHEN LTRIM(RTRIM(n.Naz_Nazwa1)) LIKE '%NP%' THEN 'NP'

WHEN CHARINDEX(' ', LTRIM(RTRIM(n.Naz_Nazwa1))) > 0 THEN LTRIM(RTRIM(SUBSTRING(n.Naz_Nazwa1, 1, CHARINDEX(' ', n.Naz_Nazwa1) - 1)))

ELSE LTRIM(RTRIM(n.Naz_Nazwa1))

END AS StandardizedNazwa1_ForJoin,

CASE

WHEN LTRIM(RTRIM(n.Naz_Nazwa1)) LIKE '%ZW%' OR LTRIM(RTRIM(n.Naz_Nazwa1)) LIKE '%NP%' THEN 0.00

WHEN ISNUMERIC(

CASE

WHEN CHARINDEX(' ', LTRIM(RTRIM(n.Naz_Nazwa1))) > 0 THEN LTRIM(RTRIM(SUBSTRING(n.Naz_Nazwa1, 1, CHARINDEX(' ', n.Naz_Nazwa1) - 1)))

ELSE LTRIM(RTRIM(n.Naz_Nazwa1))

END

) = 1 THEN CAST(

CASE

WHEN CHARINDEX(' ', LTRIM(RTRIM(n.Naz_Nazwa1))) > 0 THEN LTRIM(RTRIM(SUBSTRING(n.Naz_Nazwa1, 1, CHARINDEX(' ', n.Naz_Nazwa1) - 1)))

ELSE LTRIM(RTRIM(n.Naz_Nazwa1))

END

AS DECIMAL(5, 2)) / 100.0

ELSE 0.00

END AS CalculatedVATRate,

/* Numerujemy rekordy dla tego samego klucza łączenia. */

ROW_NUMBER() OVER (PARTITION BY

CASE

WHEN LTRIM(RTRIM(n.Naz_Nazwa1)) LIKE '%ZW%' THEN 'ZW'

WHEN LTRIM(RTRIM(n.Naz_Nazwa1)) LIKE '%NP%' THEN 'NP'

WHEN CHARINDEX(' ', LTRIM(RTRIM(n.Naz_Nazwa1))) > 0 THEN LTRIM(RTRIM(SUBSTRING(n.Naz_Nazwa1, 1, CHARINDEX(' ', n.Naz_Nazwa1) - 1)))

ELSE LTRIM(RTRIM(n.Naz_Nazwa1))

END

ORDER BY n.Naz_GIDLp ASC) as RN

FROM

CDN.Nazwy AS n

WHERE Naz_GIDTyp = 624

),

ProcessedNazwy AS (

/* CTE 3: Finalne, unikalne stawki */

SELECT

Naz_GIDLp,

StandardizedNazwa1_ForJoin,

CalculatedVATRate

FROM

ProcessedNazwyRanked

WHERE RN = 1 /* Wybieramy tylko jeden (pierwszy) rekord dla każdej unikalnej stawki */

)

/* Końcowy SELECT: Zwraca żądany zestaw kolumn */

SELECT

pi.KSI_ElementNazwa,

pi.KSI_ElementCenaNetto,

pi.KSI_ElementIlosc,

pi.KSI_ElementWartoscNetto,

pn.Naz_GIDLp AS 'stawka VAT', /* ID stawki z drugiej tabeli */

pi.KSI_ElementWartoscNetto * (1 + pn.CalculatedVATRate) AS 'Wartość brutto',

NULL AS 'NULL'

FROM

ProcessedDocumentItems AS pi

JOIN

ProcessedNazwy AS pn

ON

pi.StandardizedStawkaVAT = pn.StandardizedNazwa1_ForJoin;

END

 

  • Ta sekcja jest wywoływana przy każdej modyfikacji danych w kontrolce „Elementy” i wymaga użycia ELSE po sekcji KSeF:

 

ELSE

IF @^SenderControlName@ = 'Elementy' /*Identyfikator kontrolki Dane tabelaryczne*/

BEGIN

/* Tryb 2: Automatyczne przeliczanie wartości w trybie edycji */

/* Kolumny 2-Cena, 3-Ilość, 5-Stawka VAT */

IF @Elementy_Column@=2 OR @Elementy_Column@=3 OR @Elementy_Column@=5

BEGIN

DECLARE @VAT as decimal (4,2)

/* Pobranie stawki VAT z tabeli słownikowej */

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 [Stawka VAT]

FROM @Elementy@

WHERE POS=@Elementy_Row@)

UPDATE @Elementy@

/* Aktualizacja wartości Netto */

SET [Netto] = (Ilosc * Cena),

/* Aktualizacja wartości Brutto */

[Brutto] = (Ilosc * Cena) * (@VAT + 1)

WHERE POS=@Elementy_Row@

/* Zwrócenie zaktualizowanej tabeli - Obowiązkowy select */

SELECT * FROM @Elementy@

END

END

 

Zapytanie SQL w kontrolce typu Dane tabelaryczne na zakładce Inicjowanie wartości

 

Kolumna Netto i Brutto w trybie „Do odczytu”

 

6. 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@

 

Kontrolka Liczbowa WartoscNetto

 

7. 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@

 

Kontrolka Liczbowa WartoscBrutto

 

8. Punkt ACD: W punkcie konfiguracyjnym ACD (Współpraca z KSeF), na zakładce Kontrolki, dodano kontrolkę ID_KSeF i przypisano jej zapytanie, które pobiera ID dokumentu KSeF:

 

 select @Id1@

 

Kontrolka ID_KSeF w punkcie ACD

 

Uzupełniona kontrolka typu Dane Tabelaryczne

Po pomyślnym zainicjowaniu dokumentu z punktu ACD, kontrolka typu Dane Tabelaryczne została automatycznie wypełniona pozycjami odczytanymi z KSeF.

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 Netto/Brutto poprzez zmianę Ceny/Ilości lub Stawki VAT.

Kolumna Netto oraz Brutto jest zablokowana do ręcznej edycji (tryb „Do odczytu”), co gwarantuje poprawność danych.

Kontrolka Wartość Netto wyświetla poprawną sumę końcową z kolumny Netto kontrolki typu Dane tabelaryczne.

Kontrolka Wartość Brutto wyświetla poprawną sumę końcową z kolumny Brutto kontrolki Dane tabelaryczne.

 

Kontrolka typu Dane tabelaryczne uzupełniona pozycjami odczytanymi z KSeF oraz podsumowanie kwot

 

Rozpoczynasz pracę z Comarch BPM (dawniej DMS) i chcesz dowiedzieć się, jak korzystać z programu? A może masz już podstawową wiedzę o Comarch BPM (dawniej DMS) i chcesz dowiedzieć się więcej?

Sprawdź Szkolenia Comarch BPM!