{"id":3215,"date":"2019-04-19T13:24:18","date_gmt":"2019-04-19T13:24:18","guid":{"rendered":"https:\/\/answers.gurussolutions.com\/answers\/netsuite-workflow-pop-up-alert-for-sales-order-shipping-cost-discrepancy-2\/"},"modified":"2026-07-28T18:25:36","modified_gmt":"2026-07-28T18:25:36","slug":"workflow-netsuite-alerte-contextuelle-en-cas-de-divergence-concernant-les-frais-dexpedition-dune-commande-client","status":"publish","type":"qa_entry","link":"https:\/\/answers.gurussolutions.com\/fr\/answers\/workflow-netsuite-alerte-contextuelle-en-cas-de-divergence-concernant-les-frais-dexpedition-dune-commande-client\/","title":{"rendered":"Workflow NetSuite : alerte contextuelle en cas de divergence concernant les frais d&rsquo;exp\u00e9dition d&rsquo;une commande client"},"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 place un workflow NetSuite afin d\u2019avertir les utilisateurs lorsque les frais de port figurant sur une facture sont inf\u00e9rieurs \u00e0 ceux de la commande client correspondante, ce qui permet d\u2019\u00e9viter toute perte de chiffre d\u2019affaires.","ga_short_answer":"Pour alerter les utilisateurs lorsque les frais de port de la commande client d\u00e9passent ceux de la facture, cr\u00e9ez un workflow NetSuite sur l'enregistrement de la facture. Utilisez deux champs personnalis\u00e9s du corps de la transaction pour saisir et comparer les frais de port, puis d\u00e9clenchez une action \u00ab Afficher un message \u00bb c\u00f4t\u00e9 client \u00e0 l'aide d'une formule personnalis\u00e9e afin d'afficher une fen\u00eatre contextuelle d'avertissement.","ga_scenario":"Les collaborateurs ajustent fr\u00e9quemment les frais de livraison lors de l\u2019ex\u00e9cution des commandes \u00e0 un tarif inf\u00e9rieur \u00e0 celui indiqu\u00e9 sur la commande client valid\u00e9e par le client, ce qui peut entra\u00eener une perte potentielle de chiffre d\u2019affaires. Bien qu\u2019il puisse exister des raisons l\u00e9gitimes \u00e0 ces ajustements, ces \u00e9carts sont souvent dus \u00e0 des erreurs, ce qui affecte la rentabilit\u00e9 des commandes.","ga_solution":"Les premi\u00e8res tentatives d\u2019utilisation des champs de workflow et de l\u2019action \u00ab Afficher un message \u00bb n\u2019ont pas fonctionn\u00e9 comme pr\u00e9vu lors des tests des conditions. L\u2019utilisation du Visual Builder pour les conditions n\u2019a pas non plus d\u00e9clench\u00e9 l\u2019action. L\u2019action \u00ab Renvoyer une erreur \u00e0 l\u2019utilisateur \u00bb, lorsqu\u2019elle \u00e9tait associ\u00e9e \u00e0 un d\u00e9clencheur \u00ab Avant l\u2019envoi de l\u2019enregistrement \u00bb, s\u2019est ex\u00e9cut\u00e9e mais a affich\u00e9 le message sur une nouvelle page plut\u00f4t que dans la fen\u00eatre contextuelle souhait\u00e9e. L\u2019action \u00ab Afficher un message \u00bb est sp\u00e9cialement con\u00e7ue pour les \u00e9v\u00e9nements et d\u00e9clencheurs c\u00f4t\u00e9 client, qui se produisent dans le navigateur. Dans ce contexte, les champs de workflow \u00e9taient initialement consid\u00e9r\u00e9s comme des champs c\u00f4t\u00e9 serveur. Le d\u00e9clencheur \u00ab Avant l\u2019envoi par l\u2019utilisateur \u00bb est un d\u00e9clencheur c\u00f4t\u00e9 client. Lors de la comparaison de champs de devise, il est n\u00e9cessaire de les convertir en nombre entier \u00e0 l\u2019aide de `parseInt()`\n\n\n\n.\n\nPour mettre en \u0153uvre cette solution, proc\u00e9dez comme suit :nn\n1. <a class=\"ga-interlink\" href=\"https:\/\/answers.gurussolutions.com\/fr\/answers\/how-to-add-contact-drop-down-and-email-fields-to-netsuite-sales-orders\/\">Cr\u00e9ez deux champs personnalis\u00e9s du corps de la transaction<\/a>\n\n\n\n.\n\nAcc\u00e9dez \u00e0 Personnalisation > Listes\/Enregistrements\/Champs > Champs du corps de la transaction > Nouveau.\n\nChamp n\u00b0 1 \u2013 Enregistre les frais d\u2019exp\u00e9dition de l\u2019ordre de vente*   Libell\u00e9 : Frais d\u2019exp\u00e9dition de l\u2019ordre de vente (Workflow)*   Type : Devise*   S\u2019applique \u00e0 : Ventes*   Type d\u2019affichage : Texte en ligne\n\nChamp n\u00b0 2 \u2013 Enregistre les frais d\u2019exp\u00e9dition de la facturen*   Libell\u00e9 : Frais d\u2019exp\u00e9dition de la facture (workflow)n*   Type : Devisen*   S\u2019applique \u00e0 : Ventesn*   Type d\u2019affichage : Texte en lignennn\n2. Cr\u00e9ez un workflow.\n\nAcc\u00e9dez \u00e0 : Personnalisation > Workflow > Nouveau.\n\nD\u00e9finition du workflown*   Nom : Alerte relative aux frais d\u2019exp\u00e9dition de la facturen*   Type d\u2019enregistrement : Transactionn*   Sous-types : Facturen*   D\u00e9finition de l\u2019\u00e9v\u00e9nement \u00ab \u00c0 la cr\u00e9ation \u00bb\n\nD\u00e9finir l\u2019\u00e9tat 1 \u2013 Alerte de facture\n\nAction n\u00b0 1 \u2013 D\u00e9finir la valeur d\u2019un champn*   D\u00e9clencheur : Entr\u00e9e n*   Champ : Frais d\u2019exp\u00e9dition de la commande client (workflow)n*   Formule :n\n\n```\nn{createdfrom.shippingcost}n\n```\n\n\n\nAction n\u00b0 2 \u2013 D\u00e9finir la valeur d\u2019un champn*   D\u00e9clencheur : Avant la soumission par l\u2019utilisateur*   Champ : Frais d\u2019exp\u00e9dition de la facture (workflow)*   Champ source = T*   Enregistrement (champ de jointure) : enregistrement actuel*   Champ : Frais d\u2019exp\u00e9dition\n\nAction n\u00b0 3 - Afficher un message*   Condition*   Formule personnalis\u00e9e :n\n\n```\nnparseInt({custbody_gs_so_ship_workflow})>parseInt({custbody_gs_inv_ship_cost_workflow})n\n```\n\n\n\nn*   Texte : Frais d\u2019exp\u00e9dition de la commande > Frais d\u2019exp\u00e9dition de la facture\n\nRemarque importante : la hi\u00e9rarchie des actions impose que l\u2019action \u00ab Afficher un message \u00bb soit la derni\u00e8re de la s\u00e9quence.","ga_source_author":"Louis Morin","ga_source_author_email":"","ga_date_original":"2019-04-19T06:24:18-07:00","ga_date_verified":"2026-07-05","ga_source_subject":"How do I create a Workflow on Invoice Record to display a Pop-Up Window Saying that the SO Shipping Cost > Invoice Shipping Cost?","ga_ans_id":"ANS-1476","ga_publish_decision":"publish_with_edits","ga_staleness_risk":"high","ga_review_priority":"verify_soon","ga_tier2_verdict":"partially_outdated","ga_tier2_concerns":"The use of `nlapiGetFieldValue()` in the custom formula for the 'Show Message' action is likely outdated. While it might still function due to backward compatibility, current NetSuite workflow custom formulas typically use direct field references (e.g., `{fieldId}`) rather than SuiteScript 1.0 functions.","ga_final_category":"Custom Fields, Records & Forms","footnotes":""},"ga_category":[97,22,97],"ga_audience":[89],"ga_difficulty":[92],"class_list":["post-3215","qa_entry","type-qa_entry","status-publish","hentry","ga_category-champs-personnalises-enregistrements-et-formulaires","ga_category-custom-fields-records-forms","ga_audience-administrateur-netsuite","ga_difficulty-niveau-intermediaire"],"taxonomy_info":{"ga_category":[{"value":97,"label":"Champs personnalis\u00e9s, enregistrements et formulaires"},{"value":22,"label":"Custom Fields, Records & Forms"},{"value":97,"label":"Champs personnalis\u00e9s, enregistrements et formulaires"}],"ga_audience":[{"value":89,"label":"Administrateur NetSuite"}],"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\/3215","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\/3215\/revisions"}],"predecessor-version":[{"id":5135,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/3215\/revisions\/5135"}],"wp:attachment":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/media?parent=3215"}],"wp:term":[{"taxonomy":"ga_category","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_category?post=3215"},{"taxonomy":"ga_audience","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_audience?post=3215"},{"taxonomy":"ga_difficulty","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_difficulty?post=3215"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}