Preferencias Generales & Parámetros personalizados | IMR Software
Solicitud de Viáticos Empleados
abril 20, 2015
Consolidación de proveedores para multiples subsidiarias.
abril 21, 2015

Antecedentes

Las Preferencias generales de NetSuite como su nombre lo indica, son preferencias generales disponibles para todas las subsidiarias y empleados, las cuales indican o establecen los parámetros con los que la cuenta de NetSuite va a funcionar. Sin embargo, es común, que al implementar NetSuite surjan procesos personalizados que requieran parámetros, un error común es dejar estos parámetros en Hard Code, ahora te mostramos como crear preferencias generales personalizadas y utilizarlos como parámetros para los procesos.

¿Como crear preferencias generales personalizadas?

Solo debemos ejecutar los siguientes pasos:

  1. Ir al Script deseado.
  2. Clic en la pestaña Parámetros
  3. Clic en Nuevo parámetro
  4. Ingresar la información solicitada (es indispensable seleccionar Empresa en el campo Preferencia)
  5. Guardar
param

Parámetro del Script

prefere

Preferencia general creada a través de parámetro de Script.

Importante: es probable que nuestros Scripts compartan parámetros, y para esos casos recomendamos lo siguiente:

  1. Crear un Script tipo Suitelet 
  2. Implementar el Script (marcar la opción Disponible sin inicio de sesión)
  3. Crear todos los parámetros genéricos a compartir.
  4. Utilizar el siguiente código fuente:
    •   
      //El siguiente código fuente regresara TODOS los parámetros del script.
      //returnBlank es una función de ejemplo; asegura que el dato no sea null o undefined
      //Base64 es una función de ejemplo; manipula el Base 64
      var context		= nlapiGetContext();
      var scriptId		= returnBlank(context.getScriptId());
      var script_filters	= new Array();
          script_filters.push(new nlobjSearchFilter('scriptid',null,'is',scriptId));
      var script_results	= returnBlank(nlapiSearchRecord('script', null, script_filters, null));
      var script_id		= script_results[0].getId();
      var script_record	= nlapiLoadRecord('script', script_id);
      var parameter_lines	= script_record.getLineItemCount('parameters');
      var data				= new Object();
      for(var i=1;i<=parameter_lines;i++)
      {
      	var param_name	 = script_record.getLineItemValue('parameters', 'internalid', i);
      	var param_value  = returnBlank(context.getSetting('SCRIPT', param_name));
      	data[param_name] = param_value;
      }
      data	= JSON.stringify(data);
      data	= Base64.encode(data);
      response.write(data);
      
  5. Hacer un Request a dicho Script  cada que sea necesario.
    • Nota: El Request regresará una cadena codificada en Base 64 por lo que se tendrá que decodificar y posteriormente convertir en un objeto JSON

¿Cómo podemos ayudar?

NetSuite es una gran plataforma que configurada adecuadamente puede dar resultados extraordinarios en su negocio. En IMR contamos con la experiencia y conocimientos para apoyar el logro de sus objetivos. Si necesita ayuda, por favor contactanos.

Deja una respuesta