ANS-1639 · DéVELOPPEMENT SUITESCRIPT

Comment rediriger vers la page d’état du script planifié à partir d’un Suitelet

Redirigez les utilisateurs depuis un Suitelet vers des pages NetSuite internes, telles que la page « État des scripts planifiés », à l’aide de SuiteScript côté serveur.

Solution courte

Pour rediriger vers la page « Statut des scripts planifiés » à partir d’un Suitelet, utilisez la fonction toTaskLink du module N/redirect avec l’identifiant de tâche LIST_SCRIPTSTATUS. Pour les autres pages internes de NetSuite, telles que les enregistrements, utilisez N/redirect.toRecord ou N/redirect.toSuitelet. Cette approche côté serveur garantit une navigation correcte au sein de NetSuite.

Scénario

Les développeurs ont souvent besoin de rediriger les utilisateurs vers des pages NetSuite spécifiques après qu’un Suitelet a traité des données ou effectué une action. Alors que les scripts côté client peuvent utiliser window.location, les Suitelets côté serveur nécessitent une approche différente pour accéder aux ressources internes de NetSuite, notamment les pages d’enregistrements standard ou les pages système spécifiques telles que la page « État des scripts planifiés ».

Solution

Pour effectuer

une redirection vers une URL spécifique à partir d’un Suitelet, le SuiteScript côté serveur doit utiliser le module N/redirect afin de résoudre la ressource NetSuite correspondante. Contrairement aux scripts côté client qui utilisent window.location, les Suitelets nécessitent une fonction de redirection côté serveur.

  1. Redirection vers la page d’un enregistrement

    Pour rediriger vers un enregistrement spécifique, tel qu’une facture, utilisez la fonction N/redirect.toRecord. Cette fonction nécessite un objet « options » précisant le type d’enregistrement, son ID et si celui-ci doit être ouvert en mode édition.

javascript
    /**
     * @NApiVersion 2.x
     * @NScriptType Suitelet
     * @NModuleScope SameAccount
     */
    define(['N/redirect'], function(redirect) {
        function onRequest(context) {
            if (context.request.method === 'GET') {
                var invID = context.request.parameters.invoiceId; // Example: get ID from URL parameter
                var isEdit = true; // Example: open in edit mode
                redirect.toRecord({
                    type: 'invoice',
                    id: invID,
                    isEdit: isEdit
                });
            }
        }
        return {
            onRequest: onRequest
        };
    });
  1. Redirection vers la page d’état des scripts planifiés

    Pour rediriger vers la page d’état des scripts planifiés, utilisez la fonction N/redirect.toTaskLink avec l’ID de tâche approprié. L’ID de tâche correspondant à la page « Statut des scripts planifiés » est LIST_SCRIPTSTATUS.

javascript
    /**
     * @NApiVersion 2.x
     * @NScriptType Suitelet
     * @NModuleScope SameAccount
     */
    define(['N/redirect'], function(redirect) {
        function onRequest(context) {
            if (context.request.method === 'GET') {
                redirect.toTaskLink({
                    id: 'LIST_SCRIPTSTATUS'
                });
            }
        }
        return {
            onRequest: onRequest
        };
    });

Pour obtenir la liste complète de tous les ID de tâche menant aux pages spéciales de NetSuite, recherchez « ID de tâche » dans la documentation d’aide de NetSuite.

Support expert NetSuite

Besoin d’aide pour cet enjeu NetSuite ?

Accompagnement-conseil et configuration pour Développement SuiteScript

Parler à un consultant