Za pomocą ikonki „Dodaj” dostępnej w ramach kontrolki typu załącznik można dodać do dokumentu pliki o dowolnym formacie. Po kliknięciu ikonki „Dodaj” możliwy jest wybór źródła pliku.
Po wybraniu opcji „Z dysku” wyświetlane jest okno „Otwieranie” pozwalające na wybranie pliku z dysku. Plik zostanie załączony do dokumentu, a jego podgląd możliwy będzie w oknie „Podgląd załączników”.
Załącznik – skan dokumentu
Za pomocą ikonki „Dodaj” można dodać do dokumentu skan dokumentu bezpośrednio ze skanera. Warunkiem koniecznym jest podłączenie zsynchronizowanego urządzenia skanującego. Po wybraniu opcji „Skan” wyświetla się okno „Skanowanie”.
Należy wskazać urządzenie poprzez wybranie linku „Zmień”. Ustawione urządzenie skanujące zostaje zapamiętane.
Zaznaczenie kontrolki „ADF” umożliwia współprace ze skanerami obsługującymi automatyczny podajnik dokumentów. Kontrolka „Duplex” umożliwia prace w trybie „duplex”, czyli skanowania dwustronnego.
Na formatce „Skanowanie” możliwe jest nadanie własnej nazwy dodawanego załącznika i określenie jego typu. Operator może wybrać typ: .bmp, .tif, .jpg, .pdf, .png, .gif. Aplikacja podpowiada domyślną nazwę pliku i jego format. Dokument w formie skanu w wybranym typie pliku zostanie załączony do dokumentu, a jego podgląd możliwy będzie w oknie „Podgląd załącznika”. Aplikacja zapamiętuje i prezentuje rozszerzenie z ostatnio zeskanowanego dokumentu.
Uwaga
Sterownik, który jest udostępniany razem z pakietem instalacyjnym aplikacji Comarch DMS, może współpracować z następującymi modelami skanerów EPSON:
DS-40
DS-70
DS-80W
DS-310, DS-320, DS-360W
DS-410
DS-510, DS-520, DS-530, DS-535
DS-560, DS-570W, DS-575W
DS-760, DS-770, DS-775, DS-780N
DS-860, DS-870
DS-970
DS-1610, DS-1630, DS-1660W
DS-5500
DS-6500
DS-7500
DS-50000
DS-60000
DS-70000
ES-50
ES-60W
ES-200
ES-300W
ES-400
Podgląd załącznika w karcie obiegu
Funkcjonalność umożliwia jednoczesną pracę na podglądzie załącznika (skanu) i kontrolce Dokument ERP XL. Funkcjonalność dostępna jest tylko w wersji stacjonarnej aplikacji. Działanie podglądu warunkują aktywne szczegóły kontrolki typu Dokument ERP XL (podniesione szczegóły kontrolki Dokument ERP XL).
Na podglądzie działa funkcja skalowania załącznika. Po wyjściu z podglądu załącznika wracamy na kartę obiegu.
W kontrolce typu Załącznik możliwy jest obrót załączonego pliku graficznego. Wprowadzona zmiana jest zapisywana i po ponownym wejściu w załącznik dokument/plik graficzny wyświetlany jest w ostatnio ustawionej orientacji.
W oknie podglądu załącznika znajdują się ikony pozwalające na obrót załącznika w lewo lub w prawo, jednorazowe kliknięcie w ikonę powoduje obrót o 90o
Od wersji 2021.2.0 w aplikacji stacjonarnej umożliwiono również wybór sposobu wyświetlania podglądu załącznika w formacie PDF lub w formie plików graficznych. Podgląd załącznika może być wyświetlany jako:
podgląd wbudowany
podgląd za pomocą DevExpress
podgląd za pomocą domyślnej aplikacji zewnętrznej
Załącznik po kliknięciu automatycznie otwiera się w podglądzie wbudowanym. Aby możliwa była zmiana sposobu podglądu, na górnym panelu podglądu załącznika zostały wprowadzone dwie nowe ikony:
[Przełącz podgląd] – ikona, która pozwala na przełączanie podglądu między podglądem wbudowanym a DevExpress
[Otwórz w aplikacji zewnętrznej] – ikona, która pozwala na przełączanie podglądu do domyślnej aplikacji zewnętrznej
Ustawienie widoku podglądu jest zapamiętane – jeżeli podgląd został zamknięty, a później otwarty ponownie, zostanie wyświetlony w ostatnio używanym typie widoku. Podobnie, kolejny załącznik w innym dokumencie także domyślnie wyświetli się w ostatnio wybranym trybie. Wyjątkiem jest podgląd w domyślnej aplikacji zewnętrznej – po ponownym otwarciu podglądu załącznika, dla którego przedtem ustawiono taki typ widoku, zostanie on otwarty w podglądzie wewnętrznym.
Zmiana daty utworzenia dokumentu
Funkcjonalność umożliwia modyfikację daty utworzenia dokumentu. Zmiana daty utworzenia dokumentu może wpłynąć na zmianę formatu numeru dokumentu (miesiąc i rok). Podczas inicjowania dokumentu operator z nadanym uprawnieniem „Zmiana daty utworzenia dokumentu” może edytować datę utworzenia. Domyślnie aplikacja prezentuje datę bieżącą dokumentu. Edycja daty możliwa jest tylko przed zapisem dokumentu. Po przyciśnięciu ikony , operator może wskazać w kalendarzu nową datę. Zmiana daty utworzenia nie jest możliwa na kolejnych etapach. Na dokumencie w późniejszym etapie prezentowana jest tylko informacja z datą utworzenia dokumentu.
Operator bez uprawnienia „Zmiana daty utworzenia dokumentu” podczas pracy z dokumentem widzi tylko informacje z datą utworzenia dokumentów.
Zmiana daty utworzenia dokumentu
Wyświetlanie spółki na karcie obiegu, automatyczny wybór spółki
W Comarch DMS w pliku web.config udostępniono nowy klucz:
<add key=”CombinationCompanies” value=” „/>. Klucz odpowiada za możliwość ustawienia różnych spółek dla kontrolek na definicji obiegu.
Gdy <add key=”CombinationCompanies” value=”TRUE„/> na definicji typu obiegu możliwe będzie wskazanie różnych spółek w kontrolkach. Gdy <add key=”CombinationCompanies” value=”FALSE„/> na definicji typu obiegu w kontrolkach można wskazać tą samą spółkę lub ustawić wyrażenie „Dowolna spółka ERP…” przy czym wyrażenie musi odnosić się do tego samego typu systemu ERP.
Domyślnym ustawieniem parametru CombinationCompanies jest wartość FALSE.
W przypadku, gdy w wielofirmowym trybie pracy Comarch DMS wartość parametru
<add key=”CombinationCompanies” value=”FALSE„/> na definicji typu obiegu prezentowany jest dodatkowy parametr ‘Zastosuj spółkę zalogowanego operatora podczas generowania dokumentu’.
Definicja typu obiegu, parametr „Zastosuj spółkę zalogowanego operatora podczas generowania dokumentu”
Zaznaczenie parametru ‘Zastosuj spółkę zalogowanego operatora podczas generowania dokumentu’ spowoduje, że w sytuacji, gdy na definicji określono spółkę jako ‘Dowolna spółka ERP…’, podczas dodawania dokumentu nie będzie wyświetlane pytanie o spółkę, w ramach której będzie dodawany dokument, lecz automatycznie zostanie wskazana spółka, do której zalogowany jest operator dodający dokument.
Gdy parametr ‘Zastosuj spółkę zalogowanego operatora podczas generowania dokumentu’ pozostanie odznaczony, wówczas operator podczas dodawania dokumentu otrzyma komunikat z pytaniem o spółkę, dla której rejestruje dokument.
W przypadku, gdy <add key=”CombinationCompanies” value=”TRUE„/>, na karcie obiegu będzie prezentowana spółka wyłącznie w przypadku, gdy na definicji typu obiegu, we właściwościach kontrolek wskazano tę samą spółkę. W przeciwnym wypadku, nazwa spółki nie będzie prezentowana na dokumencie.
Parametry dynamiczne w kontrolkach
Parametry typu @nazwa@ można zastosować do poniższych typów operacji:
Inicjowanie kontrolki,
Zmiana wartości kontrolki na podstawie wartości innej kontrolki,
Kontrolka własna akcja.
Rodzaje parametrów:
Predefiniowane:
@^UserId@ – ID operatora,
@^DocumentId@ – ID/nr dokumentu,
@^WorkflowId@ – ID typu obiegu,
@^StageId@ – ID etapu,
@^DocumentCompanyId@ – ID spółki (w trybie wielospółkowym)
@Nazwa (identyfikator) kontrolki@ – identyfikator kontrolki. Parametr zwraca wartość kontrolki, za wyjątkiem kontrolek: Dokument elektroniczny, Kontrahent, Towar, Dokument ERP XL, dla których zwraca GidTyp:GidNumer.
Identyfikator obiektu ERP XL (dotyczy kontrolek: Dokument elektroniczny, Kontrahent, Towar, Dokument ERP XL, Dane tabelaryczne):
W edytorze zapytań SQL dla wszystkich kontrolek jest dostępny parametr @^SenderControlName@, który dla każdego zdarzenia przyjmuje nazwę identyfikatora kontrolki, która znajduje się na najniższym poziomie obserwacji w grupie kontrolek, w której nastąpiła zdarzenie.
W edytorze kodu C# parametr ten jest dostępny jako Globals.Common.SenderControlName.
W edytorze zapytań SQL dla wszystkich kontrolek jest dostępny parametr @^InitSenderControlName@, który dla każdego zdarzenia przyjmuje nazwę identyfikatora kontrolki, która zdarzenie wygenerowała. Wyjątkiem jest zdarzenie inicjowania wartości kontrolki podczas otwierania formatki, wtedy wartość tego parametru wynosi NULL.
Możliwa jest obsługa parametrów w mechanizmie inicjowania kontrolki poprzez zapytanie SQL. W zapytaniu SQL inicjującym wartość kontrolki możliwe jest wprowadzenie nazwy identyfikatora kontrolki poprzedzonej i zakończonej znakiem @.
Przyklad
select Wartosc from Dane where id=@DocumentId@
Przed wykonaniem zapytania parametr @DocumentId@ zostanie zamieniony na wartość kontrolki.
Uwaga
Nie jest zalecane użycie parametru “wartość” kontrolki, jeżeli wartość kontrolki użytej, jako parametr została zainicjowana poprzez zapytanie SQL!
Funkcjonalność komunikatów przechwytujących typu trycatch
We wszystkich miejscach, w których istnieje możliwość definiowania zapytań SQL, możliwa jest również obsługa „Try-Catch”. Są to: edytory kontrolek (inicjowanie oraz obserwator kontrolek), oraz wyzwalacze: OnAfterDocumentCreated, OnAfterDocumentSave, OnBeforeDocumentShow, OnDocumentPropagation. W każdym z tych miejsc jest możliwe przechwycenie wyjątku rzuconego przez zapytanie i zaprezentowanie użytkownikowi zdefiniowanego przez nas komunikatu.
Przyklad
Na poniższym rysunku zostało zaprezentowane zapytanie, w którym może zaistnieć przypadek dzielenia przez zero. Sytuację taką można obsłużyć mechanizmem Try-Catch i wyświetlić użytkownikowi zdefiniowany komunikat.
Poniższy zrzut prezentuje efekt działania mechanizmu Try-Catch.
Mechanizm „Try-Catch” w założeniu służy do przechwytywania wyjątków, ale można go również wykorzystać do innych celów. Bardzo przydatną funkcją, jaka można zastosować w przypadku wyzwalaczy korzystających z „Try-Catch”, jest walidacja poprawności wprowadzonych informacji na karcie obiegu. W przypadku stwierdzenia nieprawidłowości rzucenie Throw spowoduje wyświetlenie komunikatu i cofnięcie transakcji. Wszelkie informacje wprowadzone na kartę obiegu zostaną zachowane, a operator nie będzie mógł zapisać dokumentu ewentualnie przekazać dokumentu do kolejnego etapu, jeżeli nie wprowadzi poprawnych danych.
Przyklad
ALTER PROCEDURE [do].[OnDocumentPropagation]
@WorkflowId as int = NULL, — DSH_ID z tabeli DF_ConfDSHead
@StageId as int = NULL,– DDS_ID z tabeli DF_ConfDSDictionary
@DocumentId as int = NULL, — DWD_ID z tabeli DF_Work
@PropagatedById as int = NULL, — DCD_ID z tabeli DF_ConfOSDictionary
@DocumentOwnerId as int = NULL, — DWD_DCDOwnerId z tabeli DF_Work
@IsAutomaticPropagation as bit = NULL
AS
BEGIN
begin try
if exists (
select * from do.RO_ObjectsTypes o
join do.RO_StageActive s on o.DFH_Id = s.DFH_Id
and s.DDS_Name = 'Weryfikacja kosztów’ — nazwa etapu
where o.DFH_Name = 'rozliczenie faktury’ — nazwa procesu (typu obiegu)
and s.DWD_ID = @DocumentId )
Begin
declare @KwotaNETTO decimal (24,2)
select @KwotaNETTO = c.DWC_ValueDecimal from do.RO_ControlsValueExpand c where c.DWD_ID = @DocumentId
and c.DKO_Name = 'Kwota NETTO do rozliczenia ’ — nazwa kontrolki
if @KwotaNETTO < 0
BEGIN
DECLARE @Err varchar(max) = 'Kwota netto jest mniejsza od zera!’;
Wypełnianie wartości kontrolki w oparciu o wartości innej kontrolki
Funkcjonalność umożliwia wypełnienie wartości jednej kontrolki wynikowej (np. Wartość) na podstawie wartości kontrolek powiązanych (np. Ilość i Cena) z wykorzystaniem wyrażenia zdefiniowanego na właściwościach kontrolki wynikowej (np. Ilość*Cena = Wartość).
Przykłady definicji kontrolek wynikowych:
Kontrolka typu Data: aktualna data, data aktualna + 1 dzień,
Kontrolka typu Liczba rzeczywista/całkowita/stałoprzecinkowa: aktualna wartość, suma dwóch wartości, różnica dwóch wartości, iloraz dwóch wartości, iloczyn dwóch wartości,
Kontrolka typu Tekst: aplikacja umożliwia wiązanie następujących typów kontrolek: Data + Data, Data + Liczba, Liczba + Liczba, Liczba + Tekst, Liczba + Data, Tekst + Tekst.
Modyfikacja danych w kontrolkach powiązanych powoduje zmianę wartości w kontrolce wynikowej. Aktualizacja wykonywana jest po każdej zmianie. Kontrolki, które stają się kontrolkami wynikowymi i powiązanymi podlegają tym samy właściwościom, co kontrolki „zwykłe” np. wymagalności, tylko do odczytu, widoczność itd.
Zdefiniowane kontrolki powiązane można usuwać za pomocą ikony kosza, a dodawać za pomocą linku „Dodaj”. Z kontrolek powiązanych operator może wybierać także kontroli typu „Lista”.
Wzór na wyrażenie odnosi się do zapytań SQL wykonywanych na bazie systemu ERP XL lub bazie aplikacji Comarch DMS. Dla kontrolki typu Lista umożliwiono odwołanie się do nazwy wybranego elementu.
Możliwe jest wykorzystywanie parametrów predefiniowanych na formatce Wyrażenie kontrolki: @^Id_Operatora@, @^Id_NrDokumentu@, @^Id_TypObiegu@, @^Id_Etapu@ gdzie :
^Id_Operatora – ID zalogowanego operatora,
^Id_NrDokumentu – ID dokumentu,
^Id_TypObiegu – ID typu obiegu, w ramach którego wystawiony jest dokument,
^Id_Etapu – ID etapu, w którym aktualnie znajduje się dokument.
Na formatce „Wyrażenie kontrolki” można także wykorzystać parametr @nazwa (identyfikator) kontrolki@, który zostanie zamieniony na wartość kontrolki.
Dla kontrolek typu: Dokument elektroniczny, Kontrahent, Towar, Dokument ERP XL, Dane tabelaryczne – parametry zwrcają zwraca:
W aplikacji desktop i web na karcie obiegu dokumentu znajduje się boczny panel, w którym wyświetlana jest lista dokumentów. Dokumenty widoczne na tej liście są w określonym typie obiegu, tym samym co otwarty dokument. W przypadku, gdy na liście zostanie użyty filtr, po wejściu z tej listy w szczegóły dokumentu, podgląd listy dokumentów przejmie użyty filtr.
Karta obiegu z rozwiniętym panelem listy dokumentów
Przyklad
Operator znajduje się na liście dokumentów, przypisano do niego kilkadziesiąt dokumentów:
Po wejściu w szczegóły dowolnego dokumentu w panelu bocznym operator ma dostęp do tej samej listy dokumentów.
Po odfiltrowaniu listy do kilku pozycji i wejściu w szczegóły dokumentu widoczna jest lista z uwzględnieniem tego filtra.
Panel boczny może być zwinięty i wyświetlany na żądanie operatora lub zadokowany w oknie poprzez przypięcie pinezką.
Dokowanie panelu listy dokumentów w oknie szczegółów dokumentu
Karta obiegu w standardowym widoku ze zwiniętym panelem listy dokumentów
W trybie pełnoekranowym karta obiegu prezentowana jest w formie zakładek. Tryb pełnoekranowy można włączyć klikając przycisk . Zakładka ‘Karta obiegu’ zawiera zestaw pól do uzupełnienia, na zakładce ‘Przekazanie’ udostępniono informacje o aktualnym etapie wraz z ikoną przekazania, informacje o uprawnionych do aktualnego i następnego etapu oraz diagram przebytych etapów.
Zakładka Przekazanie na karcie obiegu w trybie pełnoekranowym, ze zwiniętym panelem listy dokumentów
Historia zmian dokumentu
W systemie Comarch DMS dostępna jest funkcjonalność rejestrowania historii zmian jakie zaszły na dokumencie w obiegu. Na definicji typu obiegu na zakładce „Ustawienia obiegu”, w sekcji „Ogólne” widnieje parametr „Historia zmian”. Domyślnie parametr jest odznaczony, aby włączyć rejestrację historii zmian dokumentów danego typu należy zaznaczyć parametr i zapisać typ obiegu dokumentów.
Definicja karty obiegu, zakładka Ustawienia obiegu, parametr Historia zmian
Historia zmian prezentowana jest na predefiniowanym raporcie (R*) Historia zmian dokumentu. Aby użytkownik mógł wyświetlić historię zmian dokumentu należy nadać mu stosowne uprawnienia w kreatorze raportów i dashboardów na zakładce Uprawnienia i określić miejsce wywołania raportu – Szczegóły dokumentu.
Na raporcie Historia zmian dokumentu dostępne są informacje:
– numer dokumentu, dla którego wyświetlana jest historia zmian.
– informacje o dacie i godzinie modyfikacji, osobie wprowadzającej zmiany i etapie, na którym wprowadzono prezentowane zmiany.
Nazwa pola – w kolumnie prezentowane są nazwy pól karty obiegu, w których zmieniono wartość.
Nazwa kol. – w kolumnie prezentowana jest nazwa kolumny z pola typu Dane tabelaryczne, w którym zarejestrowano zmianę wartości.
Nr wiersza – w kolumnie prezentowany jest numer wiersza z pola typu Dane tabelaryczne, w którym zarejestrowano zmianę wartości.
Wartość przed zmianą – zawiera informację o wartości jaka znajdowała się w zmienionym polu przed zmianą.
Wartość po zmianie – zawiera informację o nowej wartości jaka została wprowadzona do danego pola.
Akcja – w kolumnie znajduje się informacja o akcji wykonanej na danym polu. W kolumnie mogą pojawić się wartości:
Dod. – dodanie nowej informacji w polu,
Mod. – zmiana wartości pola na inną,
Usun. – wartość usunięta, tego typu akcja pojawia się w przypadku pola typu Dane tabelaryczne, gdy usunięto wiersz tabeli.