Informacje ogólne i elementy okna

W wersji 2024.3.0 w aplikacji desktop dodano zakładkę [Rezerwacje]. Zakładka jest dostępna dla wszystkich operatorów, choć dostępne na niej opcje zależą od uprawnień operatora – tylko operator o uprawnieniach administratora ma dostęp do zarządzania zasobami, tzn:

  • Dodawania zasobów i grup zasobów
  • Edycji zasobów i grup zasobów
  • Usuwanie zasobów i grup zasobów

 

Każdy operator może natomiast dodawać rezerwacje i usuwać je.

 

Zakładka „Rezerwacje” – widok dla administratora

 

Zakładka „Rezerwacje” – widok dla standardowego użytkownika

 

W ramach zakładki „Rezerwacje” dostępne są następujące elementy:

[Dodaj rezerwację] – przycisk, po kliknięciu w który zostaje otwarte okno dodawania rezerwacji (zob. Dodawanie rezerwacji )

[Usuń rezerwację] – przycisk, po kliknięciu w który rezerwacja zostanie usunięta (zob. Usuwanie rezerwacji)

[Zasoby] – przycisk widoczny i dostępny jedynie dla operatorów o uprawnieniach administratora; po kliknięciu w przycisk zostaje otwarte okno, w ramach którego można zdefiniować grupy zasobów i zasoby (zob. Definiowanie grup zasobów i zasobów)

Kalendarz – dostępny dla każdego operatora, pokazuje bieżący miesiąc kalendarzowy; są na nim widoczne wszystkie rezerwacje dokonane przez danego zalogowanego operatora w dany miesiącu. Istnieje również możliwość przechodzenia pomiędzy miesiącami za pomocą strzałek lub wyboru dnia po kliknięciu w nazwę miesiąca – ikony znajdują się nad kalendarzem.




Backup bazy danych MongoDB

Uwaga
Przed rozpoczęciem aktualizacji bazy MongoDB konieczne jest, aby wykonać backup bazy.

 

Backupy baz danych Mongo DB mogą być tworzone i odtwarzane za pomocą narzędzi mongodump oraz mongorestore, które należą do MongoDB Database Tools.

 

Backup bazy danych MongoDB w systemie Windows

1. Aby pobrać narzędzia, należy wejść na stronę producenta: https://www.mongodb.com/try/download/database-tools, wybrać właściwą platformę w poluPlatformi formatmsi” w polu „Package”, a następnie nacisnąć przyciskDownload”.

 

Widok strony, z której należy pobrać MongoDB Database Tools

 

2. Następnie należy otworzyć pobrany plik. Zostanie wówczas otwarte okno początkowe instalatora MongoDB Database Tools, gdzie należy kliknąć naNext”.

 

Okno początkowe instalatora MongoDB Database Tools

 

3. W następnym kroku należy wyrazić zgodę na umowę licencyjną, zaznaczając checkbox, a następnie wybraćNext”.

 

Okno umowy licencyjnej MongoDB Database Tools

 

4. Następnie otwarte zostaje okno, w którym można wybrać lokalizację, gdzie zostaną zainstalowane narzędzia MongoDB.

Domyślna lokalizacja to C:\Program Files\MongoDB\Tools\100\bin.

Po wyborze lokalizacji użytkownik powinien kliknąćNext”.

 

Wybór lokalizacji, gdzie zostaną zainstalowane MongoDB Database Tools

 

5. W kolejnym oknie należy wybrać przyciskInstall”. Wówczas następuje instalacja MongoDB Database Tools.

 

Okno do rozpoczęcia instalacji MongoDB Database Tools

 

Okno instalacji MongoDB Database Tools

 

Okno końcowe instalacji MongoDB Database Tools

 

6. Następnie należy uruchomić wiersz polecenia, wpisując cmd w wyszukiwarce w menuStart i wybierając opcjęUruchom jako administrator”.

 

Otwieranie wiersza polecenia

 

7. Następnie należy wpisać cd, nacisnąć spację i podać ścieżkę do lokalizacji narzędzi MongoDB – w poniższym przykładzie znajdują się one w lokalizacji C:\Program Files\MongoDB\Tools\100\bin.

 

Wprowadzanie lokalizacji narzędzia mongodump w wierszu polecenia

 

 

8. Następnie należy nacisnąć Enter i wprowadzić następującą frazę:

 

mongodump --uri="mongodb://MongoUser@localhost/Repository?authSource=Repository"

gdzie:

MongoUser – to nazwa użytkownika, dla którego będzie następuje łączenie się aplikacji Comarch DMS Repozytorium z bazą danych (zob. Repozytorium – instalacja dla administratora)

localhostnazwa hosta i port

Repositorynazwa bazy Repozytorium

 

9. Następnie należy nacisnąć Enter.

 

Wprowadzanie connection string do bazy Repozytorium w wierszu polecenia

 

10. W kolejnym kroku konieczne jest wprowadzenie hasła do Repozytorium dla użytkownika MongoUser – w poniższym przykladzie jest to hasło Passwd1234, analogicznie do przykładu przedstawionego w instrukcji instalacji Repozytorium.

 

