Tekst

image_pdfimage_print

Kontrolka typu „Tekst” służy do wprowadzania dowolnych informacji zawartych na dokumencie, jak na przykład sposób dostawy, tytuł faktury, nazwa towaru, a także komentarzy lub uwag do dokumentu.

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

  • Nazwa wyświetlana – jest to pole, którego zawartość będzie widoczna na karcie obiegu, wartość pola nie musi być unikalna, dzięki temu możliwe jest dodanie kilku kontrolek, dla których wyświetlana jest taka sama nazwa.
  • Nazwa (identyfikator) – jest to pole, którego wartość widoczna jest wyłącznie we właściwościach kontrolki. Wartość tego pola musi być unikalna w ramach karty obiegu.
  • Prezentuj na całej szerokości – zaznaczenie tej właściwości spowoduje wyświetlenie kontrolki na całej szerokości okna „Karta obiegu”.
  • Ustaw kontrolkę na początku wiersza – parametr odpowiada za ustawienie kontrolki na początku nowego wiersza karty obiegu, bez konieczności dodawania separatorów pomiędzy kontrolką bieżącą, a kontrolką poprzednią. Możliwość użycia parametru „Ustaw kontrolkę na początku wiersza” uzależniona jest od wartości parametru „Prezentuj na całej szerokości”. Gdy zaznaczono parametr „Prezentuj na całej szerokości”, nie ma możliwości użycia parametru „Ustaw kontrolkę na początku wiersza”. Gdy parametr „Ustaw kontrolkę na początku wiersza” jest zaznaczony, parametr „Prezentuj na całej szerokości” jest dostępny, jego zaznaczenie spowoduje wyłączenie i dezaktywację parametru „Ustaw kontrolkę na początku wiersza”.
  • Max długość – określa maksymalną długość wprowadzanego tekstu – max 900 znaków.
  • Tekst wielolinijkowy – określa liczbę wierszy wyświetlanego pola tekstowego. Dopuszczalna liczba to 100 linijek.
  • Pokaż na liście – parametr odpowiedzialny za to, czy na liście dokumentów zawężonej do typu obiegu, na którym dodano kontrolkę, będzie wyświetlana kolumna z wartościami kontrolki.

 

Uwaga

Aby parametr „Pokaż na liście” działał poprawnie, zarówno w przypadku starego jak i nowego trybu uprawnień należy przestrzegać następujących zaleceń:

  • nie można używać nawiasów kwadratowych
  • nazwa wyświetlana kontrolek może mieć maksymalnie 128 znaków (dotyczy kontrolek, które mają być wyświetlane na liście)

 

 

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

 

Sekcja Inicjowanie wartości

  • Inicjowanie – pole może przyjąć wartość: Brak, SQL OD lub C# Script.

 

Gdy wybrana jest wartość „Brak”, właściwości kontrolki nie ulegają zmianie, działanie samej kontrolki nie zmienia się, kontrolka działa jak dotychczas.

W przypadku wartości „SQL OD” pojawia się możliwość zdefiniowania zapytania SQL za pomocą, którego będą inicjowane wartości w kontrolce na karcie obiegu.

 

Parametr „Inicjuj przy każdym otwarciu dokumentu”

 

W przypadku wartości „C# Script” możliwe jest zdefiniowanie kodu C#, który będzie inicjował wartości w kontrolce.

Uwaga

Od wersji 2023.1.2 jeżeli operator w ramach pola „Inicjowanie” wybierze wartość  SQL OD, SQL ERP lub C# Script, ale nie kliknie w link „Ustaw”nie wprowadzi zapytania, wówczas przy próbie zapisu typu obiegu zostanie wyświetlony komunikat, a zmiany nie zostaną zapisane.

W takim przypadku należy zmienić wartość pola „Inicjowanie” na „Brak” albo wprowadzić brakujące zapytanie.

W ramach komunikatu podane są nazwa i identyfikator kontrolki, dla której nie wprowadzono wymaganego zapytania oraz opcja wybrana w polu „Inicjowanie”  tej kontrolki.

