Méthode pour éviter le message « Voulez-vous enregistrer » ?Salut. Je me demande s'il existe un moyen d'empêcher le message "Voulez-vous enregistrer..." lorsqu'une table est fermée ? Autrement dit, ce message :

Pourquoi? Parce que je veux permettre à l'utilisateur d'apporter des modifications au tableau, mais je veux le forcer à enregistrer au format CSV car nous avons d'autres applications qui nécessitent le format CSV. Pour ce faire, j'ajoute un script « << On Close » :
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
a = dt << is Dirty;
Show(a);
dt << add rows(5);
b = dt << is dirty;
Show(b);
dt << On Close(
dt = CurrentDataTable();
If(dt << Is Dirty,
dt << Save As("$DESKTOP/file.csv")
)
);Cependant, le message "Voulez-vous enregistrer..." apparaît toujours avant l'enregistrement du fichier CSV. Je ne veux vraiment pas que l'utilisateur enregistre à la fois sous forme de table jmp et de fichier csv, car cela crée alors 2 copies du même document, ce qui prêterait à confusion.
Spécifications :
JMP Pro 16.2.0
macOS Big Sur : 11.6.7
Merci!
Accès aux donnéesPersonnalisation de masseIngénierie Qualité et ProcédésRe : Méthode pour empêcher le message « Voulez-vous enregistrer » ?L'indicateur sale est activé à chaque fois qu'une modification est effectuée. Mais s'il est défini lorsque la table est fermée, vous recevrez une invite de sauvegarde. Vous pouvez essayer une expérience où vous l'enregistrez en tant que fichier CSV dès le début, je ne sais pas où il le sauvegardera plus tard après une autre modification. Je pense qu'il se souviendra peut-être encore de l'enregistrement dans le fichier CSV.Re : Méthode pour empêcher le message « Voulez-vous enregistrer » ?En fonction de ce que vous essayez de faire et des modifications que vous autorisez les utilisateurs à effectuer, vous pourriez peut-être utiliser Nouvelle boîte de données()
Re : Méthode pour empêcher le message « Voulez-vous enregistrer » ?Aha - oui, c'est le problème. Pour éviter l'invite de sauvegarde en définissant l'état non sale lorsque la table est chargée : facile. Pour définir l'état non sale après chaque fois que l'utilisateur modifie la table : je ne connais aucun moyen de le faire (comme un message " << On Change()"). Peut-être qu'il n'y a tout simplement pas de solution. 
Re : Méthode pour empêcher le message « Voulez-vous enregistrer » ?Met le pas sale état juste après le chargement ou la modification de la table. Je fais parfois cela pour des tables temporaires que je souhaiterais peut-être examiner mais que je ne veux pas conserver. L'idée est que chaque fois qu'une table est différente de la version enregistrée sur le disque, ce n'est pas une copie propre de ce qui se trouve sur le disque et doit être enregistrée. Une nouvelle table qui n'a pas été enregistrée est sale, mais vous pouvez la modifier.
edit : puisque vous testez le drapeau sale pour décider s'il doit être sauvegardé, vous aurez besoin d'une autre approche, peut-être toujours en le sauvegardant.
Re : Méthode pour empêcher le message « Voulez-vous enregistrer » ?Salut Craige. Je suppose que vous voulez ajouter cette ligne au script "On Close". J'ai essayé ça aussi. Le problème est que l'invite de sauvegarde apparaît avant l'exécution du script On Close.
Re : Méthode pour empêcher le message « Voulez-vous enregistrer » ?dt<<SETDIRTY></SETDIRTY>
marquera la table "non sale", empêchant l'invite de sauvegarde.