2017-08-21 2 views
0

J'essaie de rechercher des données de compte en utilisant SuiteScript 1.0 dans netsuite, mais je reçois "SS_INVALID_SRCH_COL Détails: Un nlobjSearchColumn contient une colonne non valide, ou n'est pas dans la syntaxe correcte:" erreur. J'utilise le rôle Admin pour ma connexion. suivant l'exemple de code qui provoque l'erreurSuitescript vérifier si champ est consultable

function getMasterData(datain) 
{ 
    try 
    { 
     var recordtype = 'account'; 


     var c; 
     var strcolumns = nlapiCreateRecord(recordtype).getAllFields(); 

     var searchcolumns = []; 
     for (c = 0; strcolumns.length && c < strcolumns.length; c += 1) 
     { 
      searchcolumns.push(new nlobjSearchColumn(strcolumns[c])); 
     } 

     var data = nlapiSearchRecord(recordtype, null, null, searchcolumns); 
     return data; 
    } 
    catch (ex) 
    { 
     nlapiLogExecution('debug', 'getMasterData', ex); 
    } 
    } 

Je connais la raison: getAllFields() retourne tous les champs (recherches/nonsearchable), mais nlapiSearchRecord ne fonctionne que pour champs de recherche. Ma question est de savoir comment je peux filtrer les champs interrogeables dans tous les champs retournés par la fonction getAllFields().

Pouvez-vous s'il vous plaît quelqu'un m'aider à ce sujet. Merci d'avance.

Répondre

0

Il n'existe aucun moyen de savoir si un champ peut être utilisé dans une recherche, mais vous pouvez obtenir les champs pris en charge à partir du Records Browser et créer un tableau avec eux.

Notez que vous pouvez obtenir un enregistrement avec tous les champs et valeurs en utilisant nlapiLoadRecord.