खोज…


परिचय

नेटसुइट रिकॉर्ड्स बॉडी फील्ड और सब्बलिस्ट में विभाजित हैं। उपविदों के चार प्रकार हैं: स्टेटिक, संपादक, इनलाइन संपादक और सूची।

हम सबलिस्ट एपीआई का उपयोग करके लाइन आइटम जोड़ने, सम्मिलित करने, संपादित करने और निकालने में सक्षम हैं।

इस संदर्भ के लिए कि कौन-से उप-कलाकार सुइटस्क्रिप्ट का समर्थन करते हैं, "स्क्रिप्टेबल सब्बलिस्ट" शीर्षक से नेटसुइट हेल्प पेज देखें।

टिप्पणियों

सबलिस्ट इंडिक्स

सबलिस्ट में प्रत्येक पंक्ति वस्तु में एक इंडेक्स होता है जिसे हम इसका संदर्भ देने के लिए उपयोग कर सकते हैं।

सुइटस्क्रिप्ट 1.0 में, ये सूचकांक 1 आधारित हैं, इसलिए पहली पंक्ति के आइटम में इंडेक्स 1 , दूसरे में इंडेक्स 2 , और इसी तरह से अन्य हैं।

सुइटस्क्रिप्ट 2.0 में, ये सूचकांक 0 आधारित हैं, इसलिए पहली पंक्ति के आइटम में इंडेक्स 0 , दूसरे में इंडेक्स 1 , और इसी तरह से है। यह निश्चित रूप से जावास्क्रिप्ट सहित अधिकांश भाषाओं में ऐरे इंडेक्सिंग से अधिक निकटता से मेल खाता है।

मानक बनाम गतिशील मोड

हम जिस एपीआई का उपयोग सबलिस्ट के साथ बातचीत के लिए करते हैं, वह इस बात पर निर्भर करता है कि हम मानक या गतिशील मोड में रिकॉर्ड के साथ काम कर रहे हैं या नहीं।

मानक-मोड एपीआई बस हमें उस पंक्ति का सूचकांक प्रदान करते हैं जिसे हम उचित फ़ंक्शन के पैरामीटर के साथ काम करना चाहते हैं।

डायनामिक-मोड API एक पैटर्न का अनुसरण करते हैं:

  1. उस पंक्ति का चयन करें जिसके साथ हम काम करना चाहते हैं
  2. इच्छित पंक्ति को संशोधित करें
  3. लाइन में परिवर्तन करें

डायनामिक मोड में, यदि हम प्रत्येक पंक्ति में बदलाव नहीं करते हैं जिसे हम संशोधित करते हैं, तो उन परिवर्तनों को प्रतिबिंबित नहीं किया जाएगा जब रिकॉर्ड सहेजा जाता है।

सीमाएं

सुइटस्क्रिप्ट के माध्यम से सबलिस्ट डेटा के साथ काम करने के लिए, हमें रिकॉर्ड में मेमोरी का संदर्भ होना चाहिए। इसका मतलब है कि रिकॉर्ड को या तो स्क्रिप्ट के संदर्भ से पुनर्प्राप्त करने की आवश्यकता है, या हमें डेटाबेस से रिकॉर्ड लोड करने की आवश्यकता है।

हम या तो देखने या सबमिट करने की कार्यक्षमता के माध्यम से सब्लिस्ट्स के साथ काम नहीं कर सकते

स्टेटिक सब्लिस्ट्स सुइटस्क्रिप्ट का बिल्कुल समर्थन नहीं करते हैं।

संदर्भ:

  • नेटसुइट मदद: "एक सबलिस्ट क्या है?"
  • नेटसुइट मदद: "सबलिस्ट प्रकार"
  • नेटसुइट सहायता: "स्क्रिप्ट योग्य सब्बलिस्ट"
  • नेटसुइट मदद: "सबलिस्ट लाइन आइटम के साथ काम करना"
  • नेटसुइट मदद: "सबलिस्ट एपीआई"
  • नेटसुइट मदद: "डायनामिक मोड में रिकॉर्ड्स के साथ काम करना"

