CallFieldValidate

Ho provato a fare un semplicissimo dataport per importare i clienti usando un file di testo a formato variabile con soli field No. e Name e come separatore del tipo 00001Cliente 1 00002Cliente 2 Tutto funziona però mi sarei aspettato che impostando CallFieldValidate = Sì sul DataPortField Name mi facesse scattare il Trigger OnValidate e mi riempisse il Field Search Name. Invece questo non succede, però se impostato AutoUpdate=no e AutoReplace=Sì funziona (ma nel mio caso non sarebbe corretto) Qualcuno si è già imbattuto in qualcosa di simile? Grazie Ciao Ermanno

Leggi qui: http://www.navision.net/forum/topic.asp?TOPIC_ID=10976&SearchTerms=CallFieldValidate Ciao Marco

Ciao Marco e grazie per la soluzione a tempo di record. Ermanno

Ciao Marco ti disturbo ancora perchè la soluzione suggerita nel link


Sales Header - OnAfterImportRecord() SalesHeader.VALIDATE(“Sell-to Customer No.”); SalesHeader.MODIFY; There same should be done for all table fields with code in the VALIDATE trigger: “Bill-to Customer No.” “Ship-to Code” etc.


nel mio caso non è applicabile perchè i record che inserisco sono nuovi (in pratica vogli inserire i clienti dal vecchi gestionale) e vorrei che per esempio il Field Search Name venisse compilato in automatico. Ho provato afare quindi una cosa del genere: Customer - OnAfterImportRecord() VALIDATE(Name); non ho meso la MODIFY che mi avrebbe dato errore e il Field Search Name viene riempito ma sempre al valore del primo cliente: No. Name Search Name 00001 Cliente 1 CLIENTE 1 00002 Cliente 2 CLIENTE 2 Hai qualche tuo buon suggerimento? Ciao Ermanno

quote:


Originally posted by ErmannoG Hai qualche tuo buon suggerimento? Ciao Ermanno


OnPostReport - Credo, vado a memoria! CUSTOMER.FIND(‘-’); REPEAT Customer.VALIDATE(Name); Customer.MODIFY; UNTIL CUSTOMER.NEXT = 0; Bye!

Grazie in pratica l’unica da quanto vedo è quella di scorrere dopo l’importazione tutti i record e validare i campi necessari. Ciao

Ciao Ermanno, il problema del “Search Name” è causato dalla IF che c’è nell’OnValidate del campo e da come il record importato viene inizializzato. Se vuoi che il campo sia corretto, devi assicurarti che sia inizializzato. Puoi farlo mettendo l’istruzione: “Search Name” := ‘’; nel trigger OnBeforeImportRecord. Oppure commentare la IF che c’è in tabella 18 nell’onvalidate del campo e riattivarla dopo l’esecuzione del dataport. Elena

Ciao Elena grazie per il suggerimento in effetti è un metodo che non avevo preso in considerazione. Ciao Ermanno