Przykładowy komunikat wyświetlany przy próbie zapisania typu obiegu, gdy na definicji kontrolki „Tekst 1” w polu „Inicjowanie” wybrano opcję „SQL ERP” oraz na definicji kontrolki „Tekst 2” w polu „Inicjowanie” wybrano opcję „SQL OD”, ale nie wprowadzono zapytań
  • Inicjuj przy każdym otwarciu  – parametr widoczny, jeśli w polu „Inicjowanie” wybrano „SQLOD” lub „C# Script”; zaznaczenie parametru powoduje, że wartości wyświetlane w kontrolce będą inicjowane każdorazowo, gdy dokument zostanie otwarty w etapie, w którego właściwościach włączono inicjalizację SQL/C#. Odznaczenie parametru oznacza, że wartość zostanie zainicjowana raz.
  • Dokument – pole widoczne, jeśli w polu „Inicjowanie” wybrano „Brak”; w tym polu można wybrać nazwę (identyfikator) wcześniej zdefiniowanej w danym obiegu kontrolki typu Dokument elektroniczny, z której  wartość ma zostać zmapowana do kontrolki typu tekst (zob. Dokument elektroniczny). Pole aktywne tylko dla współpracy z Comarch ERP XL.
  • Pole – pole widoczne, jeśli w polu „Inicjowanie” wybrano „Brak”; w tym polu można wybrać kolumnę z bazy danych Comarch ERP XL, której wartość zostanie zmapowana do kontrolki typu tekst (zob. Dokument elektroniczny). Pole aktywne tylko dla współpracy z Comarch ERP XL.

 

Przyklad

Przykład inicjowania kontrolki typu „Tekst” za pomocą zapytania SQL:

Administrator chce, aby na każdym nowym dokumencie w kontrolce typu tekst o nazwie „Ulica”  domyślnie był wyświetlany tekst „ul.”. W tym celu we właściwościach kontrolki w polu „Inicjowanie” ustawia „SQLOD”, klika „ustaw” i wpisuje następujące zapytanie:

 select 'ul.'

 

Inicjowanie kontrolki typu tekst o nazwie „Ulica” za pomocą zapytania SQL

 

Następnie przechodzi do zakładki „Schemat obiegu”, klika na etap „Rejestracja” i w sekcji „Kontrolki” przy kontrolce „Ulica” zaznacza parametr „Inicjalizacja SQL/C#”. Następnie zapisuje typ obiegu.

 

Zaznaczanie etapu, na którym ma nastąpić inicjalizacja kontrolki „Ulica”

 

Przykład inicjowania kontrolki typu „Tekst” za pomocą kodu C#:

Administrator chce, aby na każdym nowym dokumencie w kontrolce typu tekst o nazwie „Ulica”  domyślnie był wyświetlany tekst „ul.”. W tym celu we właściwościach kontrolki w polu „Inicjowanie” ustawia „C# Script”, klika „Ustaw” i wpisuje następujące zapytanie:

 Globals.MainFrame.ulica.Text="ul."

 

Inicjowanie kontrolki typu tekst o nazwie „Ulica” za pomocą kodu C#

 

Następnie administrator klika w ramach okna na ikonkę [Kompiluj i zapisz], a potem, po zamknięciu okna, przechodzi do zakładki „Schemat obiegu”, klika na etap „Rejestracja” i w sekcji „Kontrolki” przy kontrolce „Ulica” zaznacza parametr „Inicjalizacja SQL/C#”. Następnie zapisuje typ obiegu.

 

Zaznaczanie etapu, na którym ma nastąpić inicjalizacja kontrolki „Ulica”

 

Kontrolka „Uiica” na nowym dokumencie

Zarówno w przypadku zainicjowania kontrolki za pomocą zapytania SQL, jak i za pomocą kodu C#, od tej pory na każdym nowoutworzonym dokumencie w kontrolce „Ulica”  automatycznie wyświetlany jest tekst „ul.”  – operator może dopisać tekst lub, w razie potrzeby,  zmienić tekst „ul.” na inny.

 

Nowy dokument – w kontrolce „Ulica” automatycznie wprowadzony został tekst „ul.”

 

Zmiana wartości (Obserwator)

