Facturation d'un bon de livraison (API)

De Wiki1000

Facturation d'un bon de réception

Dans cet exemple nous créons la pièce de facturation associée à un bon de livraison et récupérons le numéro de facture associé

Le bon de réception est identifié par son numéro de pièce.

POST http://localhost:8080/sdata/S1/$batch
body :
{
    "$resources": [
        {
            "$httpMethod":"GET",
            "$url":"gcmouvement/TPieceLivraisonAchat(noPiece eq 'BR DEP000043')",
            "$uuid":"bonlivraison",
            "$select":"oid"
        },
        {
            "$httpMethod":"EXEC",
            "$url":"gctraitementmvt/TProcessusGenerationFactureAchat/factureDirecteBL",
            "$uuid":"processus",
            "$parameters": {
               "aOidBL":{"$uuid":"bonlivraison"}
            }   
        },    
        {
            "$httpMethod":"GET",
            "$url":"gcmouvement/TPieceFacturationAchat(referencePiece eq 'BR DEP000043')",
            "$select":"noPiece",
        },
    ]
}
Response : 200 OK
{
    "$baseUrl": "http://localhost:8080/sdata/-/-/",
    "$title": "$batch - -",
    "$resources": [
        {
            "$httpStatus": 200,
            "$httpMethod": "GET",
            "$httpMessage": "OK",
            "$etag": "1B28EFFFF1C30002039D000002A50015-0000024700000019",
            "$key": "1B28EFFFF1C30002039D000002A50015",
            "$url": "http://localhost:8080/sdata//TPieceLivraisonAchat('1B28EFFFF1C30002039D000002A50015')",
            "$uuid": "bonlivraison",
            "stamp": "0000024700000019",
            "$milliseconds": "4,5355"
        },
        {
            "$httpStatus": 200,
            "$httpMethod": "EXEC",
            "$httpMessage": "Executed",
            "$url": "gctraitementmvt/TProcessusGenerationFactureAchat/factureDirecteBL",
            "$uuid": "processus",
            "$milliseconds": "1052,8964",
            "$messages": [
                "Création de la facture N° FF ETS000049",
                "Temps écoulé : < 1 seconde",
                "Temps écoulé : < 1 seconde",
                "Temps écoulé : < 1 seconde"
            ]
        },
        {
            "$httpStatus": 200,
            "$httpMethod": "GET",
            "$httpMessage": "OK",
            "$etag": "1B28EFFFF1C30002006D000002A5001C-0000024700000028",
            "$key": "1B28EFFFF1C30002006D000002A5001C",
            "$url": "http://localhost:8080/sdata//TPieceFacturationAchat('1B28EFFFF1C30002006D000002A5001C')",
            "stamp": "0000024700000028",
            "noPiece": {
                "value": "FF ETS000049",
                "CounterName": "FF"
            },
            "$milliseconds": "2,1653",
            "$messages": [
                "Création de la facture N° FF ETS000049",
                "Temps écoulé : < 1 seconde",
                "Temps écoulé : < 1 seconde",
                "Temps écoulé : < 1 seconde"
            ]
        }
    ]
}
Tip-20px.png Tip : Il s'agit d'une simplification car une pièce de réception peut avoir plusieurs factures associées, chaque ligne de réception est en fait associée à une ligne de facturation dont les factures peuvent être différentes

Récupération des factures d'achat associées à une pièce de réception

Dans cet exemple la pièce de réception est identifiée par son numéro de pièce

GET http://localhost:8080/sdata/tdetaillivraison?select=detailfacture.+piecefacturation.nopiece&where=piecelivraison.noPiece eq 'BR DEP000043'
Response : 200 OK
{
    "$baseUrl": "http://localhost:8080/sdata/gcmouvement/",
    "$title": "TDetailLivraison - -",
    "$updated": "2021-02-17T14:59:25.350Z",
    "$resources": [
        {
            "$url": "TDetailLivraison('1B28EFFFF1C30002027A000002A50004')",
            "$title": "1B28EFFFF1C30002027A000002A50004",
            "$updated": "2021-02-17T14:57:23.000Z",
            "$etag": "1B28EFFFF1C30002027A000002A50004-000002470000002B",
            "$shareId": "1B28EFFFF1C30002000300000003000B",
            "$shareInfo": "S1",
            "$shareLevel": 2,
            "$key": "1B28EFFFF1C30002027A000002A50004",
            "stamp": "000002470000002B",
            "noPiece": {
                "value": "FF ETS000049",
                "CounterName": "FF"
            }
        },
        {
            "$url": "TDetailLivraison('1B28EFFFF1C30002027A000002A5000B')",
            "$title": "1B28EFFFF1C30002027A000002A5000B",
            "$updated": "2021-02-17T14:57:23.000Z",
            "$etag": "1B28EFFFF1C30002027A000002A5000B-0000024700000031",
            "$shareId": "1B28EFFFF1C30002000300000003000B",
            "$shareInfo": "S1",
            "$shareLevel": 2,
            "$key": "1B28EFFFF1C30002027A000002A5000B",
            "stamp": "0000024700000031",
            "noPiece": {
                "value": "FF ETS000049",
                "CounterName": "FF"
            }
        }
    ]
}
Tip-20px.png Tip : Cet appel retourne une ressource par détail livraison
Outils personnels