Looking for netsuite Answers? Try Ask4KnowledgeBase
Looking for netsuite Keywords? Try Ask4Keywords

netsuiteEvento de usuario: antes y después de enviar eventos


Sintaxis

  • beforeSubmit (type) // Before Submit, 1.0
  • beforeSubmit (scriptContext) // Before Submit, 2.0
  • afterSubmit (type) // After Submit, 1.0
  • afterSubmit (scriptContext) // After Submit, 2.0

Parámetros

Parámetro Detalles
SuiteScript 2.0 -
scriptContext {Object}
scriptContext.newRecord {N/record.Record} Una referencia al registro que se está leyendo de la base de datos. Podemos utilizarlo para modificar los valores de campo en el registro.
scriptContext.oldRecord {N/record.Record} Una referencia de solo lectura al estado anterior del registro. Podemos usarlo para comparar con los nuevos valores.
scriptContext.type {UserEventType} Una enumeración del tipo de acción de escritura que se está realizando
SuiteScript 1.0 -
type {String} El tipo de acción de escritura que se está realizando.

Observaciones

beforeSubmit y después afterSubmit

Estos dos eventos son activados por cualquier operación de escritura de base de datos en un registro. Cada vez que un usuario, una secuencia de comandos, una importación CSV o una solicitud de servicio web intentan escribir un registro en la base de datos, se activan los eventos Enviar.

Registrar acciones que desencadenan ambos eventos Enviar:

  • Crear
  • Editar
  • Borrar
  • XEdit (edición en línea)
  • Aprobar
  • Rechazar
  • Cancelar
  • Paquete
  • Enviar

Registre las acciones que se activan antes de beforeSubmit solo:

  • Marca completa
  • Reasignar (casos de soporte)
  • Editar pronóstico

Registrar acciones que desencadenan después de afterSubmit solo:

  • Dropship
  • Orden especial
  • Encargar artículos
  • Pagar facturas

Casos de uso típicos de beforeSubmit

  • Validar registro antes de que se confirma a la base de datos
  • Controles de permisos y restricciones.
  • Cambios de última hora antes de confirmar la base de datos
  • Obtenga actualizaciones de sistemas externos

Casos de uso típicos para afterSubmit

  • Notificación por correo electrónico de los cambios de registro
  • Redirección del navegador
  • Crear / actualizar registros dependientes
  • Impulsar cambios a sistemas externos.

Eventos de usuario no encadenan

El código escrito en Eventos del usuario no activará ningún evento del Usuario en otros registros. Por ejemplo, la modificación del registro de Cliente asociado de la beforeSubmit de un registro de Orden de venta no activará los eventos de envío del registro de Cliente.

NetSuite hace esto para evitar que los eventos de usuario se activen entre sí en un bucle infinito. Si necesita eventos de usuario para disparar en una secuencia encadenada, tendrán que ser inyectado en los eventos entre otros tipos de script (por ejemplo, RESTlets Suitelets, scripts programados).

Los manejadores de eventos devuelven el void

El tipo de retorno de los controladores de eventos Enviar es void . Cualquier dato devuelto por nuestro controlador de eventos no tiene ningún efecto en el sistema. No necesitamos devolver nada de nuestra función de manejador, ya que no podemos hacer nada con su valor devuelto.

!! PRECAUCIÓN !!

Tenga mucho cuidado al comparar valores entre registros antiguos y nuevos. Los campos vacíos desde el antiguo registro se devuelven como null , mientras que los campos vacíos desde el nuevo registro se devuelven como una cadena vacía. Esto significa que no puede simplemente comparar lo antiguo con lo nuevo, o obtendrá falsos positivos. Cualquier lógica que escriba debe manejar el caso donde uno es null y el otro es una cadena vacía de manera apropiada.

Evento de usuario: antes y después de enviar eventos Ejemplos relacionados