Fonction Stock()
Avant tout, nous vous proposons de lire les articles suivants:
- Comment accéder à la mise en page d'une facture ?
- Comment accéder à la mise en page d'un document (hors facture) ?
- Comment ajouter un champ dans une mise en page ?
La fonction stock() vous retourne des informations concernant le stock d'un article.
Voici comment s'écrit ce type de fonction:
stock([Methode],Article, Fin, Debut, Exercice, Entrepôt, Fin de date de péremption, Début de date de péremption, Types de produits)
Les méthodes suivantes sont utilisables:
available: Article physiquement disponible en stock;
suppliersorders: En commande ou en production;
customersorders: Articles réservés;
customersdeliveries: Livrés au clients (bulletins de livraison);
customersworksheets: Utilisé sur des feuilles de travail;
salesamount: Montant total des ventes;
salesquantity: Quantité totale d'article vendu;
salesquantityreturned: Quantité total d'articles retournés (note de crédit débiteur);
saleslastdate: Date de la dernière vente de l'article.
Cette fonction n'est pas utilisée de la même manière si elle se trouve dans des documents commerciaux ou dans une autre liste.
Dans un document commercial
Exemple d'expression à écrire pour retourner la quantité d'un article disponible à la fin de l'exercice :
stock([available], dl_article, oApp.ExerciceDateFin, oApp.ExerciceDateDebut, oApp.ExerciceAnnee)
Exemple d'expression à écrire pour retourner la quantité réservée d'un article à la fin de l'exercice :
stock([customersorders], dl_article, oApp.ExerciceDateFin, oApp.ExerciceDateDebut, oApp.ExerciceAnnee)
Pour trouver le stock disponible d'un article, il faut faire le calcul "stock disponible - stock réservé" ce qui donne l'expression suivante:
stock([available], dl_article, oApp.ExerciceDateFin, oApp.ExerciceDateDebut, oApp.ExerciceAnnee) - stock([customersorders], dl_article, oApp.ExerciceDateFin, oApp.ExerciceDateDebut, oApp.ExerciceAnnee)
Pour filtrer la quantité d'un article disponible en prenant en compte également les dates de péremptions:
stock([available], dl_article, oApp.ExerciceDateFin, oApp.ExerciceDateDebut, oApp.ExerciceAnnee, 1, date(2018, 12, 31), date())
Si vous voulez calculer le montant des ventes d'articles en ne filtrant que sur des marchandises (pas de prestation, service ou réduction), vous devez rajouter le complément lbAllProductsTypes en inscrivant , .t. à la fin de la fonction. Ce qui donnerait :
stock([salesamount], dl_article, oApp.ExerciceDateFin, oApp.ExerciceDateDebut, oApp.ExerciceAnnee, 1, date(2018, 12, 31), date(), .t.)
Dans un autre type de document (liste)
Exemple d'expression à écrire pour retourner la quantité d'un article disponible à la fin de l'exercice :
stock([available], ar_numero, oApp.ExerciceDateFin, oApp.ExerciceDateDebut, oApp.ExerciceAnnee)
Exemple d'expression à écrire pour retourner le champ la quantité réservée d'un article :
stock([customersorders], ar_numero, oApp.ExerciceDateFin, oApp.ExerciceDateDebut, oApp.ExerciceAnnee)
Pour trouver le stock disponible d'un article, il faut faire le calcul "stock disponible - stock réservé" ce qui donne l'expression suivante:
stock([available], ar_numero, oApp.ExerciceDateFin, oApp.ExerciceDateDebut, oApp.ExerciceAnnee) - stock([customersorders], ar_numero, oApp.ExerciceDateFin, oApp.ExerciceDateDebut, oApp.ExerciceAnnee)
Pour filtrer la quantité d'un article disponible en prenant en compte également les dates de péremptions:
stock([available], ar_numero, oApp.ExerciceDateFin, oApp.ExerciceDateDebut, oApp.ExerciceAnnee, 1, date(2018, 12, 31), date())
Si vous voulez calculer le montant des ventes d'articles en ne filtrant que sur des marchandises (pas de prestation, service ou réduction), vous devez rajouter le complément lbAllProductsTypes en inscrivant , .t. à la fin de la fonction. Ce qui donnerait :
stock([salesamount], ar_numero, oApp.ExerciceDateFin, oApp.ExerciceDateDebut, oApp.ExerciceAnnee, 1, date(2018, 12, 31), date(), .t.)