Czy wiesz, że kontrolkę Dane tabelaryczne można zainicjować wartością domyślną?
Istnieje możliwość automatycznego zainicjowania kontrolki tabelarycznej (na wskazanym etapie).
Kontrolka tabelaryczna to tabela tymczasowa SQL. Praca z tą kontrolką jest bardzo podobna do pracy z tabelą SQL bazy danych.
Do zainicjowania kontrolki z dwoma wierszami można użyć zapytania z wykorzystaniem instrukcji operacji na zbiorach UNION, która łączy wyniki dwóch zapytań, eliminując duplikaty:
SELECT
'Faktura 001' AS nazwa, 1500.00 AS kwota,'2025-04-15' AS termin, 0 as LP
UNION
SELECT
'Faktura 002' AS nazwa, 3200.50 AS kwota, '2025-04-20' AS termin, 0 as LP
Ostatnią kolumną jest kolumna „POS” numery tej kolumny możemy zainicjować zerami, w tabeli zostaną zastąpione kolejnymi wartościami LP.
Karta obiegu, dwuwierszowa kontrolka tabelaryczna
Konfiguracja przykładu:
1. W definicji typu obiegu w kontrolce Dane tabelaryczne zdefiniowano kolumny Nazwa, Kwota oraz Termin.
Kontrolka Dane tabelaryczne – zdefiniowane kolumny
2. W kontrolce Dane tabelaryczne na zakładce Inicjowanie wartości-> Inicjowanie SQLzdefiniowano zapytanie:
Kontrolka Dane tabelaryczne – zapytanie inicjujące wartości
3. Na etapie, na którym kontrolka Dane tabelaryczne ma się zainicjować wartościami domyślnymi zaznaczono „Inicjalizacja SQL”
Kontrolka Dane tabelaryczne – włączenie inicjalizacji kontrolki zapytaniem SQL
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?
Czy wiesz, że po dodaniu wiersza w kontrolce typu Dane tabelaryczne poszczególne kolumny mogą zainicjować się wartością domyślną?
Istnieje możliwość automatycznego zainicjowania kontrolki tabelarycznej po dodaniu nowego wiersza za pomocą znaku plusa (na wskazanym etapie).
Karta obiegu, zainicjowane kolumny w kontrolce tabelarycznej
Konfiguracja przykładu:
1. W definicji typu obiegu w kontrolce typu Dane tabelaryczne o nazwie i identyfikatorze „Elementy” zdefiniowano kolumny:
„Nazwa” (identyfikator kolumny: Nazwa)– kontrolka typu Tekst
„Ilość” (identyfikator kolumny: Ilosc) – kontrolka typu Liczba stałoprzecinkowa
„Cena” (identyfikator kolumny: Cena) – kontrolka typu Liczba stałoprzecinkowa
„Wartość” (identyfikator kolumny: Wartosc) – kontrolka typu Liczba stałoprzecinkowa
Kontrolka Dane tabelaryczne – zdefiniowane kolumny
2. W kontrolce typu Dane tabelaryczne o nazwie „Elementy” na zakładce Inicjowanie wartości-> Kontrolki powiązane dodano obserwację samej siebie oraz w polu Wzór na wartość SQLOD zdefiniowano następujące zapytanie:
If @^SenderControlName@ = 'Elementy'
If @Elementy_Column@ =-1
Begin
update @Elementy@ set [Nazwa]='a-vista', [Ilosc]=1 where POS= @Elementy_Row@
select * from @Elementy@
END
Kontrolka Dane tabelaryczne – zapytanie inicjujące wartości
3. Nastepnie zapisano wprowadzone zmiany za pomocą ikony [Zapisz].
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?
Czy wiesz, że w kontrolce Dane tabelaryczne wartości w poszczególnych kolumnach mogą się przeliczać w oparciu o zmianę wartości w innej kolumnie przy pomocy zapytania SQL?
Przykład dotyczy Comarch DMS we współpracy z Comarch ERP XL
W kontrolce „Elementy”zmiana pola „Cena” lub „Ilość” spowoduje przeliczenie wartości w kolumnie„Netto”.
Po uzupełnieniu pola „Stawka VAT” zostanie wyliczona wartość w kolumnie „Brutto”.
Dodatkowo, w kontrolce Podsumowanie jest zliczana wartość z kolumny „Brutto”.
Karta obiegu, uzupełniona kontrolka tabelaryczna
Konfiguracja przykładu – przykład dotyczy Comarch DMS we współpracy z Comarch ERP XL:
1. W definicji typu obiegu w kontrolce Dane tabelaryczne o nazwie ”Elementy” (identyfikator kontrolki: Elementy) zdefiniowano kolumny:
”Pozycja” (identyfikator kolumny: Pozycja) – typ Tekst
”Cena” (identyfikator kolumny: Cena) – typ Liczba stałoprzecinkowa
”Ilość” (identyfikator kolumny: Ilosc)- typ Liczba stałoprzecinkowa
”Netto” (identyfikator kolumny: Netto) – typ Liczba stałoprzecinkowa
”Stawka VAT” (identyfikator kolumny: StawkaVAT) – typ Lista
”Brutto” (identyfikator kolumny: Brutto)– typ Liczba stałoprzecinkowa
Kontrolka Dane tabelaryczne – zdefiniowane kolumny
2. W kontrolce typu Dane tabelaryczne na zakładce Inicjowanie wartości -> Kontrolki powiązane dodano obserwację samej siebie oraz w polu Wzór na wartość SQL ERP zdefiniowano zapytanie:
IF @Elementy_Column@=2 OR @Elementy_Column@=3 or @Elementy_Column@=5
BEGIN
DECLARE @VAT as decimal (4,2)
SELECT @VAT=CAST(SUBSTRING (Naz_Nazwa1, 0, CHARINDEX (' ', Naz_Nazwa1)) as decimal (4,2))/100
FROM CDN.Nazwy
WHERE Naz_GIDTyp=624 AND Naz_GIDLp= (SELECT [StawkaVAT] FROM @Elementy@
WHERE POS=@Elementy_Row@)
UPDATE @Elementy@
SET [Netto] = (Ilosc * Cena),
[Brutto] = (Ilosc * Cena)*(@VAT+1) WHERE POS=@Elementy_Row@
SELECT * FROM @Elementy@
END
Kontrolka Dane tabelaryczne – zapytanie przeliczające wartości w kolumnach
3. Na właściwościach kontrolki typu Dane tabelaryczne kolumnę „Netto” oraz „Brutto” ustawiono w trybie „Do odczytu”.
Kontrolka Dane tabelaryczne – ograniczenie edycji
4. W kontrolce typu Dane tabelaryczne”Elementy” (identyfikator kontrolki: Elementy) na zakładce Listy zdefiniowano zapytanie pobierające Stawki VAT:
select Naz_gidLp as Id,
CASE
WHEN Naz_Nazwa='A 23.00' THEN '23%'
WHEN Naz_Nazwa='B 8.00' THEN '8%'
WHEN Naz_Nazwa='C 0.00' THEN '0%'
WHEN Naz_Nazwa='D 0.00' THEN 'ZW'
WHEN Naz_Nazwa='E 0.00' THEN 'NP'
WHEN Naz_Nazwa='F 7.00' THEN '7%'
WHEN Naz_Nazwa='G 5.00' THEN '5%'
END
from CDN.Nazwy
where Naz_GIDTyp = 624 AND trim(substring(Naz_Nazwa,9,2))=''
Kontrolka Dane tabelaryczne – zapytanie pobierające stawkę VAT
5. W kontrolce Podsumowanie w polu Kontrolki powiązane dodano obserwację kontrolki typu Dane tabelaryczne”Elementy” (identyfikator kontrolki: Elementy) oraz w polu Wzór na wartość SQL OD zdefiniowano zapytanie:
select sum (Brutto) from @Elementy@
Kontrolka Podsumowanie – zapytanie zliczające wartości z kolumny Brutto
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?