function makeAsset(&$PDOdb, &$AssetOf, $fk_product, $qty_to_make, $idAsset = 0, $lot_number = '')
 {
     global $user, $conf;
     //INFO : si on utilise pas les lots on a pas besoin de créer des équipements => on gère uniquement des mvt de stock
     if (empty($conf->asset->enabled) || empty($conf->global->USE_LOT_IN_OF)) {
         return true;
     }
     if (!dol_include_once('/asset/class/asset.class.php')) {
         return true;
     }
     $assetType = new TAsset_type();
     if ($assetType->load_by_fk_product($PDOdb, $fk_product)) {
         /* On fabrique de la contenance et non pas une quantité de produit au sens strict
          * Si on fabrique un produit au sens strict, le type d'équipement de ce produit aura une contenance max à 1, donc ça marche pareil
          * En revanche, on a un sac de sable à moitier vide, s'il est réutilisable on va le remplir puis en créer si besoin
          *
          * A penser :	   [1] [2] [3]
          * Périsable :		1	0	1
          * Réutilisable :	0	1	1
          *
          * [1] => on crée de nouveaux équipements
          * [2] => on réutilise
          * [3] => si la qté de l'équipement courant = 0 alors on réutilise
          *
          * Dans le process de la validation de la production, les TO_MAKE doivent pré-séléctionner les équipements possibles à la réutilisation
          * Quand on "Termine" l'OF il faudra prendre la liste des équipements liés pour les remplir puis en créer si nécessaire
          */
         $contenance_max = $assetType->contenance_value;
         $nb_asset_to_create = ceil($qty_to_make / $contenance_max);
         //Qté restante a fabriquer
         $qty_to_make_rest = $qty_to_make;
         for ($i = 0; $i < $nb_asset_to_create; $i++) {
             $TAsset = new TAsset();
             $TAsset->fk_soc = $AssetOf->fk_soc;
             $TAsset->fk_societe_localisation = $conf->global->ASSET_DEFAULT_LOCATION;
             $TAsset->fk_product = $fk_product;
             $TAsset->entity = $conf->entity;
             if (!empty($conf->global->ASSET_DEFAULT_DLUO)) {
                 $TAsset->dluo = strtotime(date('Y-m-d') . ' +' . $conf->global->ASSET_DEFAULT_DLUO . ' days');
             } else {
                 $TAsset->dluo = strtotime(date('Y-m-d'));
             }
             //pre($assetType,true);exit;
             $TAsset->fk_asset_type = $assetType->getId();
             $TAsset->load_asset_type($PDOdb);
             if ($qty_to_make_rest > $TAsset->contenance_value) {
                 $qty_to_make_asset = $TAsset->contenance_value;
             } else {
                 $qty_to_make_asset = $qty_to_make_rest;
             }
             $qty_to_make_rest -= $qty_to_make_asset;
             $TAsset->contenancereel_value = $qty_to_make_asset;
             $TAsset->lot_number = $lot_number;
             if (!empty($conf->global->ASSET_USE_DEFAULT_WAREHOUSE)) {
                 $fk_entrepot = $conf->global->ASSET_DEFAULT_WAREHOUSE_ID_TO_MAKE;
             }
             if (!$fk_entrepot) {
                 exit('ASSET_USE_DEFAULT_WAREHOUSE non définis dans la configuration du module');
             }
             $TAsset->fk_entrepot = $fk_entrepot;
             $TAsset->save($PDOdb, '', '', 0, false, 0, true, $fk_entrepot);
             //Save une première fois pour avoir le serial_number + 2ème save pour mvt de stock
             $this->addAssetLink($TAsset);
         }
         return true;
     } else {
         return false;
     }
 }