|
<< Click to Display Table of Contents >> Navigation: WinArhi > Functii de legatura > funcţii pentru feronerie |
Funcţii pentru feronerie |
+ifOptFer, +ifNotOptFer, +ifGrupaOptFer, +ifNotGrupaOptFer
+ifOptFer, +ifNotOptFer, +ifGrupaOptFer, +ifNotGrupaOptFer
Funcții pentru opționalele de feronerie (începând cu versiunea 2026.0.79). Se scriu în coloana Functii a unui rând de feronerie – în setul de bază sau în conținutul unei valori de opțional – și decid dacă rândul intră în setul cercevelei:
+ifOptFer(Cod1, Cod2, ...) - adaugă articolul dacă cel puțin unul dintre codurile de valoare date este în lista efectivă de opționale a cercevelei;
+ifNotOptFer(Cod1, Cod2, ...) - adaugă articolul dacă niciunul dintre coduri nu este în lista efectivă;
+ifGrupaOptFer(Grupa1, Grupa2, ...) - adaugă articolul dacă cel puțin una dintre grupele date are o valoare efectivă pe cercevea, oricare ar fi ea;
+ifNotGrupaOptFer(Grupa1, Grupa2, ...) - adaugă articolul dacă niciuna dintre grupe nu are o valoare efectivă.
Lista efectivă este cea pe care o obține programul la introducerea setului: valorile alese explicit pe cercevea plus valorile implicite ale grupelor valabile fără alegere, după aplicarea excluderilor (vezi Reguli). Deci +ifOptFer(BAL3) este adevărată și pe o cercevea pe care nimeni nu a ales nimic, dacă BAL3 este implicitul grupei. Codurile se compară fără diferență între literele mari și mici. Funcțiile sunt singurul mod de a condiționa un rând XY sau un rând al setului de bază de un opțional; rândurile din conținutul unei valori intră oricum numai când valoarea este efectivă, deci acolo funcțiile au rost doar pentru combinații între valori din grupe diferite.
Fără cercevea (setul nu este introdus pe o cercevea) +ifOptFer și +ifGrupaOptFer sunt false, iar variantele +ifNot… sunt adevărate: comportamentul este închis, nu deschis.
Un cod scris greșit nu dă nicio eroare: +ifOptFer(BAL33) este pur și simplu mereu falsă, iar +ifNotOptFer(BAL33) este mereu adevărată, deci rândul intră întotdeauna. Singura protecție este verificarea 09 din Verifică opționalele, care listează parametrii acestor funcții care nu există în catalog. Rulați-o după orice editare a coloanei Functii.
Atenție: IfOption(...) și IfNotOption(...) aparțin altui sistem – Opțiuni fereastră selectabile – și sunt funcții de consum, apelate din script; într-o celulă Functii a unui set de feronerie ele nu fac nimic: nu sunt funcții „+if”, deci rândul intră ca și cum celula ar fi goală, fără niciun mesaj. Pentru opționalele de feronerie folosiți numai funcțiile de mai sus.
Din funcțiile script definite în Script, aceeași listă efectivă se citește din Val.HardwareOptions: câte o linie CodGrupa=Cod pentru fiecare valoare efectivă a cercevelei al cărei set se introduce.