soneta-programming - redukcja duplikatów i mapa skilla

SKILL.md odchudzony z 493 do 333 linii: sekcje Serwisy, Tłumaczenia
i Log wyciągnięte do nowych referencji, sekcja Session skrócona do
fundamentów (szczegóły w session-login.md), dodana Mapa skilla.
W examples.md usunięte duplikaty z context.md i datapack-guidedrow.md,
dodane spisy treści do dużych referencji.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Marcin Wojas
2026-05-16 22:55:21 +02:00
parent 4576f3135b
commit 20a45e06cd
8 changed files with 287 additions and 390 deletions
@@ -19,20 +19,7 @@ Faktura bez pozycji nie jest kompletną fakturą - wszystkie te obiekty stanowi
## Hierarchia klas Row i Table
```
Row (abstrakcyjna) Table (abstrakcyjna)
│ └── ID: int └── GuidedTable (indeksator po Guid)
│ └── State: RowState └── ExportedTable
└── GuidedRow
│ └── Guid: System.Guid
│ └── Attachments
│ └── FirstChangeInfo, LastChangeInfo
│ └── Note
└── ExportedRow
└── Exported: bool
```
Hierarchię ogólną opisuje [SKILL.md](../SKILL.md#hierarchia-głównych-klas). W skrócie: `Row → GuidedRow → ExportedRow` (po stronie wierszy) oraz `Table → GuidedTable → ExportedTable` (po stronie tabel). Szczegóły właściwości - sekcje poniżej.
## Atrybut guided w business.xml
@@ -130,6 +117,31 @@ foreach (Attachment att in row.Attachments)
Attachment img = row.DefaultImage;
```
### Dodawanie załącznika z transakcją
```csharp
public void DodajZalacznik(Login login, Towar towar, byte[] plik, string nazwa)
{
using (var session = login.CreateSession(false, false, "DodawanieZalacznika"))
{
// Doczytaj towar w bieżącej sesji (mieszanie obiektów z różnych sesji jest błędem)
var towarInSession = session.Get(towar);
using (var transaction = session.Logout(editMode: true))
{
var attachment = new Attachment(towarInSession, AttachmentType.Attachments);
towarInSession.Module.Business.Attachments.AddRow(attachment);
attachment.Name = nazwa;
attachment.RawData = plik;
transaction.Commit();
}
session.Save();
}
}
```
## ExportedRow
Rozszerza `GuidedRow` o flagę `Exported`.