Pierwsza metoda, którą Pan przedstawił będzie uwzględniać pierwszy element z kolekcji Pozycje. Oznacza to, że zwróci prawdę, jeżeli pierwsza pozycja będzie zaczynać się od ciągu znaków "węgiel" (resztę pozycji pominie).
Druga w zasadzie zachowa się podobnie.
I tutaj wyjątek: Powyższe Warunki będą działać, jeżeli zostaną utworzone w grupie "Data band", którego źródłem jest: "Dokument.Pozycje".
Żeby warunek działał także poza tą grupą, należałoby przeszukać całą kolekcję Pozycje i w każdym elemencie sprawdzić, czy dane pole zawiera ciąg znaków. Można to osiągnąć dodając metodę w sekcji Code i wywołać ją w polu Expression dla warunku (Condition).
Poniżej przykładowa metoda:
public bool CzyKtorasPozycjaZaczynaSieOd(string szukanyCiag)
{
bool zaczynaSieOdSzukanego = false;
Dokument.Pozycje.Connect();
Dokument.Pozycje.First();
while (!Dokument.Pozycje.IsEof && !zaczynaSieOdSzukanego)
{
zaczynaSieOdSzukanego = Dokument.Pozycje.AsortymentWybrany.Nazwa.StartsWith(szukanyCiag);
Dokument.Pozycje.Next();
}
return zaczynaSieOdSzukanego;
}
I wywołanie w polu Expession:
CzyKtorasPozycjaZaczynaSieOd("węgiel")