quote → cash
FR/EN Contact

Dépannage·Avancé·4 min·Mis à jour le 05/10/2026

Note de terrain · Taxe

« No such column » alors que la colonne existe

Une classe Apex figée sur une version d’API ancienne ne voit pas les champs ajoutés dans une version plus récente — même en SOQL dynamique.

Salesforce docs documenté par SalesforceTerrain constaté sur une vraie orgRecommandé ce que nous recommandonsÀ vérifier non vérifié

Un adaptateur fiscal interrogeait l’objet de taux sur un code postal et un code produit. La requête répondait No such column. Les champs étaient visibles au describe de l’objet, présents dans l’interface, et renseignés.

La cause était la version d’API de la classe Apex. Ces deux champs n’existent qu’à partir de l’API 66.0. Une classe enregistrée sur une version antérieure ne les voit pas, et le SOQL dynamique n’échappe pas à la restriction — ce qui rend l’affaire coûteuse, puisque construire la requête sous forme de chaîne est exactement ce qu’on essaie ensuite.

Le signal à reconnaître : un champ qui existe partout sauf à l’intérieur d’une classe Apex. Vérifiez la version d’API de la classe avant de toucher à la requête.

Ça va de pair avec un piège de la même famille : un champ custom fraîchement déployé est invisible à SOQL et à Apex tant que la FLS n’est pas accordée, et SOQL répond « No such column » pour ça aussi — ce qui se lit exactement comme un échec de déploiement.

Ressources Salesforce