Si un élément de contrôle est modifié, le statut du formulaire du bloc & restera inchangé. Une solution consiste à ajouter un déclencheur (WHEN-VALIDATE-ITEM) à l'élément pour forcer le changement du statut de l'enregistrement. Dans le déclencheur, définissez le statut de l'enregistrement sur "CHANGED". Vous devrez peut-être une certaine logique pour prendre soin des nouveaux dossiers ainsi, par exemple:
IF GET_RECORD_PROPERTY(NAME_IN ('SYSTEM.TRIGGER_RECORD'),
NAME_IN ('SYSTEM.TRIGGER_BLOCK'),
STATUS) = 'QUERY' THEN
Set_Record_Property (NAME_IN ('SYSTEM.TRIGGER_RECORD'),
NAME_IN ('SYSTEM.TRIGGER_BLOCK'),
STATUS,
CHANGED_STATUS);
ELSIF GET_RECORD_PROPERTY(NAME_IN ('SYSTEM.TRIGGER_RECORD'),
NAME_IN ('SYSTEM.TRIGGER_BLOCK'),
STATUS) = 'NEW' THEN
Set_Record_Property (NAME_IN ('SYSTEM.TRIGGER_RECORD'),
NAME_IN ('SYSTEM.TRIGGER_BLOCK'),
STATUS,
INSERT_STATUS);
END IF;
Sinon (et cela est probablement une meilleure méthode), dans votre déclencheur QUAND revalider-ITEM, définissez la valeur d'un élément de base de données dans le même enregistrement à une certaine valeur (selon l'autre réponse ici). Cela réglera automatiquement l'état de l'enregistrement correctement.
oui j'utilise l'élément de contrôle, pour les contrôler que dois-je faire? Plz m'aider. – Amir
@rima: Dans ce cas, n'utilisez pas ': system.form_status'. Vous pouvez vérifier si les valeurs ont été modifiées (sont-elles différentes de la valeur par défaut?) –
aha, je l'ai eu.Merci mec – Amir