{"id":2844,"date":"2017-08-21T15:46:30","date_gmt":"2017-08-21T15:46:30","guid":{"rendered":"https:\/\/answers.gurussolutions.com\/answers\/how-to-resolve-client-side-permission-errors-for-netsuite-data-lookups-2\/"},"modified":"2026-07-28T18:25:15","modified_gmt":"2026-07-28T18:25:15","slug":"comment-resoudre-les-erreurs-dautorisation-cote-client-pour-les-recherches-de-donnees-netsuite","status":"publish","type":"qa_entry","link":"https:\/\/answers.gurussolutions.com\/fr\/answers\/comment-resoudre-les-erreurs-dautorisation-cote-client-pour-les-recherches-de-donnees-netsuite\/","title":{"rendered":"Comment r\u00e9soudre les erreurs d&rsquo;autorisation c\u00f4t\u00e9 client pour les recherches de donn\u00e9es NetSuite"},"content":{"rendered":"","protected":false},"template":"","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","ga_subtitle":"Mettez en \u0153uvre un Suitelet c\u00f4t\u00e9 serveur afin d\u2019effectuer en toute s\u00e9curit\u00e9 des recherches dans les champs d\u2019enregistrements \u00e0 partir de scripts client, en contournant les restrictions d\u2019autorisation courantes.","ga_short_answer":"Les scripts c\u00f4t\u00e9 client rencontrent souvent des erreurs d\u2019autorisation lorsqu\u2019ils tentent d\u2019effectuer des recherches directes de donn\u00e9es. Une solution robuste consiste \u00e0 cr\u00e9er un Suitelet g\u00e9n\u00e9rique pour ex\u00e9cuter des recherches c\u00f4t\u00e9 serveur \u00e0 l\u2019aide des API SuiteScript 2.x modernes, puis \u00e0 appeler ce Suitelet depuis les scripts c\u00f4t\u00e9 client via une fonction d\u2019aide personnalis\u00e9e. Cette architecture centralise l\u2019acc\u00e8s aux donn\u00e9es et att\u00e9nue efficacement les probl\u00e8mes d\u2019autorisation.","ga_scenario":"Les scripts c\u00f4t\u00e9 client de NetSuite rencontrent fr\u00e9quemment des erreurs d\u2019autorisation lorsqu\u2019ils tentent de r\u00e9cup\u00e9rer directement les valeurs des champs d\u2019un enregistrement, en particulier lors de l\u2019utilisation d\u2019API SuiteScript 1.0 h\u00e9rit\u00e9es telles que nlapiLookupField. Cette limitation emp\u00eache les scripts d\u2019acc\u00e9der aux donn\u00e9es n\u00e9cessaires en raison des restrictions de s\u00e9curit\u00e9 inh\u00e9rentes aux contextes d\u2019ex\u00e9cution c\u00f4t\u00e9 client, ce qui nuit au bon fonctionnement et \u00e0 l\u2019exp\u00e9rience utilisateur.","ga_solution":"La solution architecturale aux erreurs d\u2019autorisation c\u00f4t\u00e9 client lors des recherches de donn\u00e9es consiste \u00e0 utiliser un Suitelet c\u00f4t\u00e9 serveur. Ce Suitelet sert d\u2019interm\u00e9diaire : il effectue la recherche de donn\u00e9es avec les autorisations c\u00f4t\u00e9 serveur appropri\u00e9es et renvoie les r\u00e9sultats au script client.\n1. D\u00e9veloppez un Suitelet g\u00e9n\u00e9rique pour les recherches c\u00f4t\u00e9 serveur : cr\u00e9ez un script Suitelet con\u00e7u pour effectuer des recherches dans les champs d\u2019un enregistrement. Ce Suitelet doit accepter des param\u00e8tres tels que le type d\u2019enregistrement, l\u2019identifiant de l\u2019enregistrement et le ou les champs \u00e0 rechercher. Il utilisera ensuite les API modernes de SuiteScript 2.x, telles que `N\/search.lookupFields`, pour r\u00e9cup\u00e9rer la ou les valeurs correspondantes \u00e0 partir de l\u2019enregistrement. Ce Suitelet personnalis\u00e9, qui peut \u00eatre impl\u00e9ment\u00e9 sous un nom tel que `EPI_SSU_LookupField` dans certains environnements personnalis\u00e9s, centralise la logique de recherche.\n2. Cr\u00e9er une fonction d\u2019aide c\u00f4t\u00e9 client : D\u00e9veloppez une fonction g\u00e9n\u00e9rique c\u00f4t\u00e9 client qui facilite l\u2019appel du Suitelet. Cette fonction, qui pourrait s\u2019intituler `getValueViaSSU` au sein d\u2019une biblioth\u00e8que personnalis\u00e9e (par exemple, `EPI_Lib_CUE_Fundraising`), doit prendre comme arguments le type d\u2019enregistrement, l\u2019ID d\u2019enregistrement et le champ souhait\u00e9. Elle effectuera ensuite un appel asynchrone vers le Suitelet d\u00e9ploy\u00e9, v\u00e9rifiera sa r\u00e9ponse et renverra la valeur. Assurez-vous que le Suitelet est correctement d\u00e9ploy\u00e9 et mettez \u00e0 jour toutes les constantes de la fonction d\u2019aide qui font r\u00e9f\u00e9rence aux identifiants de script et de d\u00e9ploiement du Suitelet.\n3. Remplacez les recherches directes c\u00f4t\u00e9 client :Dans tous les scripts c\u00f4t\u00e9 client rencontrant des erreurs d\u2019autorisation lors de recherches directes de donn\u00e9es (par exemple, ceux qui tentent d\u2019utiliser l\u2019ancienne fonction `nlapiLookupField()`), remplacez ces appels probl\u00e9matiques par des appels \u00e0 la fonction d\u2019aide personnalis\u00e9e c\u00f4t\u00e9 client (par exemple, `getValueViaSSU()`).Cette approche r\u00e9sout efficacement les probl\u00e8mes d\u2019autorisation c\u00f4t\u00e9 client en d\u00e9l\u00e9guant la r\u00e9cup\u00e9ration des donn\u00e9es \u00e0 un processus c\u00f4t\u00e9 serveur disposant d\u2019autorisations \u00e9tendues, garantissant ainsi un acc\u00e8s aux donn\u00e9es robuste et s\u00e9curis\u00e9.","ga_source_author":"","ga_source_author_email":"","ga_date_original":"2017-08-21T11:46:30-04:00","ga_date_verified":"2026-07-05","ga_source_subject":"SOL0368 Client Side Field Lookup","ga_ans_id":"ANS-1105","ga_publish_decision":"publish_with_edits","ga_staleness_risk":"high","ga_review_priority":"spot_check","ga_tier2_verdict":"partially_outdated","ga_tier2_concerns":"The function 'nlapiLookupField' is part of SuiteScript 1.0, which is considered a legacy API. Current NetSuite development best practices recommend using SuiteScript 2.x\/2.1, which utilizes modules like 'N\/search.lookupFields' for data lookups.; The specific script names 'EPI_SSU_LookupField', 'EPI_Lib_CUE_Fundraising', and the function 'getValueViaSSU' are custom implementations and are not standard NetSuite features or functions, thus their accuracy cannot be verified through general NetSuite documentation.","ga_final_category":"SuiteScript Development","footnotes":""},"ga_category":[108,23,108],"ga_audience":[10],"ga_difficulty":[92],"class_list":["post-2844","qa_entry","type-qa_entry","status-publish","hentry","ga_category-developpement-suitescript","ga_category-suitescript-development","ga_audience-developer-suitescript","ga_difficulty-niveau-intermediaire"],"taxonomy_info":{"ga_category":[{"value":108,"label":"D\u00e9veloppement SuiteScript"},{"value":23,"label":"SuiteScript Development"},{"value":108,"label":"D\u00e9veloppement SuiteScript"}],"ga_audience":[{"value":10,"label":"Developer\/SuiteScript"}],"ga_difficulty":[{"value":92,"label":"Niveau interm\u00e9diaire"}]},"featured_image_src_large":[],"author_info":[],"comment_info":"","_links":{"self":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/2844","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry"}],"about":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/types\/qa_entry"}],"version-history":[{"count":1,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/2844\/revisions"}],"predecessor-version":[{"id":4764,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/2844\/revisions\/4764"}],"wp:attachment":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/media?parent=2844"}],"wp:term":[{"taxonomy":"ga_category","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_category?post=2844"},{"taxonomy":"ga_audience","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_audience?post=2844"},{"taxonomy":"ga_difficulty","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_difficulty?post=2844"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}