{ "skill_name": "soneta-form-xml", "evals": [ { "id": 1, "prompt": "Utwórz plik Zamowienie.Szczegoly.pageform.xml dla platformy enova365. Zakładka powinna zawierać:\n- Grupę 'Dane podstawowe' z polami: Numer (szerokość 20), DataZlozenia (szerokość 15), Kontrahent (szerokość *), Status (szerokość 15)\n- Grupę 'Warunki' z układem dwukolumnowym (Row > Stack): lewa kolumna ma SposobDostawy (20) i TerminDostawy (15), prawa kolumna ma SposobZaplaty (20) i TerminZaplaty (15)\n- Grupę 'Pozycje' z Grid (IsToolbarVisible, EditInPlace, NewInPlace) i kolumnami: Lp (5), Towar (*), Ilosc (10) z Footer=Sum, CenaJednostkowa (18), Wartosc (15) z Footer=Sum\nPriority zakładki: 10.", "expected_output": "Poprawny plik XML pageform.xml z deklaracją XML, elementem DataForm z atrybutami xmlns i Priority=10, elementem Page z DataContext={DataSource}, trzema grupami z odpowiednimi polami i gridem. Plik powinien być gotowy do użycia w projekcie enova365.", "files": [], "assertions": [ "Plik zaczyna się od ", "Element DataForm ma atrybut Priority=\"10\"", "Element Page ma atrybut DataContext=\"{DataSource}\"", "Są trzy elementy Group: 'Dane podstawowe', 'Warunki', 'Pozycje'", "Układ dwukolumnowy w grupie Warunki używa Row zawierającego Stack", "Element Grid ma atrybuty IsToolbarVisible=\"true\", EditInPlace=\"true\", NewInPlace=\"true\"", "Pola Ilosc i Wartosc w Grid mają atrybut Footer=\"Sum\"", "Binding pól używa składni {NazwaPola} w cudzysłowie" ] }, { "id": 2, "prompt": "Stwórz plik Pracownicy.viewform.xml dla widoku listy pracowników w enova365. Widok listy powinien zawierać kolumny: Kod (8), NazwiskoImie (30), NumerPracownika (20), Dzial (*), Stanowisko (20), DataZatrudnienia (15). Domyślne sortowanie po NazwiskoImie. Dodaj IsToolbarVisible i IsFilterRowVisible. Zachowaj właściwą strukturę pliku viewform.xml.", "expected_output": "Poprawny plik viewform.xml z elementem DataForm (bez Page), elementem Grid z kolumnami i sortowaniem OrderBy=\"NazwiskoImie\". Plik zgodny ze standardem enova365.", "files": [], "assertions": [ "Plik ma poprawną deklarację XML", "Element DataForm ma xmlns=\"http://www.enova.pl/schema/form.xsd\"", "Jest element Grid z EditValue lub bez (dla widoku listy)", "Grid ma atrybut OrderBy=\"NazwiskoImie\"", "Grid ma IsToolbarVisible=\"true\" i IsFilterRowVisible=\"true\"", "Są kolumny Field dla: Kod, NazwiskoImie, NumerPracownika, Dzial, Stanowisko, DataZatrudnienia", "Pole Dzial ma Width=\"*\"" ] }, { "id": 3, "prompt": "Pokaż jak w pageform.xml enova365 zastosować warunkową widoczność pól używając wyrażeń RowCondition. Stwórz przykładowy plik Kontrahent.Kredyt.pageform.xml z następującymi wzorcami:\n1. Pole 'LimitKredytu' widoczne tylko gdy TypKlienta='Korporacyjny'\n2. Pole 'WarunkiSpecjalne' widoczne gdy Status='Premium' LUB Status='VIP'\n3. Pole 'OstrzezenieBranze' widoczne gdy NIE Status='Aktywny'\n4. Przycisk Command widoczny gdy ObrotyRoczne > 0 (użyj WorkCondition lub własność bool)\n5. Cała Grupa 'Dane zaawansowane' zwijalna (Collapsable) z Renderable uzależnionym od licencji", "expected_output": "Plik pageform.xml demonstrujący różne wzorce warunkowej widoczności: Visibility=\"{?TypKlienta=Korporacyjny}\", Visibility=\"{?Status=Premium or Status=VIP}\", Visibility=\"{?!Status=Aktywny}\", użycie klasy Collapsable dla grupy.", "files": [], "assertions": [ "Użyto składni Visibility=\"{?Pole=Wartość}\" dla warunku równości", "Użyto składni OR dla wielu wartości: {?Status=Premium or Status=VIP}", "Użyto negacji: {?!Status=Aktywny}", "Klasa Collapsable jest zastosowana do grupy", "Atrybut Renderable jest użyty dla warunku licencji" ] } ] }