Szukaj…


Wprowadzenie

Edycja bezpośrednia pozwala użytkownikom bardzo szybko modyfikować i aktualizować dane dla konkretnego rekordu bez konieczności ładowania całego rekordu na stronę, edytowania formularza, a następnie zapisywania rekordu.

Programiści NetSuite mają odpowiednią funkcjonalność o nazwie submitFields . submitFields funkcjonalność jest przez nlapiSubmitField globalnej funkcji w SuiteScript 1,0 i N/record#submitFields Sposób in SuiteScript 2.0.

Składnia

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

Parametry

Parametr Detale
typ rekordu String - Wewnętrzny identyfikator typu aktualizowanego rekordu
recordId String lub Number - Wewnętrzny identyfikator aktualizowanego rekordu
fieldIds String lub String[] - Wewnętrzne identyfikatory aktualizowanych pól
fieldValues any or any[] - Odpowiednie wartości do ustawienia w danych polach
doSourcing Boolean - Określa, czy wartości zależne powinny być pozyskiwane po przesłaniu rekordu. Wartość domyślna to false

Uwagi

Funkcja submitFields jest funkcją towarzyszącą funkcji lookupFields .

Wydajność i ograniczenia

submitFields działa znacznie szybciej i wykorzystuje mniejszą submitFields niż wprowadzanie tych samych zmian przez ładowanie i przesyłanie pełnego rekordu.

Wiele pól może być aktualizowanych jednocześnie za taki sam koszt jak aktualizacja pojedynczego pola. Aktualizacja większej liczby pól za pomocą funkcji submitFields nie submitFields się z wyższymi kosztami zarządzania.

Należy jednak pamiętać, że tylko niektóre pola dla każdego typu rekordu można edytować bezpośrednio, a oszczędności wydajności dotyczą tylko tych pól edytowanych bezpośrednio. Jeśli submitFields funkcji submitFields w dowolnym polu, które nie może być edytowane bezpośrednio w polu, pole zostanie zaktualizowane poprawnie, ale za kulisami NetSuite załaduje i prześle rekord, tym samym zajmując więcej czasu i wykorzystując więcej zarządzania. Możesz ustalić, czy pole można edytować bezpośrednio, odwołując się do kolumny „nlapiSubmitField” w przeglądarce rekordów .

Funkcjonalność submitFields jest również ograniczona do pól treści rekordu. Jeśli musisz zmodyfikować dane listy podrzędnej, musisz załadować rekord, aby wprowadzić zmiany, a następnie przesłać rekord.

Bibliografia:

  • Pomoc NetSuite: „Edycja wbudowana i przegląd SuiteScript”
  • NetSuite Help: „Edycja bezpośrednia za pomocą nlapiSubmitField”
  • NetSuite Help: „Konsekwencje użycia nlapiSubmitField na polach edytowalnych nielinearnych”
  • NetSuite Help: „Field API”
  • Pomoc NetSuite: „record.submitFields (opcje)”

[1.0] Prześlij pojedyncze pole

/**
 * 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] Prześlij wiele pól

/**
 * 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] Prześlij pojedyncze pole

/**
 * 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] Prześlij wiele pól

/**
 * 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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow