ItemSubFamily - Exemples

ItemSubFamily = class static (TObject)Interface de ItemSubFamilyExemples de ItemSubFamily
uses QuBESStock;

// Nom de la famille d'article à laquelle on veut ajouter une sous-famille
var familyName := "Boulangerie";

// Nom de la nouvelle sous-famille
var subFamilyName := "Chocolat";

// Description de la sous-famille
var description := "Sous-famille regroupant les différents articles de chocolat.";

//
//Vérifie si le nom de la sous-famille n''est pas attribué à une autre
//sous-famille de la famille
//
if SubFamilyIDFromName(familyName, subFamilyName) <> 0 then begin
   PrintLn("Le nom choisi est déjà utilisé par une autre sous-famille de la famille");
   exit;
end;

// Récupération de l'ID de la famille
var familyID := ArticleFamilyIDFromName(familyName);

// Création d'une sous-famille
var newSubFamilyID := ItemSubFamily.Create(familyID, subFamilyName, description);

// Vérifie que la création s'est bien déroulée
if newSubFamilyID <= 0 then begin
   PrintLn("Impossible de créer la sous-famille");
   exit;
end;

//
//Modification de la sous-famille nouvellement créée
//

// Nouveau nom
var newName := "Vanille";

//
//Vérifie si le nouveau nom de la sous-famille n''est pas attribué à une autre
//sous-famille de la famille
//
if (SubFamilyIDFromName(familyName, subFamilyName) <> 0)
   and (SubFamilyIDFromName(familyName, subFamilyName) <> newSubFamilyID) then begin
   PrintLn("Le nom choisi est déjà utilisé par une autre sous-famille de la famille");
   exit;
end;

// Nouvelle description
var newDescription := "Finalement je préfère la vanille.";

try
   // Modification de la sous-famille
   ItemSubFamily.Update(
      newSubFamilyID,
      familyID,
      newName,
      newDescription
   );
   PrintLn("Modification réussie de la sous-famille");
except
   PrintLn("Impossible de modifier la sous-famille");
end;