Commit Graph

1 Commits

Author SHA1 Message Date
E98Developer
3cfaa6c9d5 FIX EV3-357 rich text cellák kezelése az árlista beolvasásban
A d2d-n a megrendelő fájljának megnyitásakor a sorok táblája eltört:
TextColumn::getDescriptionBelow(): Return value must be of type
Htmlable|string|null, array returned.

Nem UI-hiba volt, hanem adatvesztés. Ha egy cellán belül több formázású
szövegrész van (pl. a terméknév egy része félkövér), a PhpSpreadsheet
getValue()-ja RichText objektumot ad vissza. A json_encode ezt ÜRESRE
serializálja (a szövegrészek protected propertyben vannak), így a payloadba
{} kerül, ami visszaolvasva üres tömb - a cella tartalma nyomtalanul eltűnt,
a felület pedig tömböt kapott string helyett.

- normalizeCellValue(): a cella értéke a payloadba kerülés ELŐTT skalárrá
  alakul (RichText -> getPlainText, dátum -> szöveg, tömb -> összefűzött
  szöveg, __toString-es objektum -> string)
- LinesRelationManager::payloadText(): a MÁR ELMENTETT rekordokban maradt
  tömbök nem törhetik el a nézetet - a beolvasási javítás azokat
  visszamenőleg nem gyógyítja meg
- isBlankPayloadValue(): a kötelező mező ellenőrzése is_string() alapú volt,
  ezért az üres tömböt KITÖLTÖTTNEK látta - egy elveszett terméknév némán
  átment a validáláson. Ugyanez a védelem a Hooreyca-blokk vizsgálatában és a
  végrehajtás mezőkonverziójában is (utóbbi különben szó szerint "Array"
  néven hozta volna létre a terméket).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-24 13:51:11 +02:00