---
title: "SurfaceCompositionBindings · types"
url: https://developers.dagio.ai/fr/reference/types-surface-composition-bindings/
---

# SurfaceCompositionBindings · types

   
                                           
                                                                                    
                                                    
                  
           
          
   

Les types ci-dessous définissent les objets nommés et leurs relations. Les propriétés héritées sont incluses dans les tableaux. Les types dérivés d’un schéma renvoient à sa structure; une déclaration TypeScript ne remplace pas les contrôles sémantiques du compilateur.

## SurfaceCompositionQueryBinding

The runtime session resolves this declaration to its exact native read context.

```typescript
export type SurfaceCompositionQueryBinding = z.infer<typeof surfaceCompositionQueryBindingSchema>;
```

## SurfaceCompositionModelReferences

Native Model validation produces these facts; this package neither parses a Model nor grants access.

| Champ | Options / valeurs attendues | Description |
| --- | --- | --- |
| `workExperiences` | `readonly { readonly key: string; readonly defaultSectionKey: string; readonly sections: readonly { readonly key: string; readonly bindingKeys: readonly string[]; }[]; readonly bindings: readonly ({ readonly key: string; readonly kind: "query-view" \| "native-document" \| "sources" \| "flow-inspection"; readonly scope: "rootWork" \| "selectedStage" \| "retainedTarget"; } \| { readonly key: string; readonly kind: "action"; readonly scope: "rootWork" \| "selectedStage" \| "retainedTarget"; readonly actionKey: string; } \| { readonly key: string; readonly kind: "consolidation"; readonly scope: "rootWork" \| "selectedStage" \| "retainedTarget"; readonly profileKey: string; } \| { readonly key: string; readonly kind: "criteria"; readonly scope: "rootWork" \| "selectedStage" \| "retainedTarget"; readonly lifecycleKey: string; readonly stateValue: string; })[]; }[]` | **Requis.** Définit « work Experiences » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `records` | `readonly { readonly key: string; readonly definitionPaths: readonly string[]; readonly settingsFieldPaths: readonly string[]; readonly metricKeys: readonly string[]; readonly relatedGroupKeys: readonly string[]; readonly tags: boolean; readonly contentKinds: readonly string[]; }[]` | **Requis.** Définit « records » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `fields` | `readonly { readonly recordProfileKey: string; readonly fieldPath: string; readonly type: string; readonly repeatable: boolean; readonly formKey: string; readonly controlKey: string; readonly placement: "surface" \| "settings"; }[]` | **Requis.** Définitions ou sélections de valeurs typées dans le contexte parent. |
| `queries` | `readonly { readonly placement: SurfaceCompositionQueryBinding; readonly queryKey: string; readonly viewKind: string; readonly definitionPaths: readonly string[]; }[]` | **Requis.** Lectures nommées avec sources, paramètres et opérations admises. |
| `actions` | `readonly { readonly key: string; readonly definitionPaths: readonly string[]; }[]` | **Requis.** Opérations applicatives que les vues peuvent proposer selon le contexte et les droits. |
| `icons` | `Géré par Surface; fourni par les outils du Model.` | **Requis.** Définit « icons » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |

[Toutes les références](https://developers.dagio.ai/fr/reference/)

<!-- surface-examples:start -->

## Exemples appliqués : Les soumissions du client courant

La Query déclare clientId; le binding fournit l’identité de la fiche ouverte.

### Configuration

Fragment à placer dans `queries[]`. [Propriétés et valeurs admises](https://developers.dagio.ai/fr/reference/workspace-model-foundation/).

```json
{
  "contract": "WorkspaceQuery@1",
  "key": "client-quotes",
  "label": "Soumissions du client",
  "spaceKeys": [
    "quotes"
  ],
  "definitionPaths": [
    "workspace/quotes/surface/quote"
  ],
  "parameters": [
    {
      "key": "clientId",
      "type": "node-id",
      "required": true
    }
  ],
  "predicates": [],
  "relations": [
    {
      "linkTypePath": "application/client",
      "direction": "outgoing",
      "parameterKey": "clientId",
      "distinct": true
    }
  ],
  "orderBy": [
    {
      "fieldKey": "updatedAt",
      "direction": "descending"
    }
  ],
  "aggregate": "none",
  "pageSize": 25,
  "maximumDepth": 1
}
```

### Variante et raccordement

Fragment à placer dans `presentation.recordProfiles[].queryBindings[]`. [Propriétés et valeurs admises](https://developers.dagio.ai/fr/reference/workspace-record-query-binding/).

```json
{
  "key": "client-quotes",
  "queryKey": "client-quotes",
  "parameters": {
    "clientId": {
      "kind": "entity-id",
      "definitionPath": "workspace/clients/surface/client"
    }
  }
}
```

### Exemple de disposition UI

La disposition illustrative ci-dessous situe cette configuration dans l’app Clients/Soumissions. Chaque fragment s’insère à l’emplacement indiqué; ses références aux Fields, Queries et Actions correspondent aux déclarations du Model.

1. Numéro
2. État
3. Montant
4. Dernière mise à jour

<!-- surface-examples:end -->
