« Version 2025 r2 (release note) » : différence entre les versions
Aucun résumé des modifications |
|||
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 à 17:14
PREVIEW
Script
Vue locale
- Paramètre de type de donnée
<source lang="delphi"> Type
vue1 = viewOf(ClassA) p1:TEnum(enumName) = ...; end;
</source>
- Héritage de vue locale
<source lang="delphi"> Type
vue1 = viewOf(ClassA) p1:string = ...; [...] end;
vue2 = viewOf(vue1) p1:string = ...; [inherited] end;
</source>
- Scope de vue locale
Une vue locale peut être référencée en dehors de la méthode ou elle est définie.
<source lang="delphi"> 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; </source>
- Expression Exists()
Une expression existe peut être utilisée dans les filtres comme une valeur logique
<source lang="delphi"> 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;
</source>
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
<source lang="delphi"> function updateFrom(sel:TSelector; iMatchedProps:Array of string; iUpdatedProps:Array of string; iUpdatedValue:Array of variant):Integer; </source>
Permet de mettre à jour une classe à partir d'un sélecteur et d'une colonne de correspondance.
Exemple :
<source lang="delphi"> 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; </source>
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 ;