$object->ref_supplier = $_POST['ref_supplier']; $object->socid = $_POST['socid']; $object->libelle = $_POST['libelle']; $object->date = $datefacture; $object->date_echeance = $datedue; $object->note_public = GETPOST('note_public'); $object->note_private = GETPOST('note_private'); $object->cond_reglement_id = GETPOST('cond_reglement_id'); $object->mode_reglement_id = GETPOST('mode_reglement_id'); $projectid = GETPOST('projectid'); if ($projectid > 0) { $object->fk_project = $projectid; } // Auto calculation of date due if not filled by user if (empty($object->date_echeance)) { $object->date_echeance = $object->calculate_date_lim_reglement(); } if ($_POST['origin'] && $_POST['originid']) { $object->linked_objects = $orders_id; $id = $object->create($user); if ($id > 0) { foreach ($orders_id as $origin => $origin_id) { $origin_id = !empty($origin_id) ? $origin_id : $orders_id[$ii]; $object->add_object_linked($_POST['origin'], $origin_id); } while ($ii < $nn) { $objectsrc = new CommandeFournisseur($db); dol_syslog("Try to find source object origin=" . $object->origin . " originid=" . $object->origin_id . " to add lines"); $result = $objectsrc->fetch($orders_id[$ii]); if ($result > 0) { $lines = $objectsrc->lines;
function createFacture(&$object, &$TLine) { global $user, $conf, $langs, $db; dol_include_once('/fourn/class/fournisseur.facture.class.php'); $facture = new FactureFournisseur($db); $facture->origin = $object->element; $facture->origin_id = $object->id; $facture->ref = ''; $facture->ref_supplier = ''; //$facture->ref_supplier = $object->ref_supplier; $facture->socid = $object->socid; $facture->libelle = $object->libelle; $object->date = time(); $facture->note_public = $object->note_public; $facture->note_private = $object->note_private; $facture->cond_reglement_id = $object->cond_reglement_id; $facture->fk_account = $object->fk_account; $facture->fk_project = empty($object->fk_project) ? null : $object->fk_project; $facture->fk_incoterms = $object->fk_incoterms; $facture->location_incoterms = $object->location_incoterms; $facture->ref_supplier = time(); $facture->date_echeance = $facture->calculate_date_lim_reglement(); foreach ($TLine as &$row) { $line = $row->line; $line->qty = $row->qty; $line->id = 0; $facture->lines[] = $line; } $res = $facture->create($user); if ($res > 0) { header('location:' . dol_buildpath('/fourn/facture/card.php?action=editref_supplier&id=' . $res, 1)); exit; } else { //var_dump($res, $facture); setEventMessage("ImpossibleToCreateInvoice", "errors"); } }