/** * Edition du bas de la facture (partie BVR) * * @param int $montant_facture montant du BVR * * @return void */ function editBVR($montant_facture) { $group = CGroups::loadCurrent(); //le 01 sera fixe car il correspond à un "Codes des genres de justificatifs (BC)" ici :01 = BVR en CHF $genre = "01"; $montant = sprintf("%010s", $montant_facture * 100); $cle = $this->facture->getNoControle($genre . $montant); $num_adherent = $this->facture->loadNumAdherent($this->praticien->adherent); $this->adherent2 = $num_adherent["bvr"]; if (!$this->adherent) { $this->adherent = $num_adherent["compte"]; } $_num_reference = str_replace(' ', '', $this->facture->num_reference); $bvr = $genre . $montant . $cle . ">" . $_num_reference . "+ " . $this->adherent2 . ">"; // Dimensions du bvr $largeur_bvr = 210; $hauteur_bvr = 106; $haut_doc = 297 - $hauteur_bvr; // Une ligne = 1/6 pouce = 4.2333 mm $h_ligne = 4.2333; // $hauteur_bvr/25; // Une colonne = 1/10 pouce = 2.54 mm $l_colonne = 2.54; // $largeur_bvr/83; $left_offset = 84 * $l_colonne - $largeur_bvr; //Boucle utilisée pour dupliquer les Partie1 et 2 avec un décalage de colonnes for ($i = 0; $i <= 1; $i++) { $decalage = $i * 24 * $l_colonne + $left_offset; $h_add = !$this->fourn_presta["fct"] ? 3 : 4; //Adresse du patient $this->pdf->SetTextColor(0); $this->pdf->setFont($this->font, '', 8); $nom_auteur_conf = CAppUI::conf("dPfacturation CEditPdf home_nom", $group); $this->auteur["nom"] = $nom_auteur_conf ? $nom_auteur_conf : $this->auteur["nom"]; $banque = $this->praticien->loadRefBanque(); $etab_adresse1 = $banque->_id ? $banque->nom : CAppUI::conf("dPfacturation CEditPdf etab_adresse1", $group); $etab_adresse2 = $banque->_id ? $banque->cp . " " . $banque->ville : CAppUI::conf("dPfacturation CEditPdf etab_adresse2", $group); if ($etab_adresse1) { $this->pdf->Text($l_colonne + $decalage, $h_ligne * $h_add + $haut_doc, $etab_adresse1); $h_add++; if ($etab_adresse2) { $this->pdf->Text($l_colonne + $decalage, $h_ligne * $h_add + $haut_doc, $etab_adresse2); $h_add++; } $h_add++; } if (!$this->fourn_presta["fct"]) { $this->pdf->Text($l_colonne + $decalage, $h_ligne * $h_add + $haut_doc, $this->auteur["nom"]); } else { $this->pdf->Text($l_colonne + $decalage, $h_ligne * $h_add + $haut_doc, $this->auteur["nom"]); $h_add++; $this->pdf->Text($l_colonne + $decalage, $h_ligne * $h_add + $haut_doc, $this->fourn_presta["fct"]); } $h_add++; $this->pdf->Text($l_colonne + $decalage, $h_ligne * $h_add + $haut_doc, $this->auteur["adresse1"]); $h_add++; if ($this->auteur["adresse2"]) { $this->pdf->Text($l_colonne + $decalage, $h_ligne * $h_add + $haut_doc, $this->auteur["adresse2"]); $h_add++; } $this->pdf->Text($l_colonne + $decalage, $h_ligne * $h_add + $haut_doc, $this->auteur["cp"] . " " . $this->auteur["ville"]); //Numéro adhérent, CHF, Montant1 et Montant2 $this->pdf->Text($l_colonne * 11 + $decalage, $h_ligne * 10.75 + $haut_doc, $this->adherent); $this->pdf->setFont($this->font, '', 10); $placement_colonne = $l_colonne * (17 - strlen($montant_facture * 100)) + $decalage; $this->pdf->Text($placement_colonne, $h_ligne * 13 + $haut_doc, sprintf("%d", $montant_facture)); $cents = floor(sprintf("%.2f", $montant_facture - sprintf("%d", $montant_facture)) * 100); if ($cents < 10) { $cents = "0" . $cents; } $this->pdf->Text($l_colonne * 19 + $decalage, $h_ligne * 13 + $haut_doc, $cents); } $decalage = $left_offset; // 7.36 // 8; //Ecriture de la reference $num_reference = preg_replace('/(\\d{2})(\\d{5})(\\d{5})(\\d{5})(\\d{5})/', '\\1 \\2 \\3 \\4 \\5 \\6', $this->facture->num_reference); $this->pdf->setFont($this->font, '', 11); $this->pdf->Text(50 * $l_colonne, $h_ligne * 8.75 + $haut_doc, $num_reference); $this->pdf->setFont($this->font, '', 8); $this->pdf->Text($l_colonne + $decalage, $h_ligne * 15 + $haut_doc, $this->facture->num_reference); //Adresse du patient de la facture $this->pdf->Text($l_colonne + $decalage, $h_ligne * 16 + $haut_doc, $this->destinataire["nom"]); $this->pdf->Text(49 * $l_colonne + $decalage, $h_ligne * 12 + $haut_doc, $this->destinataire["nom"]); $this->pdf->Text($l_colonne + $decalage, $h_ligne * 17 + $haut_doc, $this->destinataire["adresse1"]); $this->pdf->Text(49 * $l_colonne + $decalage, $h_ligne * 13 + $haut_doc, $this->destinataire["adresse1"]); $j = 1; if ($this->destinataire["adresse2"]) { $this->pdf->Text($l_colonne + $decalage, $h_ligne * 18 + $haut_doc, $this->destinataire["adresse2"]); $this->pdf->Text(49 * $l_colonne + $decalage, $h_ligne * 14 + $haut_doc, $this->destinataire["adresse2"]); $j = 2; } $this->pdf->Text($l_colonne + $decalage, $h_ligne * (17 + $j) + $haut_doc, $this->destinataire["cp"]); $this->pdf->Text(49 * $l_colonne + $decalage, $h_ligne * (13 + $j) + $haut_doc, $this->destinataire["cp"]); //Ecriture du code bvr genere modulo10 recursif $this->pdf->setFont("ocrbb", '', 12); $w = (80 - strlen($bvr)) * $l_colonne - $decalage; $this->pdf->Text($w, $h_ligne * 21 + $haut_doc, $bvr); }