Najpierw nazwij właściciela pojęcia i cyklu życia

Wygenerowany formularz nie ustala znaczenia, invariants, autorytetu, migracji, retencji, integracji ani raportowania. Kontrakt schematu musi je przypisać.

Krótka odpowiedź

Wybierz pole, encję konfigurowalną, moduł domenowy lub system zewnętrzny według własności i zachowania

Użyj pola dla atrybutu niskiego ryzyka na właściwym istniejącym rekordzie; encji konfigurowalnej dla prostego zarządzanego rejestru; modułu lub extension entity dla istotnego zachowania; a systemu zewnętrznego, gdy inny system jest właścicielem rekordu, a Open Mercato odwołuje się do niego lub go synchronizuje. Wygenerowane ekrany i storage nie zastępują projektu domeny.

Sprawdzono
2026-07-14
Bieżący kod
01911d00e28f44cf484d0b1d04860dcfef5370bf (v0.6.5-1202-g01911d00e)
Najnowszy tag i pakiet
v0.6.5 · 0.6.5

Ta metoda redakcyjna wspiera planowanie. Nie zapewnia kompletnego schematu, migracji, przeglądu bezpieczeństwa, akceptacji ładu danych ani odbioru produkcyjnego.

Stany dowodu i słownik menedżera

Oddziel dowody wydania, tę rewizję develop, warunki ścieżki, brak dowodu i szeroką narrację dokumentacji.

  • 1. released
  • 2. reviewed current develop
  • 3. pathway or implementation dependent
  • 4. not established
  • 5. documentation drift
  • system entity
  • ORM-backed domain entity
  • custom field
  • configurable entity
  • custom record
  • extension entity
  • definition
  • EAV
  • JSON document
  • field kind
  • fieldset
  • dictionary
  • relation
  • source of truth
  • schema owner
  • migration
  • backfill
  • compatibility
  • tombstone
  • stable key

Cztery kształty storage i ich konsekwencje

ORM table

Storage: Module-owned explicit schema and domain APIs

Znaczenie dla menedżera: Strong behavior and contracts; code, migration and module ownership required

EAV custom values

Storage: Definitions plus typed values extend an existing entity

Znaczenie dla menedżera: Low-risk attributes can follow the existing record lifecycle; consumers must integrate the entity id and field utilities

Custom entity JSON documents

Storage: Generic custom_entities_storage records plus definitions

Znaczenie dla menedżera: Useful for simple governed registers; generic CRUD does not provide domain behavior

Linked extension entity

Storage: A code-owned table links to another module entity

Znaczenie dla menedżera: Preserves module ownership for consequential data without altering another module table

Sama deklaracja ce.ts nie zapewnia storage generic custom record. Bieżąca klasyfikacja jest ORM-first: systemowe rekordy modułu pozostają w jego tabelach i API domenowym, a trasa generic records je odrzuca.

Inwentarz typów pól w bieżącym kodzie

Zapisz zastosowanie, cardinality single lub multiple, opcje lub zależność, wygenerowany edytor, format storage, filter, sort, search, export i przykład odbioru. Dostępność i parity zależą od ścieżki.

  • 1. text
  • 2. multiline
  • 3. integer
  • 4. float
  • 5. boolean
  • 6. select
  • 7. currency
  • 8. relation
  • 9. attachment
  • 10. dictionary
  • 11. date
  • 12. datetime

Macierz ścieżek konfiguracji

admin UI

  • entity registration: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • field definitions: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • defaults: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • validation: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • fieldsets: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • dictionaries: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • relations: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • encryption: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • indexing: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • lifecycle and migration: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).

authenticated API

  • entity registration: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • field definitions: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • defaults: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • validation: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • fieldsets: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • dictionaries: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • relations: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • encryption: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • indexing: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • lifecycle and migration: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).

entities CLI

  • entity registration: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • field definitions: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • defaults: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • validation: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • fieldsets: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • dictionaries: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • relations: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • encryption: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • indexing: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • lifecycle and migration: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).

code-first ce.ts

  • entity registration: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • field definitions: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • defaults: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • validation: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • fieldsets: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • dictionaries: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • relations: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • encryption: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • indexing: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • lifecycle and migration: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).

