Préremplir les produits
Le préremplissage du produit est une fonctionnalité ajoutée dans NexoPOS 5.3.3. Elle permet de créer une liste de produits qui sera renseignée lors de la création d’un approvisionnement. Cette fonctionnalité peut être utilisée pour suggérer des approvisionnements à l’utilisateur final.
Comment ça marche ?
Pour que cela fonctionne, vous devez utiliser la classe « ProcurementService », qui fournit désormais de nouvelles méthodes : « storePreload » et « preload ». La méthode « storePreload » accepte 4 paramètres :
- le hachage : c’est une chaîne unique générée pour identifier les produits. Vous pourriez utiliser Str::uuid().
- éléments : c’est soit un tableau d’une collection contenant les entrées suivantes (product_id, unit_id, quantity)
- Multiplicateur : utilisé pour multiplier le nombre de fois où les articles sont ajoutés à la liste d’approvisionnement. La valeur par défaut est 1.
- expiration : définissez après combien de fois (en secondes) le préremplissage expirera et sera effacé.
<?php
use App\Services\ProcurementService;
use Illuminate\Support\Str;
$uniqueId = Str::uuid();
$service = app()->make( ProcurementService::class );
$service->storePreload(
hash: $uniqueId,
items: [
[
'product_id' => 1,
'unit_id' => 1,
'quantity' => 2
]
],
multiplier: 3, // we want the product to be provided 3 times so we'll have 2*3 = 6 of the requested items
expiration: 3600, // expires in one hour
);
Charger les produits préremplis
Vous devez rediriger vers la page d’approvisionnement avec un argument de requête supplémentaire (preload). Lorsque l’argument de requête « preload » a pour valeur le $uniqueId que nous avons créé, le produit sera récupéré et ajouté au tableau.
Voici à quoi doit ressembler l’URL.
yourwebsite.com/dashboard/procurement/create?preload=48927940-f2af-4d0e-83e1-d43b493989ef
Notez que vous pouvez utiliser l’assistant « ns()->route('ns.procurement-create') » pour obtenir l’URL de la commande publique.