Export personnalisé

Bonsoir
Je me décide à poser ma question après moultes recherches infructueuses.
Je cherche à créer mon propre export dans le module du même nom.
Dans l’aide il est écrit:
« S’il n’y a aucun lot de données prédéfini qui convienne et que vous avez des connaissances en programmation informatique, vous pouvez aussi développer votre propre script. N’importe quel langage peut faire l’affaire du moment que vous pouvez lire la base de données. Il vous suffit de lire la table de l’entité qui vous intéresse et de fabriquer un fichier export au format qu’il vous plaira à partir des données de cette table »
J’ai ma requête SQL mais je ne sais pas quoi en faire.
Y a-t-il une aide qui décrit la façon de faire?
Merci pour votre aide

vous pouvez regarder le module myList

Merci mais je ne comprends pas votre réponse.
Mylist est un module payant.
Vous me conseillez d’acheter ce module pour que je vois comment développer une requête d’export?

Salut @cofe3164 ,

Tu peux trouver des réponses dans le code du module-builder (j’ai créé un module « vierge » juste pour te sortir le code). Vers la fin du code, tu pourras y placer ta requête.

/* BEGIN MODULEBUILDER EXPORT MYOBJECT */
		
		$langs->load("vierge@vierge");
		$this->export_code[$r]=$this->rights_class.'_'.$r;
		$this->export_label[$r]='MyObjectLines';	// Translation key (used only if key ExportDataset_xxx_z not found)
		$this->export_icon[$r]='myobject@vierge';
		// Define $this->export_fields_array, $this->export_TypeFields_array and $this->export_entities_array
		$keyforclass = 'MyObject'; $keyforclassfile='/vierge/class/myobject.class.php'; $keyforelement='myobject@vierge';
		include DOL_DOCUMENT_ROOT.'/core/commonfieldsinexport.inc.php';
		//$this->export_fields_array[$r]['t.fieldtoadd']='FieldToAdd'; $this->export_TypeFields_array[$r]['t.fieldtoadd']='Text';
		//unset($this->export_fields_array[$r]['t.fieldtoremove']);
		//$keyforclass = 'MyObjectLine'; $keyforclassfile='/vierge/class/myobject.class.php'; $keyforelement='myobjectline@vierge'; $keyforalias='tl';
		//include DOL_DOCUMENT_ROOT.'/core/commonfieldsinexport.inc.php';
		$keyforselect='myobject'; $keyforaliasextra='extra'; $keyforelement='myobject@vierge';
		include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php';
		//$keyforselect='myobjectline'; $keyforaliasextra='extraline'; $keyforelement='myobjectline@vierge';
		//include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php';
		//$this->export_dependencies_array[$r] = array('myobjectline'=>array('tl.rowid','tl.ref')); // To force to activate one or several fields if we select some fields that need same (like to select a unique key if we ask a field of a child to avoid the DISTINCT to discard them, or for computed field than need several other fields)
		//$this->export_special_array[$r] = array('t.field'=>'...');
		//$this->export_examplevalues_array[$r] = array('t.field'=>'Example');
		//$this->export_help_array[$r] = array('t.field'=>'FieldDescHelp');
		$this->export_sql_start[$r]='SELECT DISTINCT ';
		$this->export_sql_end[$r]  =' FROM '.MAIN_DB_PREFIX.'myobject as t';
		//$this->export_sql_end[$r]  =' LEFT JOIN '.MAIN_DB_PREFIX.'myobject_line as tl ON tl.fk_myobject = t.rowid';
		$this->export_sql_end[$r] .=' WHERE 1 = 1';
		$this->export_sql_end[$r] .=' AND t.entity IN ('.getEntity('myobject').')';
		$r++;
		/* END MODULEBUILDER EXPORT MYOBJECT */

Tu peux aussi t’appuyer sur la documentation :

Bon courage !

Bonjour
Je sent que ça va m’occuper un moment :joy:
Merci beaucoup