app or module code

  • entity registration: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • field definitions: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • defaults: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • validation: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • fieldsets: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • dictionaries: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • relations: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • encryption: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • indexing: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).
  • lifecycle and migration: zapisz jeden stan poparty źródłem (bieżący, częściowy, właściwy dla konkretnej zależności, zależny od wdrożenia, nieudostępniony albo niepotwierdzony).

UI, API, CLI, ce.ts i kod aplikacji nie udostępniają identycznych opcji. Bieżące wygenerowane powierzchnie obejmują metadata, opcjonalny sidebar, definicje, listę rekordów, formularze gdy są pola, search, filters, sort, export i API. Nie dostarczają automatycznie dashboardów, workflow, commands, approvals, notifications, transactions, specjalistycznych uprawnień, integracji, raportów uzgodnionych ani migracji. Strony CRUD pokazują pola tylko wtedy, gdy integrują entity id i utilities.

Macierz klasyfikacji

1. Use a custom field

An additional low-risk attribute belongs to an existing record with the right owner and lifecycle. Stop if it introduces a new independent object, consequential state or cross-record invariant.

  • ownership
  • lifecycle
  • state transitions
  • validation
  • relations
  • transactionality
  • permissions
  • volume
  • performance
  • integrations
  • reporting
  • migration
  • retention
  • maintenance

2. Use a configurable custom entity

A simple organization-scoped register is mostly create, view, edit, filter, search and export. Stop if generic permissions, JSON records or generated CRUD cannot satisfy the whole lifecycle.

  • ownership
  • lifecycle
  • state transitions
  • validation
  • relations
  • transactionality
  • permissions
  • volume
  • performance
  • integrations
  • reporting
  • migration
  • retention
  • maintenance

3. Build a domain module or extension entity

The object has transactions, state transitions, invariants, complex relations, specialist authority or a long-lived contract. Stop until code, operations, migrations and acceptance ownership are funded.

  • ownership
  • lifecycle
  • state transitions
  • validation
  • relations
  • transactionality
  • permissions
  • volume
  • performance
  • integrations
  • reporting
  • migration
  • retention
  • maintenance

4. Keep or reference an external authority

Another system must own specialist, regulated, high-scale or authoritative data. Stop until synchronization, identity, acknowledgement and reconciliation are defined.

  • ownership
  • lifecycle
  • state transitions
  • validation
  • relations
  • transactionality
  • permissions
  • volume
  • performance
  • integrations
  • reporting
  • migration
  • retention
  • maintenance

Zatrzymaj konfigurację przy niejasnym właścicielu, duplikacie pojęcia, nieznanym źródle, niestabilnym znaczeniu, wymaganej unikalności, regule cross-record, transakcji wieloetapowej, istotnym stanie, złożonej relacji many-to-many, specjalistycznym dostępie, dużym wolumenie zapisu, regulowanej retencji, zamrożonej historii lub nieplanowanej migracji.

Kontrakt schematu

Zdefiniuj znaczenie, właściciela, kompatybilność i dowód odbioru, zanim konfiguracja stanie się kontraktem.

  • 1. business question
  • 2. plain-language meaning
  • 3. business owner
  • 4. source of truth
  • 5. entity owner
  • 6. stable entity id and field key
  • 7. display label and translations
  • 8. data type
  • 9. cardinality
  • 10. required, default and null rule
  • 11. allowed values or dictionary
  • 12. validation rules
  • 13. cross-field and domain rules
  • 14. relation target and deletion behavior
  • 15. tenant and organization scope
  • 16. read roles
  • 17. write roles
  • 18. sensitivity and encryption
  • 19. search, filter and sort needs
  • 20. list and form needs
  • 21. indexing
  • 22. import, export and API consumers
  • 23. reporting grain
  • 24. history, audit and undo
  • 25. volume and retention
  • 26. migration and backfill
  • 27. compatibility
  • 28. change approver
  • 29. deprecation and removal
  • 30. reconciliation
  • 31. acceptance owner and evidence

Przykład strukturalny do adaptacji

Założenie: jeden abstrakcyjny kontrolowany atrybut należy do istniejącego rekordu. Jego key pozostaje stabilny, choć label, tłumaczenie i kolejność mogą się zmieniać. Kontrakt nadal wymaga typu, reguł null i empty, właściciela dictionary, zakresu, ról, importu, raportowania, backfill, uzgodnienia i dowodu usunięcia. Nie podano realnego key ani value.

