{"id":2622,"date":"2017-08-21T15:20:29","date_gmt":"2017-08-21T15:20:29","guid":{"rendered":"https:\/\/answers.gurussolutions.com\/answers\/how-to-retrieve-custom-address-field-values-from-netsuite-transactions-2\/"},"modified":"2026-07-28T18:25:05","modified_gmt":"2026-07-28T18:25:05","slug":"comment-recuperer-les-valeurs-des-champs-dadresse-personnalises-a-partir-des-transactions-netsuite","status":"publish","type":"qa_entry","link":"https:\/\/answers.gurussolutions.com\/fr\/answers\/comment-recuperer-les-valeurs-des-champs-dadresse-personnalises-a-partir-des-transactions-netsuite\/","title":{"rendered":"Comment r\u00e9cup\u00e9rer les valeurs des champs d&rsquo;adresse personnalis\u00e9s \u00e0 partir des transactions 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":"Ce guide d\u00e9crit en d\u00e9tail deux m\u00e9thodes de script permettant d\u2019extraire les valeurs des champs d\u2019adresse personnalis\u00e9s \u00e0 partir des enregistrements de transaction NetSuite.","ga_short_answer":"Les valeurs des champs d'adresse personnalis\u00e9s des transactions NetSuite peuvent \u00eatre r\u00e9cup\u00e9r\u00e9es \u00e0 l'aide de scripts. Les m\u00e9thodes consistent notamment \u00e0 charger la fiche client associ\u00e9e, puis \u00e0 parcourir son sous-enregistrement \u00ab Carnet d'adresses \u00bb afin de faire correspondre l'identifiant d'adresse et d'extraire le champ personnalis\u00e9. Il est \u00e9galement possible de cr\u00e9er une recherche NetSuite pour joindre la transaction \u00e0 l'adresse de facturation, ce qui permet d'extraire directement la valeur du champ personnalis\u00e9.","ga_scenario":"Les utilisateurs ont souvent besoin d\u2019acc\u00e9der par programmation aux valeurs des champs d\u2019adresse personnalis\u00e9s associ\u00e9s aux enregistrements de transaction, tels que les commandes client. Ces champs sont g\u00e9n\u00e9ralement d\u00e9finis dans le sous-enregistrement d\u2019adresse et li\u00e9s \u00e0 l\u2019adresse de facturation ou de livraison de la transaction. La difficult\u00e9 r\u00e9side dans l\u2019extraction efficace de ces valeurs personnalis\u00e9es sp\u00e9cifiques en vue d\u2019un traitement ult\u00e9rieur ou d\u2019un affichage.","ga_solution":"Pour r\u00e9cup\u00e9rer la valeur d\u2019un champ d\u2019adresse personnalis\u00e9 \u00e0 partir d\u2019une transaction NetSuite, deux m\u00e9thodes de script principales peuvent \u00eatre utilis\u00e9es. Il est important de noter que les exemples suivants utilisent les API SuiteScript 1.0, qui sont obsol\u00e8tes. Pour les nouveaux d\u00e9veloppements, NetSuite recommande d\u2019utiliser SuiteScript 2.x.\n\n1.  **R\u00e9cup\u00e9rer la valeur du champ personnalis\u00e9 en chargeant le sous-enregistrement au sein de l\u2019enregistrement client :**\n    Cette m\u00e9thode consiste \u00e0 charger l\u2019enregistrement de transaction, \u00e0 identifier l\u2019ID client et l\u2019ID d\u2019adresse associ\u00e9s, puis \u00e0 parcourir la sous-liste du carnet d\u2019adresses du client afin de localiser l\u2019adresse sp\u00e9cifique et d\u2019extraire la valeur du champ personnalis\u00e9 de son sous-enregistrement.\n\n```\njavascript\n    var transactionRecord  nlapiLoadRecord('salesorder', 554395);\n    \/\/ This should work also when using shipaddresslist\n    var addressRecordId  transactionRecord .getFieldValue('billaddresslist');\n    var customerRecord  nlapiLoadRecord('customer',\n    transactionRecord.getFieldValue('entity'));\n    var customFieldValue  null;\n    for (var i  1; i < customerRecord.getLineItemCount('addressbook'); i++)\n    {\n        customerRecord.selectLineItem('addressbook', i);\n        var id  customerRecord.getCurrentLineItemValue('addressbook', 'id');\n        if (id  addressRecordId)\n        {\n            var subrecord\n    customerRecord.viewCurrentLineItemSubrecord('addressbook',\n    'addressbookaddress');\n            customFieldValue  subrecord.getFieldValue('custrecord_contact_id');\n        }\n    }\n```\n\n2.  **Cr\u00e9ez une recherche pour obtenir la valeur de votre champ personnalis\u00e9 :**\n    Cette approche exploite les fonctionnalit\u00e9s de recherche de NetSuite pour interroger directement la transaction et effectuer une jointure avec son adresse de facturation, ce qui permet d\u2019extraire la valeur du champ personnalis\u00e9 de mani\u00e8re plus fluide.\n\n```\njavascript\n    var filters  [];\n    filters.push(new nlobjSearchFilter('internalid', null, 'anyof', 554395));\n    filters.push(new nlobjSearchFilter('mainline', null, 'is', 'T'));\n    var searchResults  nlapiSearchRecord('salesorder', null, filters, new\n    nlobjSearchColumn('custrecord_contact_id', 'billingaddress'));\n    var customFieldValue\n    searchResults[0].getValue('custrecord_contact_id', 'billingaddress');\n```","ga_source_author":"","ga_source_author_email":"","ga_date_original":"2017-08-21T11:20:29-04:00","ga_date_verified":"2026-07-05","ga_source_subject":"How do I retrieve the value of a custom address field from a transaction?","ga_ans_id":"ANS-0883","ga_publish_decision":"publish_with_edits","ga_staleness_risk":"high","ga_review_priority":"spot_check","ga_tier2_verdict":"partially_outdated","ga_tier2_concerns":"The functions nlapiLoadRecord, getFieldValue, getLineItemCount, selectLineItem, getCurrentLineItemValue, viewCurrentLineItemSubrecord, nlobjSearchFilter, nlapiSearchRecord, and nlobjSearchColumn are SuiteScript 1.0 APIs and have been replaced by their SuiteScript 2.x equivalents.; The overall SuiteScript 1.0 syntax and modular approach are deprecated, with NetSuite recommending SuiteScript 2.x for all new development.","ga_final_category":"SuiteScript Development","footnotes":""},"ga_category":[108,23,108],"ga_audience":[10],"ga_difficulty":[92],"class_list":["post-2622","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\/2622","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\/2622\/revisions"}],"predecessor-version":[{"id":4542,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/2622\/revisions\/4542"}],"wp:attachment":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/media?parent=2622"}],"wp:term":[{"taxonomy":"ga_category","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_category?post=2622"},{"taxonomy":"ga_audience","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_audience?post=2622"},{"taxonomy":"ga_difficulty","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_difficulty?post=2622"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}