Prellenar productos
La precarga de productos es una función añadida en NexoPOS 5.3.3. Esto permite crear una lista de productos que se completará al crear una compra. Esta función podría utilizarse para sugerir compras al usuario final.
¿Cómo funciona?
Para que funcione, necesitas usar la clase «ProcurementService», que ahora proporciona nuevos métodos: «storePreload» y «preload». El método «storePreload» acepta 4 parámetros:
- hash: es una cadena única generada para identificar los productos. Podrías usar Str::uuid().
- elementos: es bien un array de una colección con las siguientes entradas (product_id, unit_id, cantidad)
- multiplicador: se utiliza para multiplicar cuántas veces los elementos se agregan a la lista de compras. El valor predeterminado es 1.
- caducidad: define después de cuántas veces (en segundos) el precargado expirará y se borrará.
<?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
);
Cargar los productos precargados
Necesitas redirigir a la página de compras con un argumento de consulta adicional (preload). Cuando el argumento de consulta "preload" tenga como valor el $uniqueId que creamos, el producto se obtendrá y se añadirá a la tabla.
Aquí es cómo debe verse la URL.
yourwebsite.com/dashboard/procurement/create?preload=48927940-f2af-4d0e-83e1-d43b493989ef
Tenga en cuenta que puede usar el helper "ns()->route( 'ns.procurement-create' )" para obtener la URL de la contratación.