Files
soneta-erp-skills/soneta-programming/references/domeny/handel.md
T

9.3 KiB
Raw Blame History

Dokument handlowy — receptury kodu biznesowego (Soneta / enova365)

Zbiór gotowych wzorców kodu dla obiektu biznesowego Soneta.Handel.DokumentHandlowy (tabela DokHandlowe, moduł HandelModule). Dokument jest częścią skilla soneta-programming. Celem jest, aby agent pisał bezbłędny kod biznesowy operujący na dokumencie handlowym — fakturach, dokumentach magazynowych, zamówieniach, ofertach i korektach — trafiający w realne pola, kolekcje i workery platformy.

Format zwarty: każdy wzorzec opisuje ogólny przypadek + tabelę wariantów, zamiast wielu wąskich pozycji. Fundamenty (sesja, transakcja, blokada optymistyczna, praca z SubTable, obsługa błędów) są opisane w safe-code.md, session-login.md oraz worker-extender.md — tutaj się do nich odwołujemy, nie powtarzamy ich.

Cały kod w tym dokumencie jest zgodny z C# 10 (target-typed new, var, wyrażenia switch, nazwane parametry bool). Snippety operują wyłącznie na publicznym kontrakcie platformy — nie ma odwołań do prywatnych klas ani kodu źródłowego aplikacji.

