Récupérer le nom d'un document dans un formulaire de création

4.0
Récupérer le nom d'un document dans un formulaire de création
0
Tags: #<Tag:0x00007fcf153164d8>

#1

Bonjour,

Pourriez-vous me dire comment pourrais-je récupérer le nom d’un document dans un postValidate d’un formulaire de création (avant donc que le document soit inséré dans la base) ?

J’ai essayé :

	var docSource = this.getField("documentSource").getDocument();
	console.log("docSource = " + docSource);	
	console.log("docSource.getObjectRef() = " + docSource.getObjectRef());	
	console.log("docSource.getFieldRef() = " + docSource.getFieldRef());	
	console.log("docSource.getRowIdRef() = " + docSource.getRowIdRef());	
	console.log("docSource.getId() = " + docSource.getId());	
	console.log("docSource.getName() = " + docSource.getName());	

et j’obtiens :

2019-02-22 14:42:00,207 INFO [com.simplicite.util.ScriptInterpreter] SIMPLICITE|http://e3m.simplicite.io:10028||INFO|designer|com.simplicite.util.ScriptInterpreter|immoDocument/the_ajax_immoDocument||Evénement: docSource.getName() = null

2019-02-22 14:42:00,207 INFO [com.simplicite.util.ScriptInterpreter] SIMPLICITE|http://e3m.simplicite.io:10028||INFO|designer|com.simplicite.util.ScriptInterpreter|immoDocument/the_ajax_immoDocument||Evénement: docSource.getId() = 0

2019-02-22 14:42:00,206 INFO [com.simplicite.util.ScriptInterpreter] SIMPLICITE|http://e3m.simplicite.io:10028||INFO|designer|com.simplicite.util.ScriptInterpreter|immoDocument/the_ajax_immoDocument||Evénement: docSource.getRowIdRef() = 0

2019-02-22 14:42:00,206 INFO [com.simplicite.util.ScriptInterpreter] SIMPLICITE|http://e3m.simplicite.io:10028||INFO|designer|com.simplicite.util.ScriptInterpreter|immoDocument/the_ajax_immoDocument||Evénement: docSource.getFieldRef() = documentSource

2019-02-22 14:42:00,206 INFO [com.simplicite.util.ScriptInterpreter] SIMPLICITE|http://e3m.simplicite.io:10028||INFO|designer|com.simplicite.util.ScriptInterpreter|immoDocument/the_ajax_immoDocument||Evénement: docSource.getObjectRef() = immoDocument

2019-02-22 14:42:00,205 INFO [com.simplicite.util.ScriptInterpreter] SIMPLICITE|http://e3m.simplicite.io:10028||INFO|designer|com.simplicite.util.ScriptInterpreter|immoDocument/the_ajax_immoDocument||Evénement: docSource = {"size":0,"id":"ShortCut.xml","refid":"0","refobject":"immoDocument","contenttype":"","reffield":"documentSource"}

2019-02-22 14:41:41,856 INFO [com.simplicite.objects.System.ObjectInternal] SIMPLICITE|http://e3m.simplicite.io:10028||INFO|designer|com.simplicite.objects.System.ObjectInternal|partialClearCache||Evénement: Partial clear cache for object immoDocument

2

En fait, c’est e contenu de ce qu’il y a dans « id » de docSource “ShortCut.xml”.

Merci d’avance pour votre aide.

Abed.


(David AZOULAY) #2

@scampano c’est le même pb que ce que tu avais remarqué ?
As tu eu l’occasion d’investiguer ça ?


(scampano) #3

Il y a une anomalie qui n’est pas encore corrigée dans le socle, en attendant on peut utiliser le contournement suivant:

@Override
public List<String> preValidate() {
	DocumentDB doc = getField("file").getDocument();
	if(doc!=null){
		setFieldValue("attribute", !Tool.isEmpty(doc.getName()) ? doc.getName() : doc.getPath());
	}
	return null;
}