Uwaga
Hasło nie jest widoczne na ekranie.

 

Wprowadzanie hasła użytkownika do bazy Repozytorium

 

 

11. Po naciśnięciu przycisku Enter następuje tworzenie kopii zapasowej bazy Repozytorium.

 

Tworzenie kopii zapasowej bazy Repozytorium

 

12. Backup bazy Repozytorium jest zapisywany w folderzedumpw lokalizacji, w której znajdują się narzędzia MongoDB – w poniższym przykładzie jest to lokalizacja C:\Program Files\MongoDB\Tools\100\bin\dump.

 

Kopie zapasowe baz danych Repozytorium

 

 

Backup bazy danych MongoDB w systemie Linux, dystrybucja Ubuntu

Instalacja MongoDB Database Tools na Ubuntu powinna zostać przeprowadzona według instrukcji producenta, dostępnej pod następującym adresem: Installing the Database Tools on Linux — MongoDB Database Tools.

Backup bazy danych MongoDB na Ubuntu należy przeprowadzić zgodnie z instrukcją producenta dostępną pod adresem mongodump — MongoDB Database Tools.

 

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




Kontrolka typu Dane tabelaryczne – przykłady definicji kontrolki za pomocą C#

Uwaga
Przed kompilacją skryptów C# na komputerze z IIS należy nadać użytkownikowi IIS_IUSRS prawo zapisu do katalogu .scriptcs_cache

 

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

 

Metoda:AddRow

  • Opis: Metoda umożliwia dodanie pustego wiersza do kontrolki tabelarycznej.
  • Definicja: void Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.AddRow ()

Przyklad

Zainicjowanie kontrolki typu Dane tabelaryczne z dodanym jednym pustym wierszem:

 Globals.MainFrame.Multiline1.AddRow();

 

Zainicjowanie kontrolki wybraną pozycją przedstawiono w poniższych filmach:

Film