W ramach tej sekcji znajdują się następujące pola:

  • Kontrolki powiązane – kontrolka prezentująca listę kontrolek powiązanych, na podstawie których wyliczana jest wartość kontrolki wynikowej. Kontrolka wynikowa to kontrolka, na której zostało zdefiniowane wyrażenie np. arytmetyczne z użyciem kontrolek powiązanych.
  • Wzór na wartość – formatka, na której zdefiniowane zostało wyrażenie, na podstawie którego zostanie wyliczona wartość kontrolki wynikowej przy użyciu kontrolek powiązanych. Lista rozwijalna prezentuje wartości: Wyrażenie, SQL OD, SQL ERP lub C# Script .

 

Przyklad

Administrator dodał w definicji typu obiegu następujące kontrolki typu Tekst:

  • Imię (identyfikator: imie)
  • Nazwisko (identyfikator: nazwisko)
  • Ulica (identyfikator: ulica)
  • Numer mieszkania (identyfikator: numer_mieszkania)
  • Kod pocztowy (identyfikator: Kod)
  • Miasto (identyfikator: miasto)
  • Dane osobowe (łącznie) (identyfikator: Dane)

Administrator chce, aby w kontrolce Dane osobowe (łącznie)  wyświetlone zostały dane z wszystkich pozostałych wymienionych kontrolek typu tekst.

W tym celu we właściwościach kontrolki Dane osobowe (łącznie)  w polu Kontrolki powiązane klika w link Dodaj  i kolejno wybiera kontrolki Imię, Nazwisko, Ulica, Numer mieszkania,  Kod pocztowy i Miasto.

 

Wersja z zastosowaniem zapytania SQL

Następnie w polu „Wzór na wartość”  administrator ustawia „SQLOD”, klika „Ustaw” i wpisuje następujące zapytanie (gdzie parametr @nowaLinia odpowiada za umiejscowienie następującego po nim fragmentu tekstu w nowej linijce, a  ’ ’  to odstęp między kolejnymi wartościami kontrolek):

declare @nowaLinia varchar(max) = char(13) + char(10)

select  @imie@  + ' ' +  @nazwisko@ + @nowaLinia
+ @ulica@ + ' '+  @numer_mieszkania@ + @nowaLinia
+  @Kod@ + ' '+  @miasto@

 

Wprowadzanie zapytania SQL w kontrolce „Dane osobowe (łącznie)”

 

Następnie administrator zapisuje typ obiegu.

 

Od tej pory kiedy operator uzupełni kontrolki tekstowe Imię, Nazwisko, Ulica, Numer mieszkania,  Kod pocztowy i Miasto, wtedy wszystkie ich wartości zostaną zapisane w kontrolce Dane osobowe (łącznie).

 

Kontrolka „Dane osobowe (łącznie)” uzupełniona wartościami z pozostałych kontrolek typu Tekst

 

Wersja z zastosowaniem kodu C#

Ten sam cel można osiągnąć za pomocą kodu C# – wówczas (po dodaniu kontrolek powiązanych) w polu „Wzór na wartość” administrator ustawia „C# Script”, klika „Ustaw” i wpisuje następujące zapytanie (gdzie parametr Environment.NewLine odpowiada za umiejscowienie następującego po nim fragmentu tekstu w nowej linijce, a  ’ ’  to odstęp między kolejnymi wartościami kontrolek):

Globals.MainFrame.dane.Text= Globals.MainFrame.imie.Text + ' ' 
+ Globals.MainFrame.nazwisko.Text
+ Environment.NewLine + Globals.MainFrame.ulica.Text +' ' 
+ Globals.MainFrame.numer_mieszkania.Text
+ Environment.NewLine + Globals.MainFrame.Kod.Text + ' ' 
+ Globals.MainFrame.miasto.Text

 

Wprowadzanie kodu C# w kontrolce „Dane osobowe (łącznie)”

 

Następnie administrator klika w ramach okna na ikonkę [Kompiluj i zapisz], a potem po zamknięciu okna zapisuje typ obiegu.

Od tej pory kiedy operator uzupełni kontrolki tekstowe Imię, Nazwisko, Ulica, Numer mieszkania,  Kod pocztowy i Miasto, wtedy wszystkie ich wartości zostaną zapisane w kontrolce Dane osobowe (łącznie).

 

Czy ten artykuł był pomocny?