Baza wiedzy LINKSPOT › Comarch BPM - współpraca z Comarch ERP Optima

Komunikat

Comarch BPM - współpraca z Comarch ERP Optima · Opublikowano 2024-12-18

Kontrolka typu komunikat służy do wyświetlania komunikatów na karcie obiegu pod wpływem danego zdarzenia.

Na definicji kontrolki dostępne są następujące pola:

Kontrolka typu Komunikat i jej właściwości

Mechanizm umożliwia wyświetlenie komunikatu podczas następujących zdarzeń:

Wskazówka

Składnia definiowania komunikatu zapytaniem SQL:

Select Top 1 ‘Komunikat’, 1

Wartości:

Przyklad

Operator chce, aby nie było możliwe przekazanie dokumentu do następnego etapu, jeśli w kontrolce „Wartość netto” wpisano wartość ujemną, chce też, aby został wyświetlony komunikat, który poinformuje o przyczynie blokady przekazania.

W tym celu w definicji kontrolki typu Komunikat w polu „Kontrolki powiązane”  operator dodaje do obserwacji kontrolkę „Wartość netto” (identyfikator: „netto”), a po wyborze „SQLOD” i kliknięciu w link „Ustaw” wprowadza następujące zapytanie SQL:

 if  @netto@ < 0 select Top 1 
'Wartość wprowadzona w kontrolce "Wartość netto" jest ujemna 
- popraw wartość, aby móc przejść do kolejnego etapu', 1;

Wprowadzanie zapytania SQL dla kontrolki typu Komunikat

Następnie operator zapisuje zmiany w obiegu. Kiedy użytkownik DMS będzie próbował wprowadzić wartość ujemną do kontrolki „Wartość netto”, wówczas przekazanie dokumentu do następnego etapu zostanie zablokowane i zostanie wyświetlony komunikat o treści określonej w zapytaniu SQL.

Komunikat wyświetlany po wprowadzeniu wartości ujemnej do kontrolki „Wartość netto”

Przyklad

Administrator chce, aby nie było możliwe przekazanie do kolejnego etapu dokumentu, dla którego w polu „Numer dokumentu” wprowadzono numer dokumentu identyczny z numerem dokumentu, który już został zapisany.

W tym celu w definicji kontrolki typu Komunikat w polu „Kontrolki powiązane”  operator dodaje do obserwacji kontrolkę „Numer dokumentu” (identyfikator: „Numer_dokumentu”), a po wyborze „SQLOD” i kliknięciu w link „Ustaw” wprowadza następujące zapytanie SQL:

  BEGIN TRY
 if exists (
    SELECT * from do.RO_ControlsValue c
    join do.RO_Documents d on c.DWD_ID=d.DWD_ID
    join do.DF_HeadDokumentFlow h on h.DFH_Id=d.DFH_Id and DFH_Name='Faktury'--nazwa typu obiegu
    join do.DF_ConfCFCardDokFlow s on s.DKO_ID=c.DKO_ID 
    and s.DKO_Name = 'Numer_dokumentu'--identyfikator kontrolki obserwowanej
    where c.Value= @Numer_dokumentu@  and d.DWD_ID <>  @^DocumentId@ 
    )
 SELECT 'Nr obcy już istnieje', 1
 END TRY
 BEGIN CATCH
  DECLARE @ErrorMessage varchar(max) = 'W zapytaniu wystąpił błąd : ' + ERROR_MESSAGE();
    THROW 50001,  @ErrorMessage ,1;   
 END CATCH

Definicja kontrolki typu Komunikat

Poniższy rysunek prezentuje przykład działania komunikatu i blokady przekazania dokumentu do kolejnego etapu.

Komunikat z treścią określoną w zapytaniu inicjującym, wyświetlony podczas pracy z aplikacją

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!

+ Mam problem z tym tematem Otwórz w portalu bazy wiedzy »