Entity id, field key, label, tłumaczenie, kolejność i value to różne pojęcia. Keys są kontraktami integracyjnymi; rename jest decyzją migracyjną. Jawnie zdecyduj null kontra empty, single kontra multiple, defaults, units, currency, precision, date kontra datetime i timezone.

Wartości kontrolowane, relacje i walidacja

Static options, dictionaries i dynamic options wymagają właściciela źródła, aliases, tłumaczeń, polityki inline creation, retirement i historycznych labels. Relacje wymagają targetu, label field, cardinality, permission i scope targetu, zachowania missing target i delete, mapowania importu oraz testów search i API. Bieżące relation options mają limit 200; nazwane testy nie dowodzą każdej domeny targetu.

Bieżące reguły

  • required
  • date
  • integer
  • float
  • less than
  • less than or equal
  • greater than
  • greater than or equal
  • equal
  • not equal
  • regular expression

Niepotwierdzone przez generic validator

  • conditional requiredness
  • cross-field rule
  • cross-record rule
  • uniqueness
  • aggregate invariant
  • temporal invariant
  • external validation

Zapisy odrzucają undeclared keys i ograniczają obecne custom-field keys do 128. Fieldsets grupują prezentację lub warianty; nie są typami encji, schematami, granicami autoryzacji ani state machine cyklu życia.

Zakres, dostęp, usuwanie i concurrency

Definicje mogą rozwiązywać global, tenant i organization według specificity i czasu; scoped tombstones mogą ukryć inherited definitions, a restore może je ponownie ujawnić. Testuj wrong tenant, wrong organization, selected organization, global fallback, inherited fields i tombstones. Definition view/manage, granty generic record, features modułu targetu, relation lookup, ekran, CRUD, export, search, import i API key to oddzielne powierzchnie autoryzacji.

Pola, definicje encji i rekordy mają oddzielne soft-delete. Usunięta definicja encji może pozostawić zapisane rekordy. Opcjonalne expected-version headers mogą odrzucić stale edit schematu, encji i rekordu; bez version header bieżący additive locking może kontynuować. Testuj oddzielnie concurrent order pól, definition, metadata, update i delete rekordu.

Cykl zmiany schematu i szyfrowania

Zapisz discovery, kompatybilność, backfill, dual read lub write, walidację, uzgodnienie, rollback, komunikację i dowód retirement. entities install służy wyłącznie do synchronizacji deklaracji. Nie wykonuje ogólnej migracji danych ani destrukcyjnych schema diffs.

  • 1. additive field
  • 2. required or default change
  • 3. option change
  • 4. validation tightening
  • 5. type change
  • 6. key rename
  • 7. relation change
  • 8. encryption or scope change
  • 9. removal

Szyfrowanie wybranych pól chroni przyszłe zapisy przy działających tenant encryption services. Nie zapewnia szyfrowania całej bazy, kontroli dostępu, residency ani compliance. Istniejący plaintext wymaga resave lub backfill. Przetestuj KMS i fallback, rotację kluczy, deterministic hash lookup, search, sort, filter, indexes, exports, backups, logs, integrations i recovery.

Nazwij wejścia, właściciela, dowód, rollback i downstream consumers.

  1. 1

    propose

  2. 2

    classify

  3. 3

    model

  4. 4

    review

  5. 5

    configure or code

  6. 6

    install

  7. 7

    migrate or backfill

  8. 8

    validate

  9. 9

    publish

  10. 10

    monitor

  11. 11

    change

  12. 12

    deprecate

  13. 13

    retire

  • business concept owner
  • data owner
  • schema owner
  • domain or module owner
  • security and access approver
  • migration owner
  • integration owner
  • reporting owner
  • acceptance owner
  • change approver

Trzy syntetyczne decyzje modelowania

Wczytaj rekord strukturalny, aby sprawdzić shape, uzasadnienie, fragment kontraktu, dowód, eskalację i stop bez danych klienta.

Wyłącznie hipotetyczny

Synthetic controlled customer attribute

Wyłącznie hipotetyczny

Synthetic organization equipment register

