Skip to main content

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
}
}
}
}