function openOF(&$PDOdb)
 {
     global $db, $user, $conf;
     include_once DOL_DOCUMENT_ROOT . '/product/class/product.class.php';
     dol_include_once("fourn/class/fournisseur.product.class.php");
     dol_include_once("fourn/class/fournisseur.commande.class.php");
     $TIDOFToValidate = array($this->rowid);
     if ($conf->global->ASSET_CHILD_OF_STATUS_FOLLOW_PARENT_STATUS) {
         $this->getListeOFEnfants($PDOdb, $TIDOFToValidate, $this->rowid);
     }
     foreach ($TIDOFToValidate as $id_of) {
         $of = new TAssetOF();
         $of->load($PDOdb, $id_of);
         // On passe pas un of en prod s'il l'est déjà ou s'il n'est pas au statut validé
         if ($of->rowid <= 0 || $of->status != 'VALID') {
             continue;
         }
         if ($of->launchOF($PDOdb)) {
             if (!empty($conf->global->OF_USE_DESTOCKAGE_PARTIEL)) {
                 foreach ($of->TAssetOFLine as &$AssetOFLine) {
                     if ($AssetOFLine->type == 'TO_MAKE') {
                         $AssetOFLine->stockQtyToMakeAsset($PDOdb, $of);
                     } else {
                         $AssetOFLine->destockQtyUsedAsset($PDOdb);
                     }
                 }
             } else {
                 foreach ($of->TAssetOFLine as &$AssetOFLine) {
                     if ($AssetOFLine->type == 'NEEDED') {
                         $AssetOFLine->destockAsset($PDOdb, $AssetOFLine->qty - $AssetOFLine->qty_stock);
                     }
                 }
             }
         }
     }
 }