Message d'erreur extrafields pdf

J’ai ce code ci dessous
$title_key=(empty($object->array_options[‹ options_numbl ›]))?‹  ›:($object->array_options[‹ options_numbl ›]);
$extrafields = new ExtraFields ( $this->db );
$extralabels = $extrafields->fetch_name_optionals_label ( $object->table_element, true );
if (is_array ( $extralabels ) && key_exists ( ‹ numbl ›, $extralabels ) && !empty($title_key)) {
$pdf->SetXY($this->marge_gauche, $posy);

			$numbl = $extrafields->showOutputField ( 'numbl', $title_key );
			//var_dump($title_key);
		}

        //fin num bl
        if ($numbl)
        {
        	$pdf->SetFont('','', $default_font_size - 2);
        	$pdf->SetXY($this->marge_gauche+$width*3+6,$RoundedRectHeight+6);
        	$pdf->SetTextColorArray($textcolor);
        	$pdf->MultiCell($width, 6, $numbl, '1', 'C');
        	
        }
		else
		{
			$pdf->SetFont('','', $default_font_size - 2);
      $pdf->SetXY($this->marge_gauche+$width*3+6,$RoundedRectHeight+6);
      $pdf->SetTextColorArray($textcolor);
			$pdf->SetFillColor(255,255,255);
			$pdf->MultiCell($width, 6, '', '1', 'C');
		}

que j’essai de trouver la solution apres la migration de v7 à v17
actuellement cette ligne me pose des probleme
$numbl = $extrafields->showOutputField ( ‹ numbl ›, $title_key );
elle m’affiche un message d’erreur BadValueForParamExtraFieldsObjectkey
Puisse avoir de l’aide …

Bonjour,

Pouvez-vous mettre tout le code dans une balise code (le bouton à droite de citation).

voila le code presenté

j’ai fais la mise à jour de dolibarr de la version 7 à 17.0.0 et le probleme est survenue

image
resultat proposer sur pdf

La clé est le second paramètre et non le premier.
Regardez comment est utilisée la fonction dans une autre partie du code de dolibarr

            $title_key=(empty($object->array_options['options_numbl']))?'':($object->array_options['options_numbl']);
			$extrafields = new ExtraFields ( $this->db );
			$extralabels = $extrafields->fetch_name_optionals_label ( $object->table_element, true );
			if (is_array ( $extralabels ) && key_exists ( 'numbl', $extralabels ) && !empty($title_key)) {
				$pdf->SetXY($this->marge_gauche, $posy);
				
				$numbl = $extrafields->showOutputField ( 'numbl', $title_key );
				//var_dump($title_key);
			}

	        //fin num bl
	        if ($numbl)
	        {
	        	$pdf->SetFont('','', $default_font_size - 2);
	        	$pdf->SetXY($this->marge_gauche+$width*3+6,$RoundedRectHeight+6);
	        	$pdf->SetTextColorArray($textcolor);
	        	$pdf->MultiCell($width, 6, $numbl, '1', 'C');
	        	
	        }
			else
			{
				$pdf->SetFont('','', $default_font_size - 2);
	      $pdf->SetXY($this->marge_gauche+$width*3+6,$RoundedRectHeight+6);
	      $pdf->SetTextColorArray($textcolor);
				$pdf->SetFillColor(255,255,255);
				$pdf->MultiCell($width, 6, '', '1', 'C');
			}`

peut tu me déterminer la ligne " La clé est le second paramètre et non le premier."
un modele pour afficher les champs supplementaire

Bonjour,

La fonction showOutputField prend 4 arguments et non 2 :
https://doxygen.dolibarr.org/dolibarr_17.0/build/html/d3/dbf/class_extra_fields.html#a2a86715186ba905416031c2a1f8a9b67

Exemple

$extrafields->showOutputField('my_extra', $object->array_options['options_my_extra'], '', $object->table_element)

merci pour cette route que vous (Ksar & dev2a) m’ouvrez.

Mon devient alors:
$numbl = $extralabels->showOutputField ( ‹ numbl ›, $title_key, ’ ’ , $object->table_element );

Merci