[१.०] एक सबलिस्ट पर कितनी लाइनें हैं?

// How many Items does a Sales Order have...

// ... if we're in the context of a Sales Order record
var itemCount = nlapiGetLineItemCount("item");

// ... or if we've loaded the Sales Order
var order = nlapiLoadRecord("salesorder", 123);
var itemCount = order.getLineItemCount("item");

[१.०] मानक मोड में उपनली

// Working with Sublists in Standard mode ...

// ... if the record is in context:

// Add item 456 with quantity 10 at the end of the item sublist
var nextIndex = nlapiGetLineItemCount("item") + 1;
nlapiSetLineItemValue("item", "item", nextIndex, 456);
nlapiSetLineItemValue("item", "quantity", nextIndex, 10);

// Inserting item 234 with quantity 3 at the beginning of a sublist
nlapiInsertLineItem("item", 1);
nlapiSetLineItemValue("item", "item", 1, 234);
nlapiSetLineItemValue("item", "quantity", 1, 3);

// Insert item 777 with quantity 2 before the end of the last item
var itemCount = nlapiGetLineItemCount("item");
nlapiInsertLineItem("item", itemCount);
nlapiSetLineItemValue("item", "item", itemCount, 777);
nlapiSetLineItemValue("item", "quantity", itemCount, 2);

// Remove the first line item
nlapiRemoveLineItem("item", 1);

// Remove the last line item
nlapiRemoveLineItem("item", nlapiGetLineItemCount("item"));

// ... or if we have a reference to the record (rec):

// Add item 456 with quantity 10 at the end of the item sublist
var nextIndex = rec.getLineItemCount("item") + 1;
rec.setLineItemValue("item", "item", nextIndex, 456);
rec.setLineItemValue("item", "quantity", nextIndex, 10);

// Insert item 777 with quantity 3 at the beginning of the sublist
rec.insertLineItem("item", 1);
rec.setLineItemValue("item", "item", 1, 777);
rec.setLineItemValue("item", "quantity", 1, 3);

// Remove the first line
rec.removeLineItem("item", 1);

// Remove the last line
rec.removeLineItem("item", rec.getLineItemCount("item"));

[१०] डायनामिक मोड में उपनली

// Adding a line item to the end of a sublist in Dynamic Mode...

// ... if the record is in context:
nlapiSelectNewLineItem("item");
nlapiSetCurrentLineItemValue("item", "item", 456);
nlapiSetCurrentLineItemValue("item", "quantity", 10);
nlapiCommitLineItem("item");

// ... or if we have a reference to the record (rec):
rec.selectNewLineItem("item");
rec.setCurrentLineItemValue("item", "item", 456);
rec.setCurrentLineItemValue("item", "quantity", 10);
rec.commitLineItem("item");

[१.०] एक लाइन आइटम खोजें

// Which line has item 456 on it...

// ... if we're in the context of a record
var index = nlapiFindLineItemValue("item", "item", 456);
if (index > -1) {
    // we found it...
} else {
    // item 456 is not in the list
}

// ... or if we have a reference to the record (rec)
var index = rec.findLineItemValue("item", "item", 456);
if (index > -1) {
    // we found it on line "index"...
} else {
    // item 456 is not in the list
}

[२.०] एक सबलिस्ट पर कितनी लाइनें होती हैं?

// How many lines in a sublist in SuiteScript 2.0...

require(["N/record"], function (r) {
    var rec = r.load({
        "type": r.Type.SALES_ORDER,
        "id": 123
    });

    // How many lines are on the Items sublist?
    var itemCount = rec.getLineCount({"sublistId": "item"});
});

[२.०] स्टैंडर्ड मोड में उपनली

// Working with a sublist in Standard Mode in SuiteScript 2.0...