Wyłącznie hipotetyczny

Synthetic consequential regulated object

Narzędzie lokalne

Rejestr decyzji modelu danych

Zaczyna pusty i pozostaje lokalnie w tej przeglądarce. Użyj kompletnego rekordu do planowania. Rejestr nie zatwierdza schematu ani nie akceptuje migracji.

Nie wpisuj danych rzeczywistych: Używaj wyłącznie etykiet strukturalnych. Nie wpisuj realnych pojęć firmy, field keys, values, danych osobowych, credentials, id tenantów lub organizacji, wrażliwych klasyfikacji, produkcyjnych URL ani skopiowanych schematów.

Prywatność: Strona nie wysyła treści arkusza i nie zapisuje jej w adresie URL ani w plikach cookie.

Postęp pól wymaganych: Nie rozpoczęto (0/22). Ta liczba śledzi uzupełnienie pól. Nie ocenia dopasowania ani gotowości.
Pozycja 1

Pakiet odbioru i rozróżnienie stanów

Uwzględnij wejście normalne, graniczne, awaryjne i adversarial, zakres, autorytet, wynik, dowód, sprzątanie, właściciela i powtarzalne kryterium pass.

  • 1. create
  • 2. read
  • 3. update
  • 4. delete
  • 5. required, default and null
  • 6. every used kind
  • 7. multiple values
  • 8. validation
  • 9. static options
  • 10. dictionary
  • 11. relations
  • 12. fieldsets
  • 13. tenant and organization scope
  • 14. definition ACL
  • 15. record ACL
  • 16. search
  • 17. filter
  • 18. sort
  • 19. export
  • 20. encryption
  • 21. concurrency
  • 22. representative volume
  • 23. history
  • 24. audit and undo
  • 25. import
  • 26. API and integrations
  • 27. schema change
  • 28. backfill
  • 29. rollback
  • 30. entity deletion with surviving records
  • 31. tombstone and restore
  • 32. downstream schema refresh
  • empty value
  • invalid type
  • undeclared key
  • more than 128 present custom-field keys
  • duplicate business identifier
  • deleted option
  • missing relation target
  • wrong scope
  • denied role
  • stale version
  • KMS unavailable
  • old plaintext value
  • spreadsheet-formula prefix
  • high volume
  • downstream stale schema

Pokazuj i testuj ten stan niezależnie od stanów empty i unavailable.

  • field absent
  • field hidden
  • field denied
  • definition inactive
  • definition tombstoned
  • dependency unavailable
  • record empty
  • record deleted
  • true null
  • true zero or false

Przed twierdzeniem, że search, filter, sort, list, export lub relation selectors pasują do skali, wymagane są testy na reprezentatywnym wolumenie.

Zatrzymaj lub odłóż

  • unclear business concept.
  • no accountable owner.
  • unsettled tenant or organization scope.
  • unknown source authority.
  • unresolved security or sensitivity.
  • incompatible downstream consumers.
  • missing migration and rollback.
  • untestable history or retention.
  • consequential domain forced into generic storage.

Praktyczne pytania

Kiedy wystarczy pole własne?

Pole własne służy do dodania atrybutu istniejącego rekordu. Osobna tożsamość, proces, uprawnienia lub relacje mogą wymagać encji własnej albo modułu przygotowanego przez programistę.

Czy można później zmienić typ lub klucz pola?

To zmiana modelu danych. Sprawdź zapisane wartości, importy, filtry i integracje, a potem przećwicz konwersję oraz wycofanie. Zmiana etykiety nie przenosi odwołań na inny klucz.

Czy szyfrowanie pola zastępuje kontrolę dostępu?

Szyfrowanie wybranych pól wymaga konfiguracji i działających usług szyfrowania tenantu. Starsze dane mogą wymagać ponownego zapisu. Uprawnienia, eksporty, indeksy wyszukiwania i logi trzeba sprawdzić osobno.

Czy usunięcie definicji encji usuwa jej rekordy?

Definicje, pola i rekordy mają odrębną obsługę usuwania logicznego w opisanym kodzie. Zaplanuj porządkowanie danych, okres przechowywania i odtwarzanie. Jedna operacja usunięcia nie gwarantuje usunięcia wszystkich kopii.

Źródła

Zgłoś korektę