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. |
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:
Registre las acciones que se activan antes de beforeSubmit
solo:
Registrar acciones que desencadenan después de afterSubmit
solo:
beforeSubmit
afterSubmit
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).
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.
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.