<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>http://wiki.sage.fr/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="http://wiki.sage.fr/index.php?action=history&amp;feed=atom&amp;title=Execute_%28TSearchAction%29"/>
	<link rel="alternate" type="text/html" href="http://wiki.sage.fr/index.php?title=Execute_(TSearchAction)&amp;action=history"/>
	<updated>2026-05-25T02:31:26Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>http://wiki.sage.fr/index.php?title=Execute_(TSearchAction)&amp;diff=14651&amp;oldid=prev</id>
		<title>Syfre : Page créée avec « {{Version11}}  &lt;source lang=&#039;delphi&#039;&gt;Function Execute(action:TjsonStruct; resp:TJson):boolean;&lt;/source&gt;  Cette fonction exécute l&#039;action et peut retourner une facet qui s... »</title>
		<link rel="alternate" type="text/html" href="http://wiki.sage.fr/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=&amp;#039;delphi&amp;#039;&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&amp;#039;action et peut retourner une facet qui sera affichée dans le panneau ouvert par l&amp;#039;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&amp;#039;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(&amp;#039;Ecritures pour la pièce %s&amp;#039;),[&lt;br /&gt;
     action.param.KeyValue[&amp;#039;numero&amp;#039;],&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(&amp;#039;param.itemId&amp;#039;) &lt;br /&gt;
   then itemId := action.param.itemId&lt;br /&gt;
   else itemId := &amp;#039;&amp;#039;; &lt;br /&gt;
&lt;br /&gt;
  if itemId=&amp;#039;&amp;#039; then Exit; &lt;br /&gt;
  SR := resp.AddStruct(&amp;#039;panel&amp;#039;,&amp;#039;{panelId:&amp;quot;ecritures-&amp;#039;+itemId+&amp;#039;&amp;quot;, title:&amp;quot;&amp;#039;+_GetTitle+&amp;#039;&amp;quot;}&amp;#039;);&lt;br /&gt;
  /////////////////////////////////////&lt;br /&gt;
  SR.addStruct(&amp;#039;layout&amp;#039;,&amp;#039;{ name:&amp;quot;body&amp;quot; }&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
  SF := FacetBuilder.AddFacet(SR,&amp;#039;body&amp;#039;,&amp;#039;list&amp;#039;,&amp;#039;&amp;#039;);&lt;br /&gt;
  ST := FacetBuilder.AddValueTable(SF,_GetTitle,&amp;#039;&amp;#039;); &lt;br /&gt;
  SA := ST.table.columnDefs; &lt;br /&gt;
&lt;br /&gt;
  SA.AddStruct(&amp;#039;{field:&amp;quot;n&amp;quot;, headerName:&amp;quot;&amp;#039;+_TP(&amp;#039;Numéro&amp;#039;)+&amp;#039;&amp;quot;, width:100}&amp;#039;); &lt;br /&gt;
  SA.AddStruct(&amp;#039;{field:&amp;quot;a&amp;quot;, headerName:&amp;quot;&amp;#039;+_TP(&amp;#039;Compte&amp;#039;)+&amp;#039;&amp;quot;, cellRenderer: &amp;quot;linkRenderer&amp;quot; }&amp;#039;); &lt;br /&gt;
  SA.AddStruct(&amp;#039;{field:&amp;quot;b&amp;quot;, headerName:&amp;quot;&amp;#039;+_TP(&amp;#039;Tiers&amp;#039;)+&amp;#039;&amp;quot;, cellRenderer: &amp;quot;linkRenderer&amp;quot; }&amp;#039;); &lt;br /&gt;
  SA.AddStruct(&amp;#039;{field:&amp;quot;c&amp;quot;, headerName:&amp;quot;&amp;#039;+_TP(&amp;#039;Débit&amp;#039;)+&amp;#039;&amp;quot;, width:160}&amp;#039;); &lt;br /&gt;
  SA.AddStruct(&amp;#039;{field:&amp;quot;d&amp;quot;, headerName:&amp;quot;&amp;#039;+_TP(&amp;#039;Crédit&amp;#039;)+&amp;#039;&amp;quot;, width:160}&amp;#039;);&lt;br /&gt;
  SA.AddStruct(&amp;#039;{field:&amp;quot;e&amp;quot;, headerName:&amp;quot;&amp;#039;+_TP(&amp;#039;Libellé&amp;#039;)+&amp;#039;&amp;quot;}&amp;#039;);&lt;br /&gt;
  SA.AddStruct(&amp;#039;{field:&amp;quot;f&amp;quot;, headerName:&amp;quot;&amp;#039;+_TP(&amp;#039;Date lettrage&amp;#039;)+&amp;#039;&amp;quot;, width:132}&amp;#039;);&lt;br /&gt;
  SA.AddStruct(&amp;#039;{field:&amp;quot;g&amp;quot;, headerName:&amp;quot;&amp;#039;+_TP(&amp;#039;Lettrage&amp;#039;)+&amp;#039;&amp;quot;, width:100}&amp;#039;);&lt;br /&gt;
  SA.AddStruct(&amp;#039;{field:&amp;quot;h&amp;quot;, headerName:&amp;quot;&amp;#039;+_TP(&amp;#039;Profil de TVA&amp;#039;)+&amp;#039;&amp;quot;}&amp;#039;);&lt;br /&gt;
  SA.AddStruct(&amp;#039;{field:&amp;quot;i&amp;quot;, headerName:&amp;quot;&amp;#039;+_TP(&amp;#039;Déclaration TVA&amp;#039;)+&amp;#039;&amp;quot;}&amp;#039;);&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(&amp;#039;(oidPiece=%1)&amp;#039;, &amp;#039;&amp;#039;, false, [itemId]);&lt;br /&gt;
  foreach inst in vSel.AsCursor do&lt;br /&gt;
   begin&lt;br /&gt;
     SA.addDatum(&amp;#039;id&amp;#039;,&amp;#039;&amp;#039;,opeDatumSet,[&amp;#039;id&amp;#039;,&amp;#039;n&amp;#039;,&amp;#039;a&amp;#039;,&amp;#039;b&amp;#039;,&amp;#039;c&amp;#039;,&amp;#039;d&amp;#039;,&amp;#039;e&amp;#039;,&amp;#039;f&amp;#039;,&amp;#039;g&amp;#039;,&amp;#039;h&amp;#039;,&amp;#039;i&amp;#039;],[&lt;br /&gt;
      inst.oid, &lt;br /&gt;
      inst.numero, &lt;br /&gt;
      _FormatLinkObject(_FormatTitle(inst.codeCompte,inst.libelleCompte),Format(_TP(&amp;#039;Compte géénrale %s&amp;#039;),[inst.codeCompte]),inst.idCompteGeneral), &lt;br /&gt;
      _FormatLinkObject(_FormatTitle(inst.codeTiers,inst.libelleTiers),Format(_TP(&amp;#039;Tiers %s&amp;#039;),[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>