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

 

Formularz karty obiegu

 

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

 

Uwaga
W zapytaniu pobierającym listę operatorów dla kontrolki Operator zakładający w XL, konieczne jest wstawienie właściwej nazwy bazy danych Comarch BPM przed nazwą tabeli systemowej do.DF_ConfOSDictionary.

 

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

 

Ustawienie kontrolek Tylko do odczytu

 

Uwaga
Aby zablokować edycję kontrolek technicznych na całym obiegu dokumentu, należy pamiętać, że pole „Tylko do odczytu” musi zostać zaznaczone na każdym etapie procesu.

 

Uwaga
Jeżeli celem jest ukrycie kontrolek technicznych na dokumencie, należy pamiętać, że opcja „Widoczna” musi zostać odznaczona na każdym etapie obiegu dokumentu.

 

Ukrycie kontrolek technicznych

 

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.

 

Utworzenie nowego kontrahenta

 

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!