Fakty o typie (zweryfikowane skanem DLL — scan-props.csx / scan-workers.csx)

  • Klasa biznesowa: Soneta.Handel.DokumentHandlowyGuidedRow (root), tabela Soneta.Handel.DokHandlowe („Dokumenty handlowe").
  • Jeden typ — wiele rodzajów dokumentów. Faktury (FV, FZ, PAR), dokumenty magazynowe (PZ, WZ, PW, RW, MM), zamówienia (ZO, ZD), oferty (OD, OO), korekty i inne — różni je wyłącznie Definicja (DefDokHandlowego). To definicja wyznacza kierunek magazynu, numerację, sposób liczenia VAT itd.
  • Moduł: Soneta.Handel.HandelModule, dostęp session.GetHandel(). Tabela dokumentów: Handel.DokHandlowe. Definicje: Handel.DefDokHandlowych (klucz WgSymbolu["FV"]).
  • Implementuje: IDokumentPlatny, IDokumentKsiegowalny, IDokumentKasowy, IDaneKontrahentaHost, IDokumentCRM, IKodowany, IExportImportXmlHost, IElementSlownika, IKomunikatEDIHost, IEmailElement, IProceduraVATHost, IZrodloOpisuAnalitycznego.
  • Pola: 128 bazodanowych + 388 kalkulowanych.

Kluczowe pola bazodanowe (zapisywalne)

Pole Typ Znaczenie
Definicja Soneta.Handel.DefDokHandlowego definicja dokumentu — wyznacza rodzaj/zachowanie (ustaw jako pierwszą)
Kontrahent Soneta.CRM.Kontrahent kontrahent (nabywca/dostawca) dokumentu
Odbiorca Soneta.CRM.Kontrahent odbiorca towarów (gdy inny niż kontrahent)
Magazyn Soneta.Magazyny.Magazyn magazyn, na który wpływa dokument
Data Soneta.Types.Date data wystawienia
DataOperacji Soneta.Types.Date faktyczna data sprzedaży/zakupu
Numer Soneta.Core.NumerDokumentu numeracja dokumentu (zob. wzorzec numeracji)
Seria string seria dokumentu
Stan Soneta.Handel.StanDokumentuHandlowego Bufor=0, Zatwierdzony=1, Zablokowany=2, Anulowany=3
LiczonaOd Soneta.Handel.SposobLiczeniaVAT liczenie wartości od netto/brutto
KorektaVAT bool sumy VAT zmienione ręcznie (niezależne od pozycji)
Waluta (przez BruttoCy) Soneta.Types.Currency kwota płatności w walucie
TabelaKursowa Soneta.Waluty.TabelaKursowa tabela kursów dla dokumentu walutowego
RodzajTransakcji Soneta.Handel.KodRodzajuTransakcji rodzaj transakcji Intrastat
Opis Soneta.Business.MemoText opis na wydruku
Suma Soneta.Handel.BruttoNetto podsumowana wartość dokumentu

Kluczowe kolekcje i właściwości kalkulowane (tylko do odczytu, o ile nie zaznaczono)

Składowa Typ Znaczenie
Pozycje LpSubTable<PozycjaDokHandlowego> pozycje dokumentu
SumyVAT SubTable<SumaVAT> tabelka VAT (netto/VAT/brutto wg stawek)
Platnosci SubTable<Soneta.Kasa.Platnosc> płatności dokumentu
Obroty SubTable obroty magazynowe bezpośrednie dokumentu
ObrotyWszystkie ListWithView obroty łącznie z dokumentami zależnymi
Zasoby SubTable zasoby magazynowe utworzone przez dokument
DokumentyMagazynowe DokumentHandlowy[] dokumenty magazynowe powiązane z fakturą
DokumentyHandlowe DokumentHandlowy[] faktury powiązane z dokumentem magazynowym
DokumentKorygowany DokumentHandlowy dokument korygowany (kalkulowane — tworzy relacja/UI)
DokumentyKorygujące IEnumerable<DokumentHandlowy> korekty tego dokumentu
DokumentyZaliczkowe DokumentHandlowy[] nadrzędne dokumenty zaliczkowe
Rezerwacja DokumentHandlowy dokument rezerwacji towarów
SumaPozycji BruttoNettoPozycji wyliczona suma wartości pozycji
Bufor / Zatwierdzony / Anulowany bool skróty stanu (kalkulowane z Stan)
Features Soneta.Business.FeatureCollection cechy definiowalne dokumentu

Pozycja dokumentu — Soneta.Handel.PozycjaDokHandlowego

Pole Typ Znaczenie
Towar Soneta.Towary.Towar towar pozycji (ustaw pierwszy — inicjuje jednostkę na Ilosc/Cena)
Ilosc Soneta.Towary.Quantity ilość; twórz new Quantity(wartość, poz.Ilosc.Symbol)
Cena Soneta.Types.DoubleCy cena (netto/brutto wg LiczonaOd); new DoubleCy(wartość, poz.Cena.Symbol)
Rabat Soneta.Types.Percent procent rabatu
Features FeatureCollection cechy pozycji (m.in. przeniesione z partii/towaru)

Konstruktor pozycji wymaga dokumentu: new PozycjaDokHandlowego(dokument).

Podstawowe typy i obiekty pomocnicze

Typ Rola
Soneta.Handel.HandelModule moduł Handel: DokHandlowe, DefDokHandlowych
Soneta.Magazyny.MagazynyModule magazyny, zasoby, obroty, partie (GrupaDostaw) — session.GetMagazyny()
Soneta.Towary.TowaryModule towary, jednostki, ceny — session.GetTowary()
Soneta.CRM.CRMModule kontrahenci — session.GetCRM()
Soneta.Handel.DefDokHandlowego definicja dokumentu (symbol, kierunek, numeracja, flagi)
Soneta.Types.Quantity ilość z jednostką miary
Soneta.Types.DoubleCy wartość zmiennoprzecinkowa z walutą (cena)
Soneta.Types.Currency kwota z walutą (wartości, płatności)
Soneta.Types.Percent procent (rabat, stawka)
Soneta.Types.Date data biznesowa
Soneta.Handel.StanDokumentuHandlowego stan cyklu życia dokumentu

Szablon wzorca

Każdy wzorzec (HANDEL-Wn) ma stałą strukturę:

  • Cel — co robi i kiedy go użyć.
  • Warianty — tabela odmian przypadku.
  • Pola i typy — realne właściwości/kolekcje i ich typy.
  • Snippet — kod C# 10 na publicznym kontrakcie.
  • Pułapki — typowe błędy i zasady safe-code.

Mapa receptur

Rozdział Plik Receptury
HANDEL01 — Fundamenty i identyfikacja handel/HANDEL01-fundamenty.md HANDEL-W1W3
HANDEL02 — Wystawianie dokumentów handel/HANDEL02-wystawianie.md HANDEL-W4W11
HANDEL03 — Stany dokumentu i cykl życia handel/HANDEL03-cykl-zycia.md HANDEL-W12W16
HANDEL04 — Relacje i generowanie dokumentów handel/HANDEL04-relacje.md HANDEL-W17W24
HANDEL05 — Odczyt i wyszukiwanie handel/HANDEL05-odczyt.md HANDEL-W25W30
HANDEL06 — Magazyn, zasoby, partie, obroty handel/HANDEL06-magazyn.md HANDEL-W31W39
HANDEL07 — Cechy (Features) handel/HANDEL07-cechy.md HANDEL-W40W42
HANDEL08 — VAT, wartości i waluty handel/HANDEL08-vat-waluty.md HANDEL-W43W47
HANDEL09 — Korekty i dokumenty specjalne handel/HANDEL09-korekty.md HANDEL-W48W52
HANDEL10 — Operacje zbiorcze (batch) handel/HANDEL10-batch.md HANDEL-W53W55
HANDEL11 — Operacje pomocnicze (przekrojowe) handel/HANDEL11-pomocnicze.md HANDEL-W56W61
HANDEL12 — Wydruki i raporty handel/HANDEL12-wydruki.md HANDEL-W62W66
HANDEL13 — Tematy specjalistyczne (KSeF, fiskalizacja, kompletacja, Intrastat) handel/HANDEL13-specjalistyczne.md HANDEL-W67W74
HANDEL14 — Płatności dokumentu handlowego handel/HANDEL14-platnosci.md HANDEL-W75W82

Powiązane dokumenty