Besoin d'aide avec Suppress Eval et Eval FormulaIl y a plusieurs questions ici que je ne comprends pas:
- Pourquoi Suppress Eval semble parfois être automatiquement activé lors de la création de formules?
- Une fois activée (accidentellement ou autrement), comment puis-je faire en sorte que les formules soient réévaluées sans désactiver la suppression manuellement colonne par colonne (ou attributs de standardisation)?
- J'ai trouvé les formules de suppression, d'évaluation et de réexécution de formule dans la zone sensible de la table de données, mais une fois que Suppression est activée manuellement, elles ne semblent pas fonctionner.
- Dans JSL, comment puis-je faire en sorte que cela fonctionne? (Succès limité en utilisant dt << Supprimez Eval (0) et dt << Relancez les formules ou en spécifiant des colonnes spécifiques).
Je joins un tableau de données très simple avec 2 colonnes supprimées. Qu'est-ce que je fais mal??
Re: Besoin d'aide avec Suppress Eval et Eval FormulaTables-> Sort a également l'option Supress Eval.
Re: Besoin d'aide avec Suppress Eval et Eval FormulaMerci Jeff! Cela peut en fait être à l'origine des problèmes de "suppression accidentelle" du client. Je vais le transmettre.
Re: Besoin d'aide avec Suppress Eval et Eval FormulaOutre les erreurs lors de la création de formules pouvant entraîner une invite à supprimer l'évaluation, le moyen le plus courant de définir des colonnes pour supprimer l'évaluation consiste à utiliser le menu Tables.
Tables-> Sous-ensemble a une option activée par défaut pour supprimer eval.

Empiler et rejoindre ont des options similaires.
Re: Besoin d'aide avec Suppress Eval et Eval FormulaMerci Jerry!
Re: Besoin d'aide avec Suppress Eval et Eval FormulaMerci Brady! Comme d'habitude, le diable est dans les détails. Des différences subtiles que je n'avais pas cernées.
Donc, si je comprends bien, la suppression de colonne individuelle doit être effacée individuellement. La suppression de la table de données est quelque chose de différent et est effacée du niveau de la table de données.
Pour votre information, cela venait d'une demande de client. Il avait des colonnes individuelles qui seraient configurées sur Suppress Eval (d'une manière ou d'une autre), puis ne seraient pas mises à jour. Il cherchait un simple bouton "Recalc All". Vous pensez que ce serait une fonctionnalité utile à ajouter un jour?
Re: Besoin d'aide avec Suppress Eval et Eval FormulaJ'aurais dû être plus explicite sur la table de données dt = current ().
Si vous écrivez un script
dt = table de données actuelle;
au lieu de
dt = table de données actuelle ();
dt ne sera PAS lié à un handle de table de données ... il sera lié à la valeur de la variable par le nom de «table de données actuelle». Presque certainement, cette variable sera indéfinie.
Dans ce cas, les messages de la table de données envoyés à dt tomberont dans l’oreille d’un sourd. Cela suffit à provoquer l'échec du script d'origine.
Re: Besoin d'aide avec Suppress Eval et Eval FormulaLa seule chose que j’ajouterais, c’est qu’il semblerait qu’une colonne accepte: Supprimer Eval (0 | 1) ou Supprimer Formula Eval (0 | 1) alors que le tableau ne répond qu’à Suppression de formule Eval (0 | 1). Cela pourrait expliquer le "succès limité" ou les incohérences que vous constatiez. En outre, le paramètre de colonne remplace le paramètre de table.
Re: Besoin d'aide avec Suppress Eval et Eval FormulaJe n'ai pas abordé 1) et 2).
1) Lorsqu'une erreur est générée par une formule de colonne, l'utilisateur est invité. Une option consiste à supprimer l'évaluation.
2) Je ne sais pas comment désactiver la suppression sauf par les méthodes que vous avez mentionnées dans la question ... Ce sont les méthodes que j'ai utilisées. Je ne rencontre pas beaucoup de suppression. Fondamentalement seulement quand j'ai une erreur dans une formule et que je veux résoudre un problème.
Re: Besoin d'aide avec Suppress Eval et Eval FormulaSalut Jerry,
Les parenthèses sont nécessaires après Current Data Table (), car il s’agit d’une fonction prenant 0 argument et renvoyant un descripteur à la table actuelle.
Je ne les utilise pas beaucoup, mais d'après ce que je peux dire, il semble y avoir 2 niveaux de suppression, le niveau de la table et le niveau de la colonne. Pour effacer la suppression au niveau de la colonne, utilisez ce qui suit.
Notez que les messages sont différents ... les colonnes utilisent << supprime eval (0 | 1) et les tables utilisent << suppriment la formule eval (0 | 1)
Names Default To Here( 1 );
dt = Current Data Table();
For( i = 1, i <= N Col( dt ), i++,
Column( dt, i ) << suppress eval( 0 )
);
Pour effacer la suppression au niveau de la table, utilisez:
dt << Suppress Formula Eval(0);
dt << Rerun Formulas;
Celles-ci fonctionnent pour moi sur la table que vous avez fournie, mais je ne les ai pas testées autrement, donc si quelqu'un a quelque chose à ajouter / corriger, veuillez ajouter un commentaire.
À votre santé,
Brady