Numero d'enregistrement associé à une entité?

Bonjour,

Est il possible de récupérer le numéro d’enregistrement d’une entity sans le sélectionner dans la table ?

Pour connaitre le numéro du $i ème enregistrement de ma sélection, je suis obligé de faire

<code 4D>
UTILISER ENTITY SELECTION($oSel)
ALLER DANS SÉLECTION($pTable->;$i)
$NumEnr:=Numéro enregistrement($pTable->)

</code 4D>

J’ai pas trouvé mieux. :roll:

Merci !
Jacques

Il me semble que la question a déjà été posée et que la réponse était “vous n’en avez pas besoin”. Comme https://forums.4d.com/Post/FR/28121532/1/28121533#28122785tuer> un process ou un utilisateur :mrgreen:

Sinon, comme tu as la clé primaire ($PK) de l’entité, je vois 2 autres façons de récupérer ce numéro :
• SELECT https://doc.4d.com/4Dv17R3/4D/17-R3/Replication-via-le-SQL.300-4034319.fr.html__ROW_ID> FROM laTable WHERE ClePrimaire=:$PK INTO :$rec_l;
• $rec_l:=https://doc.4d.com/4Dv17R3/4D/17-R3/Trouver-dans-champ.301-3906712.fr.htmlTrouver dans champ> ([laTable]ClePrimaire;$PK)
Ce sera probablement plus “économique”. S’il y en a une mieux que l’autre, je veux bien de ton retour…

Je confirme, la question a été posée et effectivement la réponse était “pourquoi faire car avec ORDA, tu n’en as pas besoin.”

C’était la même chose en SQL, au début,
Puis vint la replication et la lumière fut.
(poil au c…)

Avec ORDA sans doute pas, mais pour certains traitements c’est bien pratique…

Pour échanger entre ORDA et le reste du monde, c’est même pas envisagé ?

Faich’

: Jacques FADEUILHE

Pour échanger entre ORDA et le reste du monde, c’est même pas
envisagé ?
Un peu, quand même : on n’imprimerait que dalle avec ORDA s’il n’y avait pas USE ENTITY SELECTION.

: Arnaud DE MONTARD


$rec_l:=<https://doc.4d.com/4Dv17R3/4D/17-R3/Trouver-dans-champ.301-39
6712.fr.html>Trouver dans champ> ([laTable]ClePrimaire;$PK)

Idée retenue ! :mrgreen:

Ou final, je fait :

<code 4D>
$Ref:=$oSel[$i-1][$ChNum]
P_Aff_Enregistrement ($pTable;Trouver dans champ($pChNum->;$Ref))

</code 4D>

Comme ça je ne touche pas à la sélection courante, et c’est bonheur.

Merci !

ben tu as bien tes entity selection sur lesquelles tu peux faire un For Each
et là tu gères ton impression, non ?

Patrick

imprimer selection, imprimer enregistrement, imprimer etiquettes, état : impossible si on n’a pas de sélection courante ou d’enregistrement courant.

Salut

j’ai fait comme cela pour les étiquettes. Alors oui, cela utilise une sélection, mais basée sur l’entity sélection. Pour l’impression d’une sélection, je suis dans un For Each et je fais un imprimer ligne. J’utilise pas imprimer enregistrement.

<code 4D>
C_POINTER($oldDefaultTable;$Default)
C_TEXT($FormulaireEtiquette)
C_OBJECT($Entities)
// ---------- PARAMETRES A SPECIFIER ----------
$Default:=->[Membres]
$FormulaireEtiquette:=“Etiquette”
$Entities:=Form.associeAuGroupe

	  // ------ Pas de modification en dessous -------------
	$oldDefaultTable:=Current default table
	DEFAULT TABLE($Default->)
	USE ENTITY SELECTION($Entities)
	If (Records in selection($Default->)>0)
		FORM SET OUTPUT($Default->;$FormulaireEtiquette)  // Sélection du formulaire sortie
		PRINT LABEL($Default->;Char(1))  // Impression des étiquettes
	Else 
		ALERT("Veuillez sélectionner un Groupe avant de vouloir imprimer des étiquettes.")
	End if 
	If (Is nil pointer($oldDefaultTable))
		NO DEFAULT TABLE
	Else 
		DEFAULT TABLE($oldDefaultTable->)
	End if 
	REDUCE SELECTION($Default->;0)

</code 4D>

: Patrick EMANUEL

DEFAULT TABLE
vendredi, tout est permis, mais là, c’est limite-limite.

:mrgreen:

[]28153290;“Encore 108 vierges à sacrifier”[/]

Comme quoi, c’est bien vendredi :wink: