Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Fonctionnalité 

Les buffers servent à protéger un certain nombre d'unites de stock. Le cas le plus commun d'utilisation est de protéger quelques unités (2-3) du stock sur le stock vendable global, pour ainsi mitiger la désynchronisation entre les ventes en magasin et les ventes en ligne.

Buffer groups

Tous buffer à un buffer_group au quel il appartient et que permet lui faire référence depuis une requete de stock

Buffer groups dans requête de stock
{
    "aggregates": {
        "0": {
            "deduction": {
                "endpoint_buffer": [
                    "FR",
					"IT"
                ],
                "global_buffer": [
					"stores_FR"
                ]
            }
        }
    }
}

Types de Buffers

Ils existe deux types de buffers, le buffers endpoint et le buffers global. Le premier seront assigne et déduit a niveau endpoint, le deuxieme seront assigne sans un notion d'endpoint et seront déduit un fois l'endpoints ont été agrégé. Comme resultat, le buffers global sont prise en compte seulement dans le requete de stock avec d'unification par endpoint.

Buffer endpoint

Buffer en dur

Les plus simple de buffers, correponde a une nombre de unites bufférisés pour un couple item_id , endpoint_id.

endpoint_iditem_idqtybuffer_group
store_1i12FR
store_1i13US

Buffer endpoint

Tres similar au buffers en dur, mais plus flexibles. Ils permettent de indiquer des filtres pour prendre en compte de manier dynamique des endpoints et items.

endpoint_iditem_idqtybuffer_group
endpoint_type = store AND address.region.country.code = FR*9FR
endpoint_type = warehouse *12WORLD

Buffer Global

Permet affecter un buffer de manier global, donc sans renseigner de filtrage sur les endpoints affecté. Permet buffériser une nombre de unites a niveau global.

item_idqtybuffer_group
category = "bebe"9FR
*12WORLD

Structure d'un buffer

Signature API

Routes BIP - Buffer Inventory Processor

  • item_filter: Si nil, s'applique à tous les items
    • id (string) : item_id sur le quel le buffer serai appliqué (buffer en dur)
    • request_name (string) : Permet appliquer le buffer a un request de items (tous les items avec un certain catégorie). Doit être vide si id est set
  • endpoint_filter:  Si nil, s'applique à tous les endpoints
    • id (string) : endpoint_id sur le quel le buffer serai appliqué (buffer en dur)
    • request_name (string) : Permet appliquer le buffer a un request de endpoints (tous endpoints du type store). Doit être vide si id est set
  • stock_type (string) : required type de stock sur lequel le buffer est appliqué.
  • global (bool) : true dans le cas d'un buffer global, false sinon.
  • buffer_group (string) : required buffer group au quel appartient le buffer, permet lui fair référence dans une requete de stock..
  • qty (int) : required nombre de unites bufférisés. 

Impact des buffers sur le calcul de stock

Prise en compte dans le requêtes de stock

Les buffers globals/endpoints que sont appliques dépende de la configuration des requêtes de stock. Dans la requete de stock on liste les buffers groups - les groups dans lesquels les buffers sont reparties - que doive être prise en compte. S'il y a 3 buffers globales configures pour une même clé de stock, et le but se d'appliquer arbitrairement 1 de ces 3. Il suffit de les repartir dans 3 buffers groups différents, et d'indiquer QUE 1 seul dans la requête de stock.

Calcul

Quand les buffers sont prise en compte dans un requete de stock, le calcul de stock disponible ce fait comme suit : 

Sans unification endpoint

Detaille

MAX( RawStock - ResEndpoint - Dispositions - MAX ( BufDur, BufEndpoint ) , 0 )

Avec unification endpoint

Unifie

MIN( SUM (MAX( RawStock - ResEndpoint - Dispositions - MAX ( BufDur, BufEndpoint ) , 0 ) ) , SUM (RawStock - ResEndpoint - Dispositions ) - BufGlob)


  • No labels