function beforePDFCreation($parameters, &$object, &$action, $hookmanager)
 {
     if ($object->element == 'facture') {
         if (isset($object->thirdparty)) {
             $societe =& $object->thirdparty;
         } else {
             dol_include_once('/societe/class/societe.class.php');
             $societe = new Societe($db);
             $societe->fetch($object->socid);
         }
         if (!empty($societe->id)) {
             global $db, $conf;
             if (!empty($societe->array_options['options_fk_soc_factor']) && $societe->array_options['options_factor_suivi'] == 1) {
                 define('INC_FROM_DOLIBARR', true);
                 dol_include_once('/factor/config.php');
                 dol_include_once('/factor/class/factor.class.php');
                 $PDOdb = new TPDOdb();
                 $factor = new TFactor();
                 $factor->loadBy($PDOdb, $societe->array_options['options_fk_soc_factor'], 'fk_soc');
                 if (!empty($factor->mention)) {
                     if (strpos($object->note_public, $factor->mention) === false) {
                         $object->note_public = $factor->mention . (!empty($object->note_public) ? "\n\n" . $object->note_public : '');
                         $r = $object->update_note($object->note_public, '_public');
                     }
                 }
             }
         }
     }
 }
 static function getBankFromSoc(&$PDOdb, $fk_soc)
 {
     $factor = new TFactor();
     if ($factor->loadBy($PDOdb, $fk_soc, 'fk_soc', false)) {
         return $factor->fk_bank_account;
     } else {
         return 0;
     }
 }
 public function setFkAccountIfIsFactor(&$object)
 {
     global $db;
     if (!isset($object->thirdparty)) {
         $object->fetch_thirdparty();
     }
     if (empty($object->thirdparty->id)) {
         return false;
     }
     if (!empty($object->thirdparty->array_options['options_fk_soc_factor']) && $object->thirdparty->array_options['options_factor_suivi'] == 1) {
         if (!defined('INC_FROM_DOLIBARR')) {
             define('INC_FROM_DOLIBARR', true);
         }
         dol_include_once('/factor/config.php');
         dol_include_once('/factor/class/factor.class.php');
         $PDOdb = new TPDOdb();
         $factor = new TFactor();
         $factor->loadBy($PDOdb, $object->thirdparty->array_options['options_fk_soc_factor'], 'fk_soc');
         if (!empty($factor->mention) && !empty($factor->fk_bank_account)) {
             if (strpos($object->note_public, $factor->mention) === false) {
                 $note = $factor->mention . (!empty($facture->note_public) ? "\n\n" . $facture->note_public : '');
                 if ($this->checkCanUpdateNote($object)) {
                     $object->update_note($note, '_public');
                 }
                 $object->setBankAccount($factor->fk_bank_account);
             }
         }
     }
 }