...
...
...
...
Table of Contents |
---|
Fonctionnalité
Les buffers servent à protéger un certain nombre d'unités 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.
Info |
---|
Application par type de stockLes buffers peuvent être appliques de manier globale ou par endpoint, par contre, leur application est toujours ouverte par type de stock. Il n'y a pas une application unifiée qu'englobe plusiers types de stock à la fois. Example : S'il y a un buffer glob de 2 pour le type de stock on_hand et un autre de 3 pour le type de stock ASN, quand les buffers sont appliques de manier global, leur application corresponde à la sum de l'application globale pour on_hand + l'application global pour l'ASN. |
...
Tout buffer à un buffer_group
auquel il appartient et que permet lui faire référence depuis une requete de stock.
...
...
Buffer groups dans requête de stock
Code Block | ||
---|---|---|
| ||
{ "aggregates": { "0": { "deduction": { "endpoint_buffer": [ "FR", "IT" ], "global_buffer": [ "stores_FR" ] } } } } |
...
Les plus simple de buffers, correponde a une nombre de unites bufférisés pour un couple item_id
, endpoint_id.
endpoint_id | item_id | qty | buffer_group |
---|---|---|---|
store_1 | i1 | 2 | FR |
store_1 | i1 | 3 | US |
Declaration avec key requests
Très similaire aux buffers en dur, mais plus flexibles. Ils permettent de indiquer des filtres pour prendre en compte de manier dynamique des endpoints et items.
endpoint_id | item_id | qty | buffer_group |
---|---|---|---|
endpoint_type = store AND address.region.country.code = FR | * | 9 | FR |
endpoint_type = warehouse | * | 12 | WORLD |
Buffer Global
Permet affecter un buffer de manier global, donc sans renseigner de filtrage sur les endpoints affecté. Si un filtre endpoint est declaré il sera ignoré. Permet buffériser une nombre de unites a niveau global.
item_id | qty | buffer_group |
---|---|---|
category = "bebe" | 9 | FR |
* | 12 | WORLD |
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
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
Info | |
---|---|
title | DetailleStock par endpoint => MAX( RawStock - ResEndpoint - Dispositions - MAX ( BufDur, BufEndpoint ) , 0 ) |
Avec unification endpoint
...
title | Unifie |
---|
...
endpoint
...
Code Block |
---|
MIN( SUM( MAX_par_endpoint( RawStock - ResEndpoint - Dispositions - MAX(BufDur, BufEndpoint), 0 ) ), SUM(RawStock - ResEndpoint - Dispositions) - BufGlob ) |
...