<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://frp.sage.fr/wiki1000/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>https://frp.sage.fr/wiki1000/index.php?action=history&amp;feed=atom&amp;title=Execute_%28TSearchAction%29</id>
		<title>Execute (TSearchAction) - Historique des versions</title>
		<link rel="self" type="application/atom+xml" href="https://frp.sage.fr/wiki1000/index.php?action=history&amp;feed=atom&amp;title=Execute_%28TSearchAction%29"/>
		<link rel="alternate" type="text/html" href="https://frp.sage.fr/wiki1000/index.php?title=Execute_(TSearchAction)&amp;action=history"/>
		<updated>2026-04-30T14:54:57Z</updated>
		<subtitle>Historique pour cette page sur le wiki</subtitle>
		<generator>MediaWiki 1.18.6</generator>

	<entry>
		<id>https://frp.sage.fr/wiki1000/index.php?title=Execute_(TSearchAction)&amp;diff=14651&amp;oldid=prev</id>
		<title>Syfre : Page créée avec « {{Version11}}  &lt;source lang='delphi'&gt;Function Execute(action:TjsonStruct; resp:TJson):boolean;&lt;/source&gt;  Cette fonction exécute l'action et peut retourner une facet qui s... »</title>
		<link rel="alternate" type="text/html" href="https://frp.sage.fr/wiki1000/index.php?title=Execute_(TSearchAction)&amp;diff=14651&amp;oldid=prev"/>
				<updated>2024-06-20T12:32:18Z</updated>
		
		<summary type="html">&lt;p&gt;Page créée avec « {{Version11}}  &amp;lt;source lang=&amp;#039;delphi&amp;#039;&amp;gt;Function Execute(action:TjsonStruct; resp:TJson):boolean;&amp;lt;/source&amp;gt;  Cette fonction exécute l&amp;#039;action et peut retourner une facet qui s... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Version11}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang='delphi'&amp;gt;Function Execute(action:TjsonStruct; resp:TJson):boolean;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette fonction exécute l'action et peut retourner une facet qui sera affichée dans le panneau ouvert par l'action.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Paramètre&lt;br /&gt;
!Usage&lt;br /&gt;
|-&lt;br /&gt;
|action&lt;br /&gt;
|Une structure json qui comprend les paramètres du résultat de la recherche&lt;br /&gt;
|-&lt;br /&gt;
|resp&lt;br /&gt;
|Une structure json en réponse&lt;br /&gt;
|-&lt;br /&gt;
|Result&lt;br /&gt;
|True si l'action a été exécutée&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
//function Action_piece_ecritures.Execute(action:TjsonStruct; resp:TJson):boolean;&lt;br /&gt;
Type&lt;br /&gt;
  vueEcriture = viewOf(TEcriture)&lt;br /&gt;
   oidPiece:TOID = oidPiece;&lt;br /&gt;
   numero:Integer = numero; &lt;br /&gt;
   // &lt;br /&gt;
   codeCompte:string = compteGeneral.codeCompte; &lt;br /&gt;
   libelleCompte:string = compteGeneral.Caption;&lt;br /&gt;
   idCompteGeneral:TOID = oidCompteGeneral;&lt;br /&gt;
   // &lt;br /&gt;
   codeTiers:string = roleTiers.+Tiers.+Code; &lt;br /&gt;
   libelleTiers:string = roleTiers.+Tiers.+Caption;&lt;br /&gt;
   idRoleTiers:TOID = oidRoleTiers;&lt;br /&gt;
   idTiers:TOID = roleTiers.+oidTiers; &lt;br /&gt;
   //&lt;br /&gt;
   libelleEcriture:String = Caption; &lt;br /&gt;
   debit:TMoneyDT = debit;&lt;br /&gt;
   credit:TMoneyDT = credit; &lt;br /&gt;
   //&lt;br /&gt;
   dateLettrage:TDatetime = dateLettrage; &lt;br /&gt;
   lettre:String = lettrageEcriture.+lettre; &lt;br /&gt;
   //&lt;br /&gt;
   profilTVA:String = ProfilTVA.+Caption; &lt;br /&gt;
   dateDeclarationTVA:TDatetime = DeclarationTVALigne.+DeclarationTVA.+dDate; &lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
 function _GetTitle():string;&lt;br /&gt;
 begin&lt;br /&gt;
   Result := Format(_TP('Ecritures pour la pièce %s'),[&lt;br /&gt;
     action.param.KeyValue['numero'],&lt;br /&gt;
   ]); &lt;br /&gt;
 end; &lt;br /&gt;
&lt;br /&gt;
var itemId:string; vSel:TSelector; inst:vueEcriture; &lt;br /&gt;
    idx,idv,idr,limits:Integer; SF,ST,SR:TjsonStruct; SA:TjsonArray;&lt;br /&gt;
begin&lt;br /&gt;
  Result := FALSE;&lt;br /&gt;
