PW01-L03 · Zmena logiky

Vlastnosť nadradenej Work Area

Nahraďte projektovú systémovú premennú explicitným prechodom cez hierarchiu.

Špecifické pre ProjectWise
Výsledok migrácie

Pochopíte, prečo je nový výraz dlhší, ale presnejšie opisuje zdroj hodnoty.

ProjectWise kontext

Atribúty dokumentu

PW systémová premennáPôvodná konfigurácia ProjectWise
$PROJECT#PROJECT_Code
CELProjectWise CEL
thisFolder.getOwnerWorkArea().properties.Code

Čo je odlišné

CEL najprv vyhľadá vlastnícku Work Area aktuálneho priečinka a až potom číta položku Code z mapy jej vlastností.

  1. Prístup k hierarchii je v CEL explicitný.
  2. Metóda getOwnerWorkArea() môže vrátiť null, ak zodpovedajúca Work Area neexistuje.
  3. Od ProjectWise 25.0.3 sú hodnoty v WorkArea.properties reprezentované ako string.

Cieľ migrácie

Prečítajte projektový kód z Work Area, ktorá vlastní aktuálny priečinok dokumentu.

Čo sa mení

ProjectWise CEL modeluje hierarchiu krokmi: aktuálny priečinok, vlastnícka Work Area, mapa vlastností a položka Code. Toto je viac než mechanické premenovanie tokenu.

Prečo je CEL riešenie presnejšie

Zo zápisu je viditeľné, odkiaľ hodnota pochádza. Zároveň odhaľuje miesto, kde môže hierarchické vyhľadanie zlyhať.

Pred nasadením

Overte priečinky s vlastníckou Work Area aj bez nej. Ak getOwnerWorkArea() môže vrátiť null, pridajte podmienku ešte pred čítaním properties.

Zdroje

  • BENTLEY-PW-CEL-SYSVARS — oficiálna náhrada projektovej premennej.
  • BENTLEY-PW-CEL-OBJECTS — WorkArea a mapa vlastností.
  • BENTLEY-PW-CEL-NULLS — správanie metód, ktoré vracajú objekty.