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?

image_pdfimage_print

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?

Sprawdź Szkolenia Comarch DMS!

 

Czy ten artykuł był pomocny?