&lt;br /&gt;
  // This is TPiece oid &lt;br /&gt;
  if action.Exists('param.itemId') &lt;br /&gt;
   then itemId := action.param.itemId&lt;br /&gt;
   else itemId := ''; &lt;br /&gt;
&lt;br /&gt;
  if itemId='' then Exit; &lt;br /&gt;
  SR := resp.AddStruct('panel','{panelId:&amp;quot;ecritures-'+itemId+'&amp;quot;, title:&amp;quot;'+_GetTitle+'&amp;quot;}');&lt;br /&gt;
  /////////////////////////////////////&lt;br /&gt;
  SR.addStruct('layout','{ name:&amp;quot;body&amp;quot; }');&lt;br /&gt;
&lt;br /&gt;
  SF := FacetBuilder.AddFacet(SR,'body','list','');&lt;br /&gt;
  ST := FacetBuilder.AddValueTable(SF,_GetTitle,''); &lt;br /&gt;
  SA := ST.table.columnDefs; &lt;br /&gt;
&lt;br /&gt;
  SA.AddStruct('{field:&amp;quot;n&amp;quot;, headerName:&amp;quot;'+_TP('Numéro')+'&amp;quot;, width:100}'); &lt;br /&gt;
  SA.AddStruct('{field:&amp;quot;a&amp;quot;, headerName:&amp;quot;'+_TP('Compte')+'&amp;quot;, cellRenderer: &amp;quot;linkRenderer&amp;quot; }'); &lt;br /&gt;
  SA.AddStruct('{field:&amp;quot;b&amp;quot;, headerName:&amp;quot;'+_TP('Tiers')+'&amp;quot;, cellRenderer: &amp;quot;linkRenderer&amp;quot; }'); &lt;br /&gt;
  SA.AddStruct('{field:&amp;quot;c&amp;quot;, headerName:&amp;quot;'+_TP('Débit')+'&amp;quot;, width:160}'); &lt;br /&gt;
  SA.AddStruct('{field:&amp;quot;d&amp;quot;, headerName:&amp;quot;'+_TP('Crédit')+'&amp;quot;, width:160}');&lt;br /&gt;
  SA.AddStruct('{field:&amp;quot;e&amp;quot;, headerName:&amp;quot;'+_TP('Libellé')+'&amp;quot;}');&lt;br /&gt;
  SA.AddStruct('{field:&amp;quot;f&amp;quot;, headerName:&amp;quot;'+_TP('Date lettrage')+'&amp;quot;, width:132}');&lt;br /&gt;
  SA.AddStruct('{field:&amp;quot;g&amp;quot;, headerName:&amp;quot;'+_TP('Lettrage')+'&amp;quot;, width:100}');&lt;br /&gt;
  SA.AddStruct('{field:&amp;quot;h&amp;quot;, headerName:&amp;quot;'+_TP('Profil de TVA')+'&amp;quot;}');&lt;br /&gt;
  SA.AddStruct('{field:&amp;quot;i&amp;quot;, headerName:&amp;quot;'+_TP('Déclaration TVA')+'&amp;quot;}');&lt;br /&gt;
&lt;br /&gt;
  SA := ST.table.rows; &lt;br /&gt;
   &lt;br /&gt;
  idr := 0; limits := -1;&lt;br /&gt;
  vSel := vueEcriture.CreateSelector('(oidPiece=%1)', '', false, [itemId]);&lt;br /&gt;
  foreach inst in vSel.AsCursor do&lt;br /&gt;
   begin&lt;br /&gt;
     SA.addDatum('id','',opeDatumSet,['id','n','a','b','c','d','e','f','g','h','i'],[&lt;br /&gt;
      inst.oid, &lt;br /&gt;
      inst.numero, &lt;br /&gt;
      _FormatLinkObject(_FormatTitle(inst.codeCompte,inst.libelleCompte),Format(_TP('Compte géénrale %s'),[inst.codeCompte]),inst.idCompteGeneral), &lt;br /&gt;
      _FormatLinkObject(_FormatTitle(inst.codeTiers,inst.libelleTiers),Format(_TP('Tiers %s'),[inst.codeTiers]),inst.idTiers), &lt;br /&gt;
      _FormatMontant(inst.debit),&lt;br /&gt;
      _FormatMontant(inst.credit),&lt;br /&gt;
      inst.libelleEcriture, &lt;br /&gt;
      _FormatDateObject(inst.dateLettrage),&lt;br /&gt;
      inst.lettre, &lt;br /&gt;
      inst.profilTVA, &lt;br /&gt;
      _FormatDate(inst.dateDeclarationTVA)&lt;br /&gt;
     ]);&lt;br /&gt;
     idr := idr+1; &lt;br /&gt;
     if idr=limits then break; &lt;br /&gt;
   end; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Result := True;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voir aussi :&lt;br /&gt;
&lt;br /&gt;
{{Footer|TSearchAction (class)}}&lt;br /&gt;
[[Category:version2024r1]]&lt;/div&gt;</summary>
		<author><name>Syfre</name></author>	</entry>

	</feed>