Hoe je INVALID_FIELD_FOR_INSERT_UPDATE in Salesforce-implementaties oplost
De implementatie probeert te schrijven naar een veld dat niet beschrijfbaar is, zoals een formuleveld of een veld dat de uitvoerende gebruiker niet mag bewerken.
Komt voor tijdens: DML op compile-time of runtime, meestal binnen een Apex-testWat het betekent
INVALID_FIELD_FOR_INSERT_UPDATE betekent dat een DML-bewerking, meestal binnen een Apex-test, een waarde probeerde in te stellen op een veld dat niet rechtstreeks beschreven kan worden. Dit gebeurt bij formulevelden, roll-upsamenvattingen en systeemvelden, en ook wanneer Field-Level Security een veld alleen-lezen maakt voor het profiel dat de bewerking uitvoert.
Voor werkelijk niet-beschrijfbare velden zoals formules onderschept Apex dit al bij het compileren als de SObject-literalsyntaxis wordt gebruikt; bij beperkingen door Field-Level Security komt het pas bij runtime aan het licht, omdat dezelfde code voor het ene profiel kan slagen en voor het andere kan mislukken.
Veelvoorkomende oorzaken
De oplossing
- Verwijder de directe schrijfactieVerwijder de regel testsetupcode die een waarde toewijst aan het formule-, roll-up- of systeemveld.
- Verleen bewerkingstoegang als het veld beschrijfbaar moet zijnWerk Field-Level Security bij op het profiel of de permissieset die voor de implementatie wordt gebruikt, als het veld daadwerkelijk bewerkbaar moet zijn.
- Controleer wijzigingen in veldtypeDoorzoek na het omzetten van een veld naar een formule de codebase op directe DML-schrijfacties ernaartoe en verwijder ze.
grep -rn "Amount_Rollup__c\s*=" force-app/main/default/classes/
Hoe Serpent dit voorkomt
Serpent AI signaleert verschillen in Field-Level Security tussen omgevingen al tijdens de preflight-controle, voordat ze als runtimefout naar voren komen. Zie de bibliotheek met Salesforce-implementatiefouten.

Preventie
Gerelateerde fouten
INVALID_FIELD_FOR_INSERT_UPDATE, uitgelegd
Begin gratis. Geen creditcard, geen installatie, geen verplichtingen.
In minder dan 15 minuten ingericht. Geen DevOps-aanwerving nodig.
