Wydruki i raporty w Soneta (enova365, Triva) — pliki .repx (DevExpress XtraReports, serializowany XML). Sięgaj po ten skill przy KAŻDYM zadaniu, którego efektem jest wydruk/raport: faktury, dokumentu, deklaracji, listy, zestawienia; utworzenie, przeróbka lub poprawa pliku .repx (też z załącznika); pytanie „jak w wydruku/raporcie zrobić X”. Typowe X: podpięcie danych (bieżąca lista, dokument z pozycjami, master-detail, podraport), podział stron / dokument od nowej strony, kolumna Lp, tabele, grupowanie i sumy, formatowanie warunkowe, kwoty, nakładanie wartości na skan/wzór formularza (NIP, checkboxy), własny nagłówek/stopka/podpisy dokumentu, arkusz stylów (.repss), rejestracja wydruku. Wyzwalają też pojęcia techniczne: XtraReportsLayoutSerializer, StyleSheetSerializer/.repss (arkusze stylów), pasma (DetailBand/DetailReportBand/GroupHeaderBand/SubBand), kontrolki (XRLabel/XRTable/AmountLabel/Header/Footer), BusinessDataSource/DataKind, ReportContext, ExpressionBindings/Summary/GroupFields/CalculatedFields/Filt
Mapa i przewodnik po wyspecjalizowanych skillach platformy Soneta (enova365, Triva): soneta-programming (ORM), soneta-addon-planning, soneta-business-xml, soneta-form-xml, soneta-repx (wydruki DevExpress .repx), soneta-place-def-elementow, soneta-config (konfiguracja i funkcje domenowe — import/eksport XML, scan-folders, konfiguracja uruchomieniowa appsettings.json porty i adresy komponentów), soneta-config-reg (rejestr konfiguracji ConfigReg — providery, *.reg.json, przenoszenie ustawień między bazami), soneta-tools (narzędzia CLI: dbmgr, buscall, SonetaFrame), soneta-containers (uruchamianie i wdrażanie w kontenerach: docker compose, Apple container / Container Desktop, Helm/Kubernetes, wybór wersji obrazów, tworzenie bazy w kontenerze). Używaj gdy użytkownik: (1) rozpoczyna zadanie dla platformy Soneta i nie wiadomo, który skill wybrać; (2) pyta ogólnie o dodatki, moduły lub rozszerzenia Soneta ERP; (3) wspomina enova, Soneta Enterprise, Triva bez sprecyzowania warstwy (dane, UI, logika, płace); (4) chce p
Klasy ORM i wzorce kodu biznesowego platformy Soneta (enova365, Soneta Enterprise, Triva). Używaj gdy użytkownik: (1) pisze, modyfikuje lub refaktoruje kod biznesowy enova365/Soneta/Triva (Row/Table/Module, sesje i transakcje, selector, typy wierszy); (2) pyta o konkretny mechanizm ORM — Session, Commit/Save, optimistic lock, Context, RowCondition, Datapack, ViewInfo, Features, thread-safety; (3) prosi o code review kodu biznesowego Soneta (safe-code); (4) pisze worker, extender, akcję w menu Czynności, folder/listę; (5) chce zinwentaryzować moduły, pola, workery lub formularze/zakładki (pola, sekcje, kolejność wprowadzania) z bibliotek DLL; (6) chce rozpocząć nowy dodatek/rozszerzenie Soneta — wygenerować szkielet źródeł z CLI (`dotnet new soneta-addon`, Soneta.MsBuild.SDK, szablony Soneta Platform Developer). Sięgnij też, gdy inny skill potrzebuje warstwy ORM/kodu biznesowego Soneta.
Narzędzia i mechanizmy platformy Soneta (enova365, Triva) związane z konfiguracją systemu i funkcjami domenowymi. Obecnie: (A) IMPORT/EKSPORT DANYCH I USTAWIEŃ KONFIGURACYJNYCH przez pliki XML — struktura pliku `<session>`, import według rekordów (business="false", pliki *.dbinit.xml, baza demo), import przez logikę biznesową (business="true"), eksport datapacku, identyfikacja rekordów po GUID, formaty wartości; (B) `scan-folders` — inwentaryzacja statycznych folderów menu (`[assembly: FolderView]`) z bibliotek DLL; (C) KONFIGURACJA URUCHOMIENIOWA `appsettings.json` — porty i adresy komponentów (orchestrator/server/web/webapi/webwcf/router/commhub), kolejność nadpisań konfiguracji (profil systemu, nakładki `-c`, zmienne `SONETA_`, argumenty CLI), znaczenie kluczy. Używaj gdy użytkownik: (1) buduje lub analizuje plik XML importu danych do platformy Soneta (dbinit.xml, dane demo, przenoszenie ustawień między bazami); (2) pyta o atrybuty guid/where/key/id/business/deleted/dbversion w XML Soneta; (3) eksportuje r
Silnik REJESTRU KONFIGURACJI (ConfigReg, "rejestr konfiguracji") platformy Soneta (enova365, Triva) — od strony kodu C#: drzewo węzłów `ConfigReg`, providery `IConfigRegProvider` (Root/Module/ConfigModule/Table/Row/SubRow/SubTable/Storage/Addins), atrybut `[ConfigReg(Hide/Ignore/Include/ChildrenType)]` sterujący zakresem rejestru, format plików `*.reg.json`, oraz potok Loader → Differ/Merger → SessionUpdater zapisujący zmiany do sesji. Używaj ZAWSZE gdy użytkownik: (1) pyta o rejestr konfiguracji, ConfigReg, `Soneta.Config.Reg`, tabelę `ConfigRegistry` lub menu "Zarządzanie konfiguracją"; (2) chce włączyć/wyłączyć tabelę, kolumnę lub węzeł konfiguracji z rejestru (`ConfigReg(Ignore=true)`, `Hide`, `Include`, `ChildrenType`); (3) pisze lub modyfikuje provider rejestru, obsługę zapisu (`SaveChild`, `delayed`), porównywanie (`ConfigRegDiffer`), scalanie (`ConfigRegMerger`) albo serializację (`RegConfigJsonConverter`); (4) buduje, czyta lub debuguje plik `*.reg.json` — sigile `$strict`, `$v`, `$`, `#klucz`, `@atr
Uruchamianie i wdrażanie platformy Soneta (enova365, Triva) w kontenerach — dla partnerów, bez dostępu do kodu programu. Używaj gdy użytkownik: (1) chce postawić środowisko (server + web) na obrazach Soneta przez `docker compose` albo na Apple `container` / Container Desktop; (2) tworzy lub zarządza bazą danych w kontenerze (usługa init z `dbmgr create`, `--demo`, `--recreate`, licencja, konwersja); (3) wdraża na Kubernetes przez Helm (`helm repo add soneta`, `values.yaml`, `dblist`, `adminMode`); (4) wybiera wersję obrazów (tagi z Docker Hub `soneta/*` lub `registry.soneta.pl`), architekturę (alpine/arm64/amd64), źródło i logowanie do registry; (5) potrzebuje SQL Servera — zewnętrznego (`host.docker.internal` / `host.containers.internal`) albo jako kontener `mssql`; (6) rozwiązuje problemy startu stacku (kolejność, port zajęty, brak DNS między usługami w Apple container, zły host-alias). Słowa kluczowe: docker compose, docker-compose.yaml, apple container, Container Desktop, helm, kubernetes, obraz, tag, wer
Narzędzia deweloperskie wiersza poleceń używane w Soneta do programowania i zarządzania platformą (enova365, Triva). Używaj gdy użytkownik: (1) zarządza bazami danych przez `dbmgr` — tworzy, rejestruje, konwertuje, robi backup/restore, nakłada licencje, dodaje rozszerzenia (extensions), analizuje lub kompiluje bazę; (2) chce przygotować bazę testową/demo z wiersza poleceń albo zautomatyzować operacje na bazach w skrypcie/CI; (3) testuje działającą aplikację przez `buscall` — zdalnie steruje programem (nawigacja, formularze, gridy, edycja) i robi zrzuty ekranu do analizy wizualnej; (4) uruchamia aplikację ramki `SonetaFrame` (`SonetaFrameNew`), konfiguruje połączenia i źródła baz danych (`demo:`, `http`, `docker:`, `process:`, `orchestrator:`) albo pyta o jej plik ustawień (`Settings_<Product>.json`); (5) pyta o składnię, komendy lub opcje narzędzi CLI Soneta (`dbmgr`, `buscall`, `callmcp`, `SonetaFrame`); (6) wspomina „narzędzia Soneta", „zarządzanie bazą enova", „utwórz bazę demo", „konwersja bazy", „backup
Generator plików business.xml dla platformy Soneta (enova365, Soneta Enterprise). Tworzy definicje obiektów biznesowych (tabel, kolumn, relacji, indeksów) zgodne ze schematem XSD. Używaj gdy użytkownik prosi o stworzenie nowego modułu biznesowego, zdefiniowanie obiektów lub encji do przechowywania w bazie danych, utworzenie relacji między obiektami, lub generowanie plików business.xml dla platformy Soneta.