ciao marco ,

praticamente quella procedura non esiste .
E un problema perche trattandosi di fatturazione , quando faccio button2.cancel; ,
i dati vengono scritti ugualmente , ed il magazzino si aggiorna anche se annullo tutto.
Con paradox scrivevo sull aftercancel , table1.cancelUpdate ,e i dati annullavano sulla tabella .

Se sapessi come convertire questo codice per firebird avrei gia fatto il passaggio

if data.magazzino.FindKey([UpperCase(Data.ArticoliVenditaCodice.Value),DAta.V endita.Value,'Vendita']) THEN
magazzino.edit else magazzino.append;

Praticamente se trova il codice di vendita(fattura) , scive un record nel magazzino con data prezzo etc .
Se non posso usare un vendita.cancelUpdate; sono incasinato perche i dati vengono scritti anche se annullo il documento .

Non riesco ad usare un locate con questi parametri , e di conseguenza convertire tutto con firebird.
Cosa mi consigli .