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>
|
||
|---|---|---|
| .. | ||
| Deployment | ||
| AdminLoginTest.php | ||
| CurrentPricePageTest.php | ||
| DeliveryCalendarServiceTest.php | ||
| ExampleTest.php | ||
| FeatureFlagAdminUiTest.php | ||
| FeatureFlagOverrideUiTest.php | ||
| FeatureFlagTest.php | ||
| PricelistApprovalTest.php | ||
| PricelistColumnMappingTest.php | ||
| PricelistExecutionTest.php | ||
| PricelistGuardTest.php | ||
| PricelistRevertTest.php | ||
| PricelistRichTextTest.php | ||
| WorkCalendarServiceTest.php | ||