lint(standard): corrections completes mode standard

- Em dashes: 1712 remplaces par tirets simples (86 fichiers + _index.md,
  en-tete section Limagrain conserve)
- Checklists: 24 '- [ ]' -> '- ☐' (3 pages operations, plus de todos Obsidian)
- Ancres: 33 reparees (slugs GitHub + ancres HTML <a id> reconnues),
  1 reciblee (manuel de reten)
- related: tenseflow -> tense-flow, pie -> mechanical-elements,
  group.md retire (doublon shipping)
- Registre: compteur global 122 -> 131 pages
- Rapport racine _lint_report.md mis a jour (scan v2 + re-scan final: 0 anomalie)
- Aucun fichier limagrain/ modifie (cloisonnement)
This commit is contained in:
2026-07-20 13:01:21 +02:00
parent 7496aafe64
commit 9ce6ae37be
88 changed files with 1769 additions and 1871 deletions
+32 -32
View File
@@ -48,7 +48,7 @@ last_compiled: "2026-04-17"
## Overview
An **item** is the primary static master data element in Easy WMS. It represents each distinct product that an organization manages in its warehouse. Almost every WMS behavior reception, putaway, picking, shipping, counting, replenishment is governed by item configuration.
An **item** is the primary static master data element in Easy WMS. It represents each distinct product that an organization manages in its warehouse. Almost every WMS behavior - reception, putaway, picking, shipping, counting, replenishment - is governed by item configuration.
A critical distinction: the **item** is the master definition (SKU, attributes, rules), while **stock** is the physical instance of that item (a quantity of that item in a specific location/container with specific logistic attributes). The same item code can have stock across many locations simultaneously. Multiple owners can also hold stock of the same item code.
@@ -72,9 +72,9 @@ Item families define mixing restrictions for **client containers** (containers b
Use case: prevent mixing refrigerated and ambient items in the same outbound parcel.
When the **Multi-Carrier module** is active, item families also carry a **packaging method** that controls how the carrier call is generated:
- `Scan all items` operator scans each item into a parcel
- `Choose parcel count` operator declares how many parcels; system moves all stock into parcel 1 (no automatic weight)
- `1 parcel always` no operator input; system assumes single-parcel shipment (for high-volume B2C)
- `Scan all items` - operator scans each item into a parcel
- `Choose parcel count` - operator declares how many parcels; system moves all stock into parcel 1 (no automatic weight)
- `1 parcel always` - no operator input; system assumes single-parcel shipment (for high-volume B2C)
The most restrictive method in an order takes precedence (Scan > Choose > 1 parcel).
@@ -87,7 +87,7 @@ The ABC classification indicates the rotation/activity level of an item relative
Used in slotting optimization and putaway strategy rules to position items strategically.
**Operating principles.** The higher the class's movement threshold, the more important it is (A > B > C). Articles with the most movements are classified in the highest class. **Thresholds represent cumulative movement share** an A article = top 50%, a B = top 80% (50+30), etc.
**Operating principles.** The higher the class's movement threshold, the more important it is (A > B > C). Articles with the most movements are classified in the highest class. **Thresholds represent cumulative movement share** - an A article = top 50%, a B = top 80% (50+30), etc.
When an article straddles two classes, the `Type de calcul` chosen at evaluation decides :
@@ -103,16 +103,16 @@ When an article straddles two classes, the `Type de calcul` chosen at evaluation
**First assignment.** On first setup, every article is set to the **lowest rotation class**. This should be done in the article-base import ; when a new article is later created, this field must be populated manually.
**ABC evaluation (runtime)** `Tableaux de Bord → Evaluation ABC` (recent versions). Parameters :
- **Date** `Start-end date` or `By number of day`
- **Mouvements** task types to include (at least one required)
- **Type de calcul** `Inclusive` or `Exclusive`
**ABC evaluation (runtime)** - `Tableaux de Bord → Evaluation ABC` (recent versions). Parameters :
- **Date** - `Start-end date` or `By number of day`
- **Mouvements** - task types to include (at least one required)
- **Type de calcul** - `Inclusive` or `Exclusive`
Execute then **refresh the grid** to see the results. Results persist until the next evaluation.
**Reading the result grid :**
- **Red lines** article is **over-rated** vs. the evaluation (its stored class is more important than measured activity).
- **Green lines** article is **under-rated** (measured activity higher than stored class).
- **Red lines** - article is **over-rated** vs. the evaluation (its stored class is more important than measured activity).
- **Green lines** - article is **under-rated** (measured activity higher than stored class).
- Conforming articles are not listed.
The classification can be edited inline from the evaluation grid.
@@ -121,7 +121,7 @@ The classification can be edited inline from the evaluation grid.
## Units of Measure (UoM)
Every item must have a **base UoM** the reference unit for all conversions. All stock quantities are stored and reported in the base UoM.
Every item must have a **base UoM** - the reference unit for all conversions. All stock quantities are stored and reported in the base UoM.
Additional **conversions and presentations** (EAN/GTIN presentations) define the commercial packaging:
- Each conversion specifies the quantity of base UoM it contains (e.g., BOX12 = 12 units)
@@ -160,13 +160,13 @@ Logistic attributes are characteristics that condition the logistic behavior of
### Creating a logistic attribute without a capture mode
By default, every logistic attribute requires a capture mode (manual, scan, etc.). In some custom flows the attribute must be **auto-generated by code** (e.g., serial number generated server-side) and therefore must exist **without** any capture mode otherwise SmartUI / RFT will always prompt the operator.
By default, every logistic attribute requires a capture mode (manual, scan, etc.). In some custom flows the attribute must be **auto-generated by code** (e.g., serial number generated server-side) and therefore must exist **without** any capture mode - otherwise SmartUI / RFT will always prompt the operator.
> ⚠️ Once configured this way, the attribute value can no longer be edited from SmartUI or RFT without a custom the only writer is the custom code that creates the stock.
> ⚠️ Once configured this way, the attribute value can no longer be edited from SmartUI or RFT without a custom - the only writer is the custom code that creates the stock.
**Procedure** (requires Admin role + Run Command access):
1. **Create the logistic profile** and add the attribute of the desired type. The capture mode is mandatory at creation set it to `Manual` (it will be deleted in step 4).
1. **Create the logistic profile** and add the attribute of the desired type. The capture mode is mandatory at creation - set it to `Manual` (it will be deleted in step 4).
2. **Collect the identifiers** with a Run Query on the reading context:
```csharp
Context.LogisticAttributes.Select(la => new {
@@ -197,7 +197,7 @@ By default, every logistic attribute requires a capture mode (manual, scan, etc.
## Profiles
Profiles define item behavior in each WMS process. They allow bulk configuration many items can share the same profile.
Profiles define item behavior in each WMS process. They allow bulk configuration - many items can share the same profile.
| Profile | Required | Purpose |
|---|---|---|
@@ -306,14 +306,14 @@ In `SOR01` / `SOR02`, on the relevant `<Line>` elements :
</LneTerms>
```
### 2. Shipping profile substitution mode
### 2. Shipping profile - substitution mode
Every item involved in the substitution must carry a shipping profile (`Données principales → Détails d'articles → Profils d'expédition`). The mode (X = requested item, Y = substitute) is :
| Mode | Behavior |
|---|---|
| **Partiel** | Sums X + Y to reach the requested quantity. X is prioritized. |
| **Substitution** | Picks X **or** Y exclusively whichever quantity is closest to the requested one. |
| **Substitution** | Picks X **or** Y exclusively - whichever quantity is closest to the requested one. |
| **Tout ou rien** | If X + Y cannot reach the requested quantity, picks **only X** regardless of its quantity. |
> ⚠️ For components of **non-assembled kits**, the mode **must be `Partiel`**.
@@ -334,7 +334,7 @@ In `Données principales → Articles`, select the **item to be replaced**, clic
|---|---|
| Only X picked | `<LneDIsAlternative>false</LneDIsAlternative>` |
| X + Y picked | Two `<LneDetail>` blocks : one with `LneDIsAlternative=false` (X), one with `LneDIsAlternative=true` (Y) |
| Only Y picked | Single `<LneDetail>` with `LneDIsAlternative=true` `<LneItemCode>` still contains **X** (the requested item) |
| Only Y picked | Single `<LneDetail>` with `LneDIsAlternative=true` - `<LneItemCode>` still contains **X** (the requested item) |
## Labeling
@@ -420,16 +420,16 @@ Key parameters:
## Related
- [[stock]] stock is the physical instance of an item; stock lines carry item code, owner, logistic attributes
- [[container]] containers hold item stock; item stackability controls order of picking into client containers
- [[reception]] reception profile drives behavior at inbound; logistic attributes captured during receipt
- [[putaway]] putaway profile defines strategies for this item; temperature/hazard/ABC attributes feed strategy filters
- [[picking]] shipping profile and logistic attributes drive picking behavior; substitutes used on stock failure
- [[shipping]] shipping profile mandatory; families control client container mixing; substitutes activated on shortage
- [[count]] count profile defines item counting behavior (ABC-driven cycle counts)
- [[order-inbound]] ROR lines reference items by code or presentation alias
- [[order-outbound]] SOR lines reference items; logistic attribute filtering drives stock assignment
- [[cutting-stock]] cutting profile marks item as cut item; enables min/max quantities and cut label printing
- [[labels]] item labels printed at reception, from stock view, and from RFT utilities
- [[erp-interface]] ITM message manages item master from ERP; SAC01 sends ABC classification back to ERP
- [[kits]] kit articles and component articles are both standard items; kit assembly consumes component stock
- [[stock]] - stock is the physical instance of an item; stock lines carry item code, owner, logistic attributes
- [[container]] - containers hold item stock; item stackability controls order of picking into client containers
- [[reception]] - reception profile drives behavior at inbound; logistic attributes captured during receipt
- [[putaway]] - putaway profile defines strategies for this item; temperature/hazard/ABC attributes feed strategy filters
- [[picking]] - shipping profile and logistic attributes drive picking behavior; substitutes used on stock failure
- [[shipping]] - shipping profile mandatory; families control client container mixing; substitutes activated on shortage
- [[count]] - count profile defines item counting behavior (ABC-driven cycle counts)
- [[order-inbound]] - ROR lines reference items by code or presentation alias
- [[order-outbound]] - SOR lines reference items; logistic attribute filtering drives stock assignment
- [[cutting-stock]] - cutting profile marks item as cut item; enables min/max quantities and cut label printing
- [[labels]] - item labels printed at reception, from stock view, and from RFT utilities
- [[erp-interface]] - ITM message manages item master from ERP; SAC01 sends ABC classification back to ERP
- [[kits]] - kit articles and component articles are both standard items; kit assembly consumes component stock