Wprowadzanie kodu i kompilacja (dla kontrolki „Tabela” (identyfikator: Multiline1):

 

Dodawanie nowego dokumentu – w kontrolce „Tabela” widoczny jest jeden pusty wiersz zainicjowany za pomocą C#:

 

Metoda:AddRows

    • Opis: Metoda umożliwia dodanie wielu pustych wierszy do kontrolki typu Dane tabelaryczne.
    • Definicja: bool Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.AddRows (int)
    • Zwracane wyniki:
      • true -wiersze zostały dodane
      • false – błąd

Przyklad

Zainicjowanie kontrolki typu Dane tabelaryczne z 10 dodanymi pustymi wierszami:

 Globals.MainFrame.Multiline1.AddRows(10);

 

Zainicjowanie kontrolki wybraną pozycją przedstawiono w poniższych filmach:

Film

Wprowadzanie kodu i kompilacja (dla kontrolki „Tabela” (identyfikator: Multiline1):

 

Dodawanie nowego dokumentu – w kontrolce „Tabela” widoczne jest 10 pustych wierszy zainicjowanych za pomocą C#:

 

Metoda:Clear

    • Opis: Metoda umożliwia usunięcie wszystkich wierszy z kontrolki typu Dane tabelaryczne.
    • Definicja: void Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Clear()

Przyklad

Zainicjowanie kontrolki typu Dane tabelaryczne:

 Globals.MainFrame.Multiline1.Clear();

 

Zainicjowanie kontrolki wybraną pozycją przedstawiono w poniższych filmach:

Film

Wprowadzanie kodu i kompilacja (dla kontrolki „Tabela” (identyfikator: Multiline1):

 

Dodawanie nowego dokumentu – w kontrolce „Tabela” nie jest widoczne 10 pustych wierszy:

 

Właściwość:Column

    • Opis: W przypadku edycji kontrolki tabelarycznej właściwość „Column” zwraca numer ostatnio modyfikowanej kolumny. W przypadku dodania nowego wiersza zwraca wartość -1, usunięcia wiersza zwraca wartość -2.
    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Column
    • Typ: int
    • Dostęp: Odczyt
Przyklad

Konfiguracja kontrolki typu Liczba całkowita, w której zostanie wyświetlona wartość dotycząca ostatniej modyfikacji kolumny (-1 – dodanie nowego wiersza, -2 – usunięcie wiersza):

 Globals.MainFrame.Int1.Value = Globals.MainFrame.Multiline1.Column;

 

Zainicjowanie kontrolki wybraną pozycją przedstawiono w poniższych filmach:

Film

Wprowadzanie kodu i kompilacja (dla kontrolki „Tabela” (identyfikator: Multiline1) i kontrolki „Numer ostatnio modyfikowanej kolumny” (identyfikator: Int1):

 

Dodawanie nowego dokumentu – w kontrolce „Numer ostatnio modyfikowanej kolumny” widoczne jest -1, gdy ostatnio dodano nowy wiersz w kontrolce „Tabela” lub -2, gdy ostatnio usunięto wiersz:

Właściwość:Row

    • Opis: Właściwość zwraca numer ostatnio edytowanego wiersza.
    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Row
    • Typ: int
    • Dostęp: Odczyt
Przyklad

Konfiguracja kontrolki typu Liczba całkowita, w której zostanie wyświetlony numer ostatnio modyfikowanego wiersza:

 Globals.MainFrame.Int2.Value = Globals.MainFrame.Multiline1.Row;

 

 

Film

Wprowadzanie kodu i kompilacja (dla kontrolki „Tabela” (identyfikator: Multiline1) i kontrolki „Numer ostatnio edytowanego wiersza” (identyfikator: Int2):

 

Dodawanie nowego dokumentu – w kontrolce „Numer ostatnio edytowanego wiersza” widoczny jest numer wiersza, w którym ostatnio dokonano zmiany:

Metoda:RemoveRow

    • Opis: Metoda umożliwia usunięcie wskazanego wiersza kontrolki tabelarycznej.
    • Definicja: bool Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.RemoveRow(int)
    • Zwracane wyniki:
      • true – wiersze zostału usunięte
      • false – błąd

 

Przyklad

Konfiguracja kontrolki typu Dane tabelaryczne:

 Globals.MainFrame.Multiline1.RemoveRow(3);

 

Film

Wprowadzanie kodu i kompilacja (na zakładce „Schemat obiegu” ustawiono inicjalizację kontrolki na etapie 2):

 

Przekazywanie dokumentu do kolejnego etapu – w kontrolce „Tabela” zostaje usunięty wiersz 3 (nalezy pamiętać, że numery wierszy liczone są od 0 – a zatem wiersz 3 to wiersz oznaczony  w tabeli numerem 4):

Właściwość:RowCount

    • Opis: Właściwość zwraca ilość wierszy znajdujących się w kontrolce tabelarycznej.
    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.RowCount
    • Typ: int
    • Dostęp: Odczyt

 

Przyklad

Konfiguracja kontrolki typu Liczba całkowita „Liczba wierszy” (identyfikator: Int1), gdy kontrolka typu Dane tabelaryczne „Tabela” ma identyfikator Multiline1:

Globals.MainFrame.Int1.Value = Globals.MainFrame.Multiline1.RowCount;

 

Film

Wprowadzanie kodu i kompilacja (w ramach konfiguracji kontrolki typu Liczba całkowita „Liczba wierszy” (identyfikator: Int1) i gdy kontrolka typu Dane tabelaryczne „Tabela” ma identyfikator Multiline1):

 

Dodawanie nowego dokumentu – w kontrolce typu Liczba całkowita „Liczba wierszy” widoczna jest aktualna liczba wierszy znajdujących się w kontrolce typu Dane tabelaryczne „Tabela”:

 

Dostęp do wartości komórek kontrolki „Dane tabelaryczne”

Dostęp do wartości komórki w kontrolce „Dane tabelaryczne” realizowany jest w oparciu o poniższą definicję:

Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Items[index].<Identyfikator danej kolumny>.<właściwość>

Gdzie „index” to numer wiersza liczony od 0 (0 – pierwszy wiersz, 1 – drugi wiersz, …).

Definicje wartości komórek w zależności od typu kolumny

Aby sprawdzić definicje wartości dla danego typu kolumny, kliknij w jej nazwę poniżej  i sprawdź informacje wyświetlane po prawej stronie:

 

Data i godzinaDokument elektronicznyDokumenty w obieguKontrahentLiczba całkowitaLiczba rzeczywistaLiczba stałoprzecinkowaListaTekstTowarWartość logiczna

    • Opis: Ustawienie/odczytanie daty.
    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Items[index].<identyfikator kolumny typu Data i godzina>.Value
    • Typ: DateTime?
    • Dostęp: Zapis/Odczyt

Przykład:

 Globals.MainFrame.Multiline1.Items[0].DateTime1.Value = DateTime.Now;

 

1.

    • Opis: Ustawienie/odczytanie numerycznego identyfikatora dokumentu elektronicznego
    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Items[index].<identyfikator kolumny typu Dokument elektroniczny>.Id
    • Typ: int?
    • Dostęp: Zapis/Odczyt

Przykład:

 Globals.MainFrame.Multiline1.Items[0].ERPDocument1.Id = 5024;

 

2.

    • Opis: Ustawienie/odczytanie numerycznego identyfikatora typu dokumentu elektronicznego
    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Items[index].<identyfikator kolumny typu Dokument elektroniczny>.IdType
    • Typ: int?
    • Dostęp: Zapis/Odczyt

Przykład:

 Globals.MainFrame.Multiline1.Items[0].ERPDocument1.IdType = 1521;

3.

    • Opis: Ustawienie/odczytanie tekstowego identyfikatora dokumentu elektronicznego
    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Items[index].<identyfikator kolumny typu Dokument elektroniczny>.IdText
    • Typ: string
    • Dostęp: Zapis/Odczyt

Przykład:

 Globals.MainFrame.Multiline1.Items[0].ERPDocument1.IdText = "E97B3CE0-F719-44CD-A473-54A59ABF20D5";

 

4.

    • Opis: Ustawienie/odczytanie tekstowego identyfikatora typu dokumentu elektronicznego
    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Items[index].<identyfikator kolumny typu Dokument elektroniczny>.IdTextType
    • Typ: string
    • Dostęp: Zapis/Odczyt

Przykład:

 Globals.MainFrame.Multiline1.Items[0].ERPDocument1.IdTextType = "3EEC4A14-8263-4196-B721-CE7A61C12F45";

 

5.

    • Opis: Ustawienie/odczytanie numeru dokumentu elektronicznego
    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Items[index].<identyfikator kolumny typu Dokument elektroniczny>.Number
    • Typ: string
    • Dostęp: Odczyt

Przykład:

 Globals.MainFrame.Multiline1.Items[0].ERPDocument1.Number;

1.

    • Opis: Ustawienie/odczytanie numerycznego identyfikatora dokumentu w obiegu
    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Items[index].<identyfikator kolumny typu Dokumenty w obiegu>.Id
    • Typ: int?
    • Dostęp: Zapis/Odczyt

Przykład:

 Globals.MainFrame.Multiline1.Items[0].WorkflowDocuments1.Id = 2;

 

2.

    • Opis: Odczytanie numeru dokumentu w obiegu
    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Items[index].<identyfikator kolumny typu Dokumenty w obiegu>.Number
    • Typ: String
    • Dostęp: Odczyt

Przykład:

 Globals.MainFrame.Multiline1.Items[0].WorkflowDocuments1.Number;

1.

    • Opis: Ustawienie/odczytanie numerycznego identyfikatora dokumentu w obiegu
    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Items[index].<identyfikator kolumny typu Kontrahent>.Id
    • Typ: int?
    • Dostęp: Odczyt/Zapis

Przykład:

 Globals.MainFrame.Multiline1.Items[0].ERPContractor1.Id = 1;

 

2.

    • Opis: Ustawienie/odczytanie tekstowego identyfikatora kontrahenta
    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Items[index].<identyfikator kolumny typu Kontrahent>.IdText
    • Typ: string
    • Dostęp: Odczyt/Zapis

Przykład:

 Globals.MainFrame.Multiline1.Items[0].ERPContractor1.IdText;

 

3.

    • Opis: Odczytanie skrótu kontrahenta
    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Items[index].<identyfikator kolumny typu Kontrahent>.Shortcut
    • Typ: string
    • Dostęp: Odczyt

Przykład:

 Globals.MainFrame.Multiline1.Items[0].ERPContractor1.Shortcut;

    • Opis: Ustawienie/odczytanie wartości komórki
    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Items[index].<identyfikator kolumny typu Liczba całkowita>.Value
    • Typ: int?
    • Dostęp: Odczyt/Zapis

Przykład:

 Globals.MainFrame.Multiline1.Items[0].Int2.Value = 16;

    • Opis: Ustawienie/odczytanie wartości komórki
    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Items[index].<identyfikator kolumny typu Liczba rzeczywista>.Value
    • Typ: float?
    • Dostęp: Odczyt/Zapis

Przykład:

 Globals.MainFrame.Multiline1.Items[0].Real1.Value = (float)124.57;

    • Opis: Ustawienie/odczytanie wartości komórki

Uwaga
Typ stałoprzecinkowy zdefiniowany w kompilatorze DMS posiada 6 miejsc po przecinku.

    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Items[index].<identyfikator kolumny typu Liczba stałoprzecinkowa>.Value
    • Typ: decimal?
    • Dostęp: Odczyt/Zapis

Przykład:

Globals.MainFrame.Multiline1.Items[0].Decimal1.Value = (decimal)25.36;

1.

    • Opis: Ustawienie/odczytanie numerycznego identyfikatora pozycji listy
    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Items[index].<identyfikator kolumny typu Lista>.Value
    • Typ: int?
    • Dostęp: Odczyt/Zapis

Przykład:

 Globals.MainFrame.Multiline1.Items[0].List1.Value = 3;

 

2.

    • Opis: Ustawienie/odczytanie tekstowego identyfikatora pozycji listy
    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Items[index].<identyfikator kolumny typu Lista>.ValueText
    • Typ: string
    • Dostęp: Odczyt/Zapis

Przykład:

Globals.MainFrame.Multiline1.Items[0].List1.ValueText = "prz";

 

3.

    • Opis: Odczytanie pozycji listy
    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Items[index].<identyfikator kolumny typu Lista>.Text
    • Typ: string
    • Dostęp: Odczyt

Przykład:

 Globals.MainFrame.Multiline1.Items[0].List1.Text;

    • Opis: Ustawienie/odczytanie wartości tekstowej komórki
    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Items[index].<identyfikator kolumny typu Tekst>.Text
    • Typ: string
    • Dostęp: Odczyt/Zapis

Przykład:

Globals.MainFrame.Multiline1.Items[0].String3.Text = "Faktura zakupu";

1.

    • Opis: Ustawienie/odczytanie numerycznego identyfikatora towaru
    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Items[index].<identyfikator kolumny typu Towar>.Id
    • Typ: int?
    • Dostęp: Odczyt/Zapis

Przykład:

 Globals.MainFrame.Multiline1.Items[0].ERPArticle1.Id = 1;

 

2.

    • Opis: Ustawienie/odczytanie numerycznego identyfikatora towaru
    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Items[index].<identyfikator kolumny typu Towar>.IdText
    • Typ: string
    • Dostęp: Odczyt/Zapis

Przykład:

Globals.MainFrame.Multiline1.Items[0].ERPArticle1.IdText;

 

3.

    • Opis: Ustawienie/odczytanie numerycznego identyfikatora towaru
    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Items[index].<identyfikator kolumny typu Towar>.Shortcut
    • Typ: string
    • Dostęp: Odczyt

Przykład:

 Globals.MainFrame.Multiline1.Items[0].ERPArticle1.Shortcut;

    • Opis: Ustawienie/odczytanie wartości komórki
    • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Dane tabelaryczne>.Items[index].<identyfikator kolumny typu Wartość logiczna>.Value
    • Typ: bool
    • Dostęp: Odczyt/Zapis

Przykład:

 Globals.MainFrame.Multiline1.Items[0].Bool1.Value = true;

 

Przyklad
Inicjowanie kontrolki typu Dane tabelaryczne  za pomocą kodu C# – przykładowe uzupełnienie pierwszego wiersza (pierwszy wiersz = index 0)

Globals.MainFrame.Multiline1.AddRows(3);
Globals.MainFrame.Multiline1.Items[0].DateTime1.Value = DateTime.Now;
Globals.MainFrame.Multiline1.Items[0].ERPContractor1.Id = 1;
Globals.MainFrame.Multiline1.Items[0].String1.Text = "FZ-2/2024";
Globals.MainFrame.Multiline1.Items[0].ERPDocument1.Id = 5024;
Globals.MainFrame.Multiline1.Items[0].Int1.Value = Globals.MainFrame.Multiline1.Items[0].ERPDocument1.IdType = 1521;
Globals.MainFrame.Multiline1.Items[0].WorkflowDocuments1.Id = 2;
Globals.MainFrame.Multiline1.Items[0].String2.Text = Globals.MainFrame.Multiline1.Items[0].WorkflowDocuments1.Number;
Globals.MainFrame.Multiline1.Items[0].Int2.Value = 16;
Globals.MainFrame.Multiline1.Items[0].Real1.Value = (float)124.57;
Globals.MainFrame.Multiline1.Items[0].Decimal1.Value = (decimal)25.36;
Globals.MainFrame.Multiline1.Items[0].List1.ValueText = "prz";
Globals.MainFrame.Multiline1.Items[0].String3.Text = "Faktura zakupu";
Globals.MainFrame.Multiline1.Items[0].ERPArticle1.Id = 1;
Globals.MainFrame.Multiline1.Items[0].Bool1.Value = true;

 

Film

Wprowadzanie kodu i kompilacja (dla kontrolki „Tabela” (identyfikator: Multiline1):

 

Pierwszy wiersz zainicjowany w kontrolce typu Dane tabelaryczne „Tabela” na dokumencie Comarch DMS za pomocą kodu C#

 

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!




W pliku gen.optima.log jest informacja „Document concerns VAT-7 tax return that has already been approved. Administrator blocked the possibility of making changes to such documents.”

Możliwe rozwiązania:

Komunikat w logu związany jest z deklaracją VAT/JPK.

Jeśli dokument jest dodawany do okresu (liczy się data wystawienia/zakupu), za który została już wysłana deklaracja vat/jpk – wówczas pojawia się komunikat jak powyżej – „Document concerns VAT-7 tax return that has already been approved. Administrator blocked the possibility of making changes to such documents.”.

Kiedy ustawi się datę na okres, z którego nie była wysyłana deklaracja vat/jpk, wówczas dokument się generuje.

 

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!




API

W ramach zakładki API definiowana jest lista systemów, które współpracują z Comarch DMS przez API.

Jedynie nazwy współpracujących systemów są definiowane na tej zakładce i zapisywane w odrębnej tabeli razem z wygenerowanymi w DMS unikalnymi identyfikatorami zdefiniowanych systemów.

 

Wskazówka
W ramach tej zakładki można ustawić nazwę systemu  Comarch HRM, ktory ma współpracować z Comarch DMS przez API.

 

W wersji 2022.0.3 wprowadzone zostały zmiany w ramach sekcji „API” – na liście systemów współpracujących z Comarch DMS przez API znajduje się predefiniowana wartość „Comarch HRM”.

Podczas aktualizacji do wersji 2022.0.3 do tabeli do.DF_Applications zostaje dodany wpis „Comarch HRM” w kolumnie APP_Name. Taka predefiniowana wartość może zostać usunięta z poziomu aplikacji DMS desktop.

 

Predefiniowana wartość „Comarch HRM” na zakładce „API”

Jeżeli nastąpiła aktualizacja bazy z wersji 2022.0.1 albo 2022.0.2  i na liście systemów współpracujących z Comarch DMS przez API były już dodane pozycje, wówczas predefiniowana wartość „ Comarch HRM” zostaje dodana jako kolejna na liście.
Jeżeli pozycja „Comarch HRM” została już dodana, wtedy nie zostaje dodana ponownie po aktualizacji do wersji 2022.0.3.

 

Aby dodać nazwę tworzonej aplikacji należy:

1. Wybrać przycisk [Dodaj]

2. W nowootwartym oknie wpisać nazwę tworzonej aplikacji i zatwierdzić przyciskiem [Dodaj].

Przycisk jest nieaktywny do czasu wpisania co najmniej dwóch znaków.

 

Dodawanie nazwy systemu, dla którego będzie konfigurowana współpraca przez API

 

Po wyborze przycisku [Dodaj] nazwa, którą wpisano, zostaje wyświetlona na liście systemów. Zarówno predefiniowana, jak i wprowadzone nazwy systemów będą również widoczne na liście dostępnej w polu „System współpracujący” w zakładce „API” na karcie pracownika (zob. Zakładka API na karcie pracownika – integracja Comarch DMS z Comarch HRM).

 

Jeżeli natomiast użytkownik wybierze przycisk [Anuluj], wówczas nazwa systemu nie zostaje dodana do listy, a okno dodawania nazwy zostanie zamknięte.

 

Lista nazw systemów, które współpracują z Comarch DMS przez API

 

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!




Instalacja Comarch BPM we współpracy z Comarch ERP Enterprise

Instalacja Comarch DMS

W pierwszym kroku należy zainstalować Comarch BPM (dawniej DMS) zgodnie z opisem instalacji dostępnym w artykułach Instalacja aplikacji serwerowej (dawnej web) w trybie ręcznym, Ręczna konfiguracja aplikacji WEB (nowej aplikacji web) oraz Instalacja aplikacji stacjonarnej w trybie ręcznym. Jeżeli użytkownik ma już zainstalowany Comarch DMS, wówczas nie ma potrzeby wykonywania nowej instalacji.

 

Uwaga
Zalecana jest instalacja współpracy z CEE dla Comarch BPM (dawniej DMS) działającego w trybie pracy wielospółkowym.

 

Import certyfikatu

Po zainstalowaniu Comarch BPM (dawniej DMS) należy zainstalować certyfikat administracyjny w kontekście całej maszyny.

Użytkownik CEE ma zainstalowany certyfikat w kontekście lokalnego użytkownika – za pomocą tego certyfikatu łączy się z CEE.

Uwaga
Zalecane jest, aby IIS, baza danych i certyfikat znajdowały się na osobnej maszynie, użytkownik zaś pracował na jeszcze innej maszynie.

Certyfikat ten jest widoczny w wyskakującym okienku przy próbie przejścia na stronę CEE w przeglądarce.

 

Wybór certyfikatu dla CEE przy próbie przejścia na stronę CEE

 

Po poprawnym wpisaniu adresu URL i wyborze właściwego certyfikatu powinna zostać wyświetlona strona z listą dostępnych baz danych.

 

Przykładowa strona CEE po wpisaniu właściwego URL i wyborze odpowiedniego certyfikatu

 

Instalowanie certyfikatu administracyjnego w kontekście całej maszyny

Należy w ramach wyszukiwania obok menu „Start” wpisać certlm.msc i uruchomić jako administrator.

 

Uruchamianie certlm.msc

 

W otwartym oknie należy kliknąć na strzałkę przy napisie „Osobisty”, a następnie na „Certyfikaty” – obok zostanie wyświetlona lista certyfikatów osobistych, w tym certyfikat do CEE.

 

Lista certyfikatów osobistych

 

Następnie należy kliknąć prawym przyciskiem myszki na wolnym polu pod listą certyfikatów, a na wyświetlonej liście wybrać „Wszystkie zadania”, a później „Importuj”.

 

Wybór opcji „Importuj”

 

Wtedy zostanie wyświetlone okno kreatora importu certyfikatów, gdzie należy wybrać przycisk „Dalej”.

 

Okno kreatora importu certyfikatów

 

Następnie należy nacisnąć „Przeglądaj”, wybrać plik z certyfikatem z odpowiedniej lokalizacji (jeżeli w folderze nie są widoczne pliki, należy zmienić typ pliku w dolnej części okna na „Wszystkie pliki”) i kliknąć „Otwórz”.

 

Wybór pliku z certyfikatem

 

Następnie należy wybrać „Dalej”.

 

Okno kreatora po wyborze pliku do zaimportowania

 

W kolejnym kroku należy wprowadzić hasło do klucza prywatnego i kliknąć „Dalej”.

 

Wprowadzanie hasła dla klucza prywatnego

 

W dalszej kolejności należy kliknąć „Dalej”.

 

Okno magazynu certyfikatów

 

Następnie należy wybrać przycisk „Zakończ”. Wyświetlony zostanie wówczas komunikat informujący o pomyślnym zakończeniu importu.

 

Okno końcowe kreatora

 

Komunikat informujący o pomyślnym zakończeniu importu

 

Po kliknięciu „OK” w oknie certlm można zauważyć, że dodane zostały nowe certyfikaty.

 

Okno certlm po imporcie certyfikatów

 

Łączenie certyfikatu z użytkownikiem puli aplikacji

Następnie należy połączyć certyfikat z użytkownikiem puli aplikacji. W tym celu konieczne jest pobranie narzędzia winhttpcertcfg.exe za pomocą linku https://www.microsoft.com/en-us/download/details.aspx?id=19801 i otworzenie pobranego pliku. Później w otwartym oknie należy kliknąć „Next”.

 

Okno początkowe instalatora narzędzia winhttpcertcfg.exe

 

W kolejnym oknie należy zaznaczyć zgodę na umowę licencyjną i kliknąć „Next”.

 

Zgoda na umowę licencyjną

 

Następnie należy wybrać „Install now”.

 

Wybór opcji „Install now”

 

W kolejnym kroku odbywa się instalacja narzędzia. Po jej zakończeniu należy kliknąć „Finish” w końcowym oknie instalatora.

 

Końcowe okno instalatora narzędzia winhttpcertcfg.exe

 

Następnie należy otworzyć wyszukiwanie przy menu „Start”, wpisać cmd i uruchomić konsolę jako administrator.

 

Uruchamianie wiersza polecenia

 

Później konieczne jest skopiowanie i wklejenie do wiersza poleceń poniższego polecenia:

cd C:\Program Files (x86)\Windows Resource Kits\Tools

i naciśnięcie “Enter”

 

Wprowadzanie polecenia cd C:\Program Files (x86)\Windows Resource Kits\Tools

 

Następnie należy wprowadzić polecenie:

winhttpcertcfg.exe -g -c LOCAL_MACHINE\MY -s "nazwa certyfikatu" -a "nazwa puli aplikacji, pod którą działa DMS"

W poniższym przykładzie polecenie to brzmi:

winhttpcertcfg.exe -g -c LOCAL_MACHINE\MY -s "DMSTEST" -a "DefaultAppPool"

Później należy nacisnąć “Enter”.

 

Wprowadzanie polecenia winhttpcertcfg.exe -g -c LOCAL_MACHINE\MY -s „DMSTEST” -a „DefaultAppPool” do wiersza poleceń

 

Wskazówka

Pulę aplikacji można odczytać w Menedżerze internetowych usług informacyjnych (IIS), po kliknięciu prawym przyciskiem myszki na daną aplikację DMS, a następnie wyborze „Zarządzaj aplikacją” i „Ustawienia zaawansowane”. Wówczas możliwe jest odczytanie nazwy puli aplikacji w wyświetlonym oknie.

 

Sprawdzanie puli aplikacji dla aplikacji DMS

 

Nazwa puli aplikacji

 

Konfiguracja współpracy z CEE w aplikacji DMS

 

Po wykonaniu powyższych kroków należy otworzyć BPM (dawniej DMS) i zalogować się.

 

Logowanie do BPM (dawniej DMS)

 

Następnie należy przejść do zakładki [Ustawienia] i w ramach sekcji „Połączenia z ERP” kliknąć [Dodaj], aby dodać nową spółkę. Następnie należy:

  • w polu „System ERP” – wybrać „Enterprise”,
  • w polu „Adres URL” – wpisać adres CEE
  • w polu „Serwis REST” – wkleić services/rest/com.sem.ext.app.dms.rest.DataExchangeService
  • w polu „Nazwa certyfikatu” – wpisać nazwę certyfikatu według schematu „CN=<nazwa certyfikatu>, E=<email admina>, OU=<nazwa działu firmy>, O= <nazwa firmy>, C=<skrót kraju firmy>” (nazwa certyfikatu jest widoczna podczas potwierdzania certyfikatu przy logowaniu do Comarch ERP Enterprise)
  • w polu „Nazwa bazy” – wpisać nazwę bazy CEE – nazwy baz są widoczne po wejściu na stronę CEE
  • w polu „Nazwa spółki” – wybrać spółkę z listy dostępnych spółek ( jeśli poprzednie kroki wykonano poprawnie, powinna się rozwinąć po kliknięciu w pole)
  • w polu „Spółka (skrót)” – wpisać dowolny skrót nazwy spółki

a później kliknąć w ikonkę [Zapisz].

 

Uwaga
Pojawienie się listy spółek w polu „Nazwa spółki” może zająć kilka sekund – wynika to z czasu potrzebnego na próbę pobrania spółek.

 

Widok ze wzorem danych uzupełnionych dla współpracy z CEE

 

W celu sprawdzenia poprawności konfiguracji współpracy BPM (dawniej DMS) z CEE po kliknięciu zakładki [Struktura organizacyjna] w aplikacji desktopowej BPM (dawniej DMS) należy wybrać spółkę, która współpracuje z CEE, a następnie kliknąć na sekcję „Pracownicy” i nacisnąć przycisk , aby zaimportować użytkownika z CEE. W wyszukiwarce należy wpisać początek nazwy użytkownika z CEE, a następnie wybrać wyświetloną nazwę. Taki użytkownik będzie mógł odtąd pracować w BPM (dawniej DMS) we współpracy z CEE.

 

Wybór spółki współpracującej z CEE

 

Import użytkownika z CEE do BPM (dawniej DMS)




Kontrolka typu Własna akcja – przykłady definicji kontrolki za pomocą C#

Uwaga
Przed kompilacją skryptów C# na komputerze z IIS należy nadać użytkownikowi IIS_IUSRS prawo zapisu do katalogu .scriptcs_cache

 

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

Skrypty C# kompilowane przez kontrolkę „Własna akcja” mogą być uruchomione w ramach procesu IIS lub w ramach niezależnego procesu.

Uruchomienie skompilowanego skryptu w ramach niezależnego procesu zalecane jest w przypadku kodów, które nie mogą działać na wielowątkowym procesie jakim jest IIS.

Wskazanie miejsca uruchomienia skryptu określa się za pomocą właściwości „Miejsce wykonania skryptu” znajdującego się na formatce edytora języka C# kontrolki „Własna akcja”.

 

Właściwość: Text

  • Opis: Po kliknięciu na przycisk uruchamiany jest kod C#. Własna akcja obsługująca skrypt C# umożliwia zapamiętanie wyniku typu tekst.
  • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Własna akcja>_CSSCRIPT.Text
  • Typ: string
  • Dostęp: Odczyt/Zapis

 

Przyklad

Odczytanie wyniku wykonania operacji i ustawienie właściwości Text:

string obj = Obiekt.Metoda();

 if (obj == "Ok") 

Globals.MainFrame.CustomAction1_CSSCRIPT.Text = "Operacja wykonana"; 

else 

Globals.MainFrame.CustomAction1_CSSCRIPT.Text = "Błąd";

 

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!




Kontrolka typu Towar – przykłady definicji kontrolki za pomocą C#

Uwaga
Przed kompilacją skryptów C# na komputerze z IIS należy nadać użytkownikowi IIS_IUSRS prawo zapisu do katalogu .scriptcs_cache

 

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

 

Kontrolka „Towar” posiada identyfikator numeryczny i tekstowy:

  • Jeżeli kontrolka współpracuje z systemem ERP: XL, Altum, Optima, domyślnie ustawiany jest identyfikator numeryczny (Id).
  • Jeżeli kontrolka współpracuje z systemem CEE używane są identyfikatory tekstowe (IdText).

 

Właściwość: Id

  • Opis: Właściwość umożliwia odczytanie i ustawienie numerycznego identyfikatora towaru dla systemów ERP: XL, Altum, Optima.
  • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Towar>.Id
  • Typ: int?
  • Dostęp: Odczyt/Zapis

Przyklad

Zainicjowanie kontrolki typu Towar towarem o identyfikatorze 1 (w przypadku współpracy z Comarch ERP XL):

Globals.MainFrame. ERPArticle1.Id = 1;

 

Zainicjowanie kontrolki wybranymi pozycjami przedstawiono w poniższych filmach:

Film

Wprowadzanie kodu i kompilacja:

 

Dodawanie nowego dokumentu – w kontrolce „Towar” widoczny jest towar zainicjowany za pomocą C#:

 

Właściwość: IdText

  • Opis: Właściwość umożliwia odczytanie i ustawienie tekstowego identyfikatora towaru dla systemu CEE.
  • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Towar>.IdText
  • Typ: String
  • Dostęp: Odczyt/Zapis

Przyklad

Zainicjowanie kontrolki typu Towar towarem o identyfikatorze  (w przypadku współpracy z Comarch CEE):

Globals.MainFrame.ERPContractor1.IdText = "C14ECF1A-3076-45BC-9A86-
12A116A40161";

 

Właściwość: Shortcut

  • Opis: Właściwość umożliwia odczytanie nazwy towaru ustawionego na kontrolce.
  • Definicja: Globals.MainFrame.<identyfikator kontrolki typu Towar>.Shortcut
  • Typ: String
  • Dostęp: Odczyt

 

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!




W pliku gen.optima.log znajduje się informacja: „Logowanie do BPM nie powiodło się: result=2”

Możliwe rozwiązania:

W pliku konfiguracyjnym OptimaVatRegisterGenerator.exe.config należy zweryfikować czy klucz Server Uri został uzupełniony poprawnie – o adres do wersji serwerowej (dawna web) Comarch BPM (dawniej DMS).

 

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!




Podczas generowania dokumentu do Comarch ERP Optima przez plik wykonywalny lub przez IIS, logi generatora się nie tworzą.

Możliwe rozwiązania:

Jeżeli logi się nie tworzą, prawdopodobnie występuje problem z plikami generatora.

Naleźy zweryfikować, czy po aktualizacji Comarch DMS zostały wgrane odpowiednie pliki generatora zgodne z wersją Comarch ERP Optima.

Jeżeli konfiguracja kontrolki typu Własna akcja odbywa się przez plik wykonywalny, wówczas należy wgrać pliki generatora do plików desktopowych Comarch DMS.

Jeżeli konfiguracja kontrolki typu Własna akcja odbywa się przez IIS, wówczas należy wgrać pliki generatora do plików aplikacji serwerowej (dawnej web).

 

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!