Version 2025 r2 (release note)

De Wiki1000
(Différences entre les versions)
(Sélecteur)
Ligne 77 : Ligne 77 :
 
* lastOpeStamp, lastAffectedStamp
 
* lastOpeStamp, lastAffectedStamp
 
: Attributs mis à jour par la dernière opération assembliste.
 
: Attributs mis à jour par la dernière opération assembliste.
 +
 +
* RmvParameter()
 +
: Permet de retirer un paramètre qui a été ajouté par AddParameter()
  
 
* Amélioration de CopyTo
 
* Amélioration de CopyTo
Ligne 82 : Ligne 85 :
  
 
* CopyTo, Update, UpdateFrom  
 
* CopyTo, Update, UpdateFrom  
: Fonctionne sur les classes SQL
+
: Fonctionne sur les classes de stéréotype SQL
  
 
===UpdateFrom===
 
===UpdateFrom===
Ligne 140 : Ligne 143 :
 
tm0.modeLettrage = 1
 
tm0.modeLettrage = 1
 
;
 
;
 
 
</pre>
 
</pre>
  
 
[[Category:Version 2025 R2]]
 
[[Category:Version 2025 R2]]
 
[[Category:Release note]]
 
[[Category:Release note]]

Version du 10 avril 2025 à 19:14

Modèle:Version2025r1

Sommaire

 [masquer


PREVIEW

Script

Vue locale

  • Paramètre de type de donnée
Type
  vue1 = viewOf(ClassA)
   p1:TEnum(enumName) = ...;
  end;
  • Héritage de vue locale
Type
  vue1 = viewOf(ClassA)
   p1:string = ...;
   [...]
  end;
 
  vue2 = viewOf(vue1)
   p1:string = ...;
   [inherited]
  end;
  • Scope de vue locale

Une vue locale peut être référencée en dehors de la méthode ou elle est définie.

procedure Class1.foo;
Type
  vue1 = viewOf(ClassA)
   p1:string = ...;
  end;
begin
  ...
end;
 
procedure Class2.bar;
Type
  vue2 = viewOf(class1.foo.vue1)
   p1:string = ...;
  end;
begin
  ...
end;
  • Expression Exists()

Une expression existe peut être utilisée dans les filtres comme une valeur logique

Type
  vue1 = viewOf(ClassA)
   id:string = ...;
  end;
 
  vue2 = viewOf(ClassB)
   id:string = ...;
   bb:boolean = vue1.Exists('(id=self.id)',True,[]) notInSelect;
   [(bb=true) and (....)]
  end;

Sélecteur

  • lastOpeStamp, lastAffectedStamp
Attributs mis à jour par la dernière opération assembliste.
  • RmvParameter()
Permet de retirer un paramètre qui a été ajouté par AddParameter()
  • Amélioration de CopyTo
Permet de créer des objets à partir d'un sélecteur
  • CopyTo, Update, UpdateFrom
Fonctionne sur les classes de stéréotype SQL

UpdateFrom

function updateFrom(sel:TSelector; iMatchedProps:Array of string; iUpdatedProps:Array of string; iUpdatedValue:Array of variant):Integer;

Permet de mettre à jour une classe à partir d'un sélecteur et d'une colonne de correspondance.

Exemple :

Type
  // Update the temp table 
  vueTemp = viewOf(TempLettrage)
    reference1:string = reference1;
    reference2:string = reference2;
    modeLettrage:Integer = modeLettrage; 
  end;
 
  vueRef1 = viewOf(TempLettrage)
    //ACount:Integer = count(id);
    ATotal:Currency = sumSign(montant:TCValue,sens,'1');
    reference1:string = reference1; 
    [(modeLettrage=0) and (reference1<>'')] 
  end; 
 
var selT,selG:TSelector;
begin
  withP long transaction do
    begin
     // for updating the temp table on "match" 
     selT := vueTemp.CreateSelector('','',True,[]);
 
     // Lettrage sur reference 1 
     selG := vueRef1.CreateSelector('(ATotal=0)','',True,[]);
     selG.useCTE := True; 
     selT.UpdateFrom(selG,['reference1'],['modeLettrage'],[1]); 
    end;
end;
with CTE as (
select sum(case when t0.sens=1 then ISNULL(t0.montant_TCValue, 0) else -ISNULL(t0.montant_TCValue, 0) end)  as "ATotal",t0.reference1  as "reference1"
from dbo.TEMPLETTRAGE t0 WITH (NOLOCK)
where ((t0.modeLettrage = 0) and (t0.reference1 IS NOT NULL))
group by t0.reference1
)
merge into dbo.TEMPLETTRAGE tm0 using (
SELECT  *
FROM CTE
Where (ATotal = 0.0000)
) tm1 on (tm1.reference1=tm0.reference1)
when matched then update set
tm0.modeLettrage = 1
;
Outils personnels