Buscar..


Introducción

La edición en línea permite a los usuarios modificar y actualizar muy rápidamente los datos de un registro en particular sin tener que cargar todo el registro en una página, editar el formulario y luego guardar el registro.

Los desarrolladores de NetSuite tienen una funcionalidad correspondiente llamada submitFields . La funcionalidad submitFields es proporcionada por la función global nlapiSubmitField en SuiteScript 1.0 y el método N/record#submitFields en SuiteScript 2.0.

Sintaxis

  • nlapiSubmitField (recordType, recordId, fieldId, fieldValue);
  • nlapiSubmitField (recordType, recordId, fieldIds, fieldValues);
  • nlapiSubmitField (recordType, recordId, fieldId, fieldValue, doSourcing);

Parámetros

Parámetro Detalles
recordType String : la ID interna del tipo de registro que se está actualizando
recordId String o Number : el ID interno del registro que se está actualizando
FieldIds String o String[] : los ID internos de los campos que se están actualizando.
fieldValues any o any[] - Los valores correspondientes que se establecerán en los campos dados
doSourcing Boolean : si los valores dependientes se deben obtener al enviar el registro. El valor predeterminado es false

Observaciones

La funcionalidad submitFields es una característica complementaria de la funcionalidad lookupFields .

Rendimiento y limitaciones

submitFields desempeña significativamente más rápido y usa menos submitFields que los mismos cambios al cargar y enviar el registro completo.

Se pueden actualizar varios campos a la vez por el mismo costo que actualizar un solo campo. La actualización de más campos con submitFields no implica un mayor costo de gobierno.

Sin embargo, debe tener en cuenta que solo ciertos campos en cada tipo de registro se pueden editar en línea, y el ahorro de rendimiento solo se aplica a estos campos editables en línea. Si usa la función submitFields en cualquier campo no editable en línea, el campo se actualizará correctamente, pero entre bambalinas, NetSuite realmente cargará y enviará el registro, por lo que tomará más tiempo y usará más gobernanza. Puede determinar si un campo se puede editar en línea consultando la columna "nlapiSubmitField" en el Explorador de registros .

submitFields funcionalidad de submitFields también se limita a los campos del cuerpo de un registro. Si necesita modificar los datos de la lista secundaria, deberá cargar el registro para realizar los cambios y luego enviar el registro.

Referencias:

  • Ayuda de NetSuite: "Edición en línea y descripción general de SuiteScript"
  • NetSuite Help: "Edición en línea usando nlapiSubmitField"
  • Ayuda de NetSuite: "Consecuencias de usar nlapiSubmitField en campos editables no en línea"
  • NetSuite Help: "API de campo"
  • NetSuite Help: "record.submitFields (opciones)"

[1.0] Enviar un campo único

/**
 * A SuiteScript 1.0 example of using nlapiSubmitField to update a single field on a related record
 */

// From a Sales Order, get the Customer ID
var customerId = nlapiGetFieldValue("entity");

// Set a comment on the Customer record
nlapiSubmitField("customer", customerId, "comments", "This is a comment added by inline editing with SuiteScript.");

[1.0] Enviar campos múltiples

/**
 * A SuiteScript 1.0 example of using nlapiSubmitField to update multiple fields on a related record
 */

// From a Sales Order, get the Customer ID
var customerId = nlapiGetFieldValue("entity");

// Set a Comment and update the Budget Approved field on the Customer record
nlapiSubmitField("customer", customerId,
    ["comments", "isbudgetapproved"],
    ["The budget has been approved.", "T"]);

[2.0] Enviar un campo único

/**
 * A SuiteScript 2.0 example of using N/record#submitFields to update a single field on a related record
 */

require(["N/record", "N/currentRecord"], function (r, cr) {

    // From a Sales Order, get the Customer ID
    var customerId = cr.get().getValue({"fieldId": "entity"});

    // Set a Comment on the Customer record
    r.submitFields({
        "type": r.Type.CUSTOMER,
        "id": customerId,
        "values": {
            "comments": "This is a comment added by inline editing with SuiteScript."
        }
    });
});

[2.0] Enviar campos múltiples

/**
 * A SuiteScript 2.0 example of using N/record#submitFields to update multiple fields on a related record
 */

require(["N/record", "N/currentRecord"], function (r, cr) {

    // From a Sales Order, get the Customer ID
    var customerId = cr.get().getValue({"fieldId": "entity"});

    // Set a Comment and check the Budget Approved box on the Customer record
    r.submitFields({
        "type": r.Type.CUSTOMER,
        "id": customerId,
        "values": {
            "comments": "The budget has been approved.",
            "isbudgetapproved": true
        }
    });
});


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow