Сохраненный поиск Suitescript2.0 как ссылаться на другую таблицу - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь получить значение от другого типа. Мой основной сохраненный тип поиска - «транзакция», а у меня есть настраиваемый тип записи - «inboundshipment». Когда я пытался сделать поиск сохраненной транзакции, я не видел поля «inboundhipment». Но очевидно, что оба этих типа имеют одно и то же значение - «PO». Я знаю, что имена этих полей разные, но значения такие же. Вот то, что я хочу показать 'externaldocumentnumber' в типе «транзакция», который имеет тот же ЗП с типом «inboundshipment».

var po = 'tranid'
var mySearch = search.create({
                type: "transaction",
                columns: [
                    search.createColumn({
                        name: 'externaldocumentnumber', //Container#
                        join: 'inboundshipment'
                    }),
                search.createColumn({
                    name: 'purchaseorder', //PO
                    join: 'inboundshipment'
                }),
                ],
                filters: [
                    search.createFilter(
                        {
                            name: 'purchaseorder', //PO
                            join: 'inboundshipment',
                        operator: search.Operator.ANYOF,
                        values: po
                            }
                        ),
                    search.createFilter(
                        {
                            name: po //PO
                            operator: search.Operator.NONEOF,
                            values: ['@NONE@']
                        }
                  ),
                ]
            });

Ответы [ 2 ]

1 голос
/ 07 мая 2020

В NetSuite появилась новая функция под названием SuiteQL, это язык запросов NS, основанный на SQL -92. Вы можете выполнять объединения, что невозможно в сохраненном поиске. На данный момент SuiteQL доступен с использованием модуля N / query и все еще находится в стадии бета-тестирования в веб-службе REST.

Ниже приведен пример использования SuiteQL:

var suiteQL = "SELECT * FROM transactions t WHERE id IN (SELECT id FROM transactions WHERE id = t.id UNION SELECT -1 FROM transactions)"
var resultIterator = query.runSuiteQLPaged({
    query: suiteQL,
    pageSize: 10
}).iterator()
resultIterator.each(function(page) {
    var pageIterator = page.value.data.iterator();
    pageIterator.each(function(row) {
        log.debug('ID: ' + row.value.getValue(0) + ', Context: ' + row.value.getValue(1));
        return true;
    });

    return true;
});
0 голосов
/ 06 мая 2020

Netsuite не выполняет объединения стилей SQL для значений. Единственные типы соединения, которые Netsuite выполняет с использованием N / search, - это когда один тип записи связан с другим через поле типа List / Record или Multi-Select.

Вы можете настроить это настраиваемое поле в своей настраиваемой записи или транзакции. В любом сценарии значением соединения будет идентификатор сценария настраиваемого поля списка / записи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...