Requêter et filtrer les bordereaux Bsda, Bsdasri, Bsff et Bsvhu
Les bordereaux Bsda, Bsdasri, Bsff et Bsvhu, ont bénéficié des retours utiilisateurs et proposent des filtres de requêtes puissants.
Veuillez noter que les Bsdd (requête forms) ne disposent pas des mêmes filtres.
Pour une documentation exhaustive, veuillez consulter la référence des requêtes de chaque bordereau, par exemple la requête bsdasri.
Les exemples suivants portent sur les dasris, mais sont aisément transposables aux autres bordereaux. Ils ne prétendent pas avoir un intérêt métier particulier, mais simplement expliciter la syntaxe de requête.
Filtres simples
Sur l'état de brouillon (boolean)
Renvoie les dasris non brouillons.
query {
bsdasris(where: { isDraft: false }) {
edges {
node {
id
}
}
}
}
Sur un statut
Renvoie les dasris SENT.
query {
bsdasris(where: { status: {_eq : SENT} }) {
edges {
node {
id
}
}
}
}
Egalité stricte : Sur le siret d'un producteur
Renvoie les dasris dont le siret de l'émetteur est "UN-SIRET".
query {
bsdasris(where: { emitter : {company : {siret : {_eq: "UN-SIRET"}}} }) {
edges {
node {
id
}
}
}
}
Filtres temporels
Les opérateurs et formats de date acceptés sont documentés dans la référence de DateFilter.
Renvoie les dasris dont la date de création est égale ou postérieure au 23/11/2021.
query {
bsdasris(where: { createdAt: { _gte: " 2021-11-23" } }) {
edges {
node {
id
}
}
}
}
Filtre d'appartenance
Il est possible de filtrer certains champs sur un tableau de valeurs.
Sur les statuts
Renvoie les dasri en statut INITIAL ou SENT.
query {
bsdasris(where: { status: { _in: [SENT, INITIAL] } }) {
edges {
node {
id
}
}
}
}
Sur des identifiants
Renvoie les dasris dont l'identifiant vaut "DASRI-123" ou "DASRI-456".
query {
bsdasris(where: { id: { _in: ["DASRI-123", "DASRI-456"] } }) {
edges {
node {
id
}
}
}
}
Filtres combinés
Il est possible de combiner des filtres avec _and, _or, _not. L'imbrication de tels opérateurs est néanmoins limitée.
Not (_not)
Renvoie les dasris non SENT
query {
bsdasris(where: { _not: { status: { _eq: SENT } } }) {
edges {
node {
id
}
}
}
}
And implicite
Renvoie les dasris INITIAL non brouillons.
query {
bsdasris(where: { isDraft: false, status: { _eq: INITIAL } }) {
edges {
node {
id
}
}
}
}
Or (_or)
Renvoie les dasris dont la date de création est égale ou postérieure au 03/05/2022 ou dont le statut est PROCESSED.
query {
bsdasris(
where: {
_or: [
{ createdAt: { _gte: "2022-05-03" } }
{ status: { _eq: PROCESSED } }
]
}
) {
edges {
node {
id
updatedAt
}
}
}
}
And (_and)
Renvoie les dasris dont la date de création est égale ou postérieure au 03/05/2022, dont le statut est INITIAL et non brouillon.
query {
bsdasris(
where: {
createdAt: { _gte: "2022-05-03" }
_and: [{ status: { _eq: INITIAL } }, { isDraft: false }]
}
) {
edges {
node {
id
updatedAt
}
}
}
}