require(["N/record"], function (r) {
    var rec = r.create({
        "type": r.Type.SALES_ORDER,
        "isDynamic": false
    });

    // Set relevant body fields ...

    // Add line item 456 with quantity 10 at the beginning of the Items sublist
    rec.setSublistValue({"sublistId": "item", "fieldId": "item", "value": 456, "line": 0});
    rec.setSublistValue({"sublistId": "item", "fieldId": "quantity", "value": 10, "line": 0});

    // Insert line item 238 with quantity 5 at the beginning of the Items sublist
    rec.insertLine({"sublistId": "item", "line": 0});
    rec.setSublistValue({"sublistId": "item", "fieldId": "item", "value": 238, "line": 0});
    rec.setSublistValue({"sublistId": "item", "fieldId": "quantity", "value": 5, "line": 0});

    // Insert line item 777 with quantity 3 before the last line of the Items sublist
    var lastIndex = rec.getLineCount({"sublistId": "item"}) - 1; // 2.0 sublists have 0-based index
    rec.insertLine({"sublistId": "item", "line": lastIndex}); // The last line will now actually be at lastIndex + 1
    rec.setSublistValue({"sublistId": "item", "fieldId": "item", "value": 777, "line": lastIndex});
    rec.setSublistValue({"sublistId": "item", "fieldId": "quantity", "value": 3, "line": lastIndex});

    // Remove the first line
    rec.removeLine({"sublistId": "item", "line": 0});

    // Remove the last line
    rec.removeLine({"sublistId": "item", "line": rec.getLineCount({"sublistId": "item"}) - 1});

    rec.save();
});

[२.०] डायनामिक मोड में उपनली

// Working with Sublists in Dynamic Mode in SuiteScript 2.0...

require(["N/record"], function (r) {
    var rec = r.create({
        "type": r.Type.SALES_ORDER,
        "isDynamic": true
    });

    // Set relevant body fields ...

    // Add line item 456 with quantity 10 at the end of the Items sublist
    var itemCount = rec.selectNewLine({"sublistId": "item"});
    rec.setCurrentSublistValue({"sublistId": "item", "fieldId": "item", "value": 456});
    rec.setCurrentSublistValue({"sublistId": "item", "fieldId": "quantity", "value": 10});
    rec.commitLine({"sublistId": "item"});

    // Insert line item 378 with quantity 2 at the beginning of the Items sublist
    rec.insertLine({"sublistId": "item", "line": 0});
    rec.selectLine({"sublistId": "item", "line": 0});
    rec.setCurrentSublistValue({"sublistId": "item", "fieldId": "item", "value": 378});
    rec.setCurrentSublistValue({"sublistId": "item", "fieldId": "quantity", "value": 2});
    rec.commitLine({"sublistId": "item"});

    // Insert line item 777 with quantity 3 before the last line of the Items sublist
    var lastIndex = rec.getLineCount({"sublistId": "item"}) - 1; // 2.0 sublists have 0-based index
    rec.insertLine({"sublistId": "item", "line": lastIndex}); // The last line will now actually be at lastIndex + 1
    rec.selectLine({"sublistId": "item", "line": lastIndex});
    rec.setCurrentSublistValue({"sublistId": "item", "fieldId": "item", "value": 777});
    rec.setCurrentSublistValue({"sublistId": "item", "fieldId": "quantity", "value": 3});
    rec.commitLine({"sublistId": "item"});

    // Remove the first line
    rec.removeLine({"sublistId": "item", "line": 0});

    // Remove the last line
    rec.removeLine({"sublistId": "item", "line": rec.getLineCount({"sublistId": "item"}) - 1});

    rec.save();
});

[२.०] एक लाइन आइटम खोजें

// Finding a specific line item in SuiteScript 2.0...

require(["N/record"], function (r) {
    var rec = r.load({
        "type": r.Type.SALES_ORDER,
        "id": 123
    });

    // Find the line that contains item 777
    var index = rec.findSublistLineWithValue({"sublistId": "item", "fieldId": "item", "value": 777});

    // find returns -1 if the item isn't found
    if (index > -1) {
        // we found it on line "index"
    } else {
        // item 777 is not in the list
    }
});


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow