Autor Thema: Array mit Schleife bei Detailbereich unterdrücken  (Gelesen 42 mal)

Sam85

  • Jr. Member
  • **
  • Beiträge: 40
Array mit Schleife bei Detailbereich unterdrücken
« am: 21. März 2019, 09:15 »
Guten Morgen,

ich tue mir gerade schwer, ich habe einen Detailbereich der unter folgenden Bedingungen unterdrückt werden soll.
Nun bin ich mir nicht sicher, ob ich das so richtig angehe. Vielleicht kann mir jemand helfen. Kurz wenn die Werte aus dem Array hier left({HMVLI2_TXT.HMV-NR},6) auftreten, dann soll der Detailbereich unterdrückt werden.

local stringVar array hmv := ["194001","194003","504501"];
local numberVar x;

for x := 1 to count(hmv)
    do(
        if not left({HMVLI2_TXT.HMV-NR},6) = hmv[x]
    );

EDIT: Ich hab es nochmal etwas angepasst, da ich ein Kriterium vergessen hatte. Ist aber das gleiche Prinzip und geht nicht. Es wird wegen dem "THEN" gemakelt, dachte aber dass automatisch erkannt wird beim Unterdrücken?!
local numberVar array hmv := [194001,194003,504501];
local numberVar array kst := [3227,10699];
local numberVar x;
local numberVar y;

for x := 1 to count(hmv) do(
    for y := 1 to count(kst) do(
            if not left({HMVLI2_TXT.HMV-NR},6) = hmv[x] and {AUFDRUK_TXT.PAT-KKASSENR} = kst[y]
    )
);
« Letzte Änderung: 21. März 2019, 11:01 von Sam85 »

Krug Andreas

  • Sr. Member
  • ****
  • Beiträge: 118
Re: Array mit Schleife bei Detailbereich unterdrücken
« Antwort #1 am: 25. März 2019, 14:06 »
local numberVar array hmv := [194001,194003,504501];
local numberVar array kst := [3227,10699];
local numberVar x;
local numberVar y;

for x := 1 to count(hmv) do(
    for y := 1 to count(kst) do(
            not left({HMVLI2_TXT.HMV-NR},6) = hmv[x] and {AUFDRUK_TXT.PAT-KKASSENR} = kst[y];
    )
);
oder

local numberVar array hmv := [194001,194003,504501];
local numberVar array kst := [3227,10699];
local numberVar x;
local numberVar y;

for x := 1 to count(hmv) do(
    for y := 1 to count(kst) do(
            if not left({HMVLI2_TXT.HMV-NR},6) = hmv[x] and {AUFDRUK_TXT.PAT-KKASSENR} = kst[y] then true;
    )
);

Sam85

  • Jr. Member
  • **
  • Beiträge: 40
Re: Array mit Schleife bei Detailbereich unterdrücken
« Antwort #2 am: 25. März 2019, 15:20 »
Danke ich hab es vorhin irgendwann auch hinbekommen. Muss als nur eine Boolean Wert zurückgeben so wie ich das verstanden habe. (Hab es dann auch in Basic Syntax gemacht, statt Crystal Syntax)

    Dim K1 as String
    Dim K2() as Number
    Dim K3() as String
    Dim i, j as Number   
   
    K1 = "Erstpauschale"
    K2 = Array(3227, 10699)
    K3 = Array("194001", "194003", "504501")

    For i = 1 To Count(K3)
        For j = 1 To Count(K2)
            If ({?Kategorie} = K1 And {AUFDRUK_TXT.PAT-KKASSENR} = K2(j) And Left({AUFDRUK_TXT.HMV-NR},6) = K3(i)) Then
                Formula = False
                Exit For
            Else
                Formula = True
            End If
        Next j
    Next i