2017-10-13 9 views
2

Je souhaite obtenir le tranid pour une facture dès que la facture a été créée.Comment obtenir la valeur de l'ID de facture (tranid) dans le script d'événement utilisateur?

J'ai un script d'événement utilisateur avec le code suivant.

function showValue() 
{ 
    var tranid = nlapiGetFieldValue('tranid'); 
    nlapiLogExecution('DEBUG', 'save transaction', nlapiGetRecordType() + ", "+ nlapiGetRecordId() + ", "+ 'tranid' + ": "+ tranid + ", "+ (new Date())) 
} 

Après l'envoi La fonction est définie sur showValue.

Le déploiement s'applique à la facture.

Le type d'événement est défini sur Créer.

Lorsque j'enregistre une nouvelle facture qui suit est ajouté au journal d'exécution pour le déploiement:

"invoice, 1143428, tranid: To Be Generated, Fri Oct 13 2017 04:21:08 GMT-0700 (PDT)" 

Comment l'id interne est défini, mais le tranid encore être « à générer »? Sûrement, le tranid serait défini au moment où l'identifiant interne est défini. Comment puis-je obtenir le tranid dans un script d'événement utilisateur?

Répondre

0

J'ai eu le même problème avant. Simple droit? J'ai soumis un cas pour ce problème et le support m'a dit que la façon de le faire est de charger à nouveau l'enregistrement ou faire une recherche (Suiteanswer id 34194 et 18215). Ce que j'avais avant, mais je ne l'ai pas fait parce que je voulais avoir un script optimisé et juste utiliser nlapiGetFieldValue. Mais à la fin de la journée, je n'avais pas le choix.

nlapiLookupField(nlapiGetRecordType, nlapiGetRecordId(), 'tranid')