Н / запрос определения столбца - PullRequest
2 голосов
/ 10 мая 2019

Я пытаюсь получить данные транзакции с помощью модуля N / query:

require([ 'N/query'],
function(query) {
        var trxQuery = query.create({ type: query.Type.TRANSACTION });

        trxQuery.columns = [
            trxQuery.createColumn({ fieldId: 'externalid' }),
            trxQuery.createColumn({ fieldId: 'account' }),
            trxQuery.createColumn({ fieldId: 'fxamount' })
       ];

      var results = trxQuery.run();
})

В справке говорится следующее о настройке fieldId при создании столбца запроса:

Получить это значение (fieldId) из браузера записей.

1. Go to the appropriate record type.
2. Scroll until you see the Search Columns table.
3. Locate the appropriate value in the Internal ID column.

Однако я получаю следующую ошибку: {"type": "error.SuiteScriptError", "name": "SSS_SEARCH_ERROR_OCCURRED", "message": "Произошла ошибка поиска: поле 'account' для записи 'транзакция' не найдено"....

То же самое происходит с полем fxamount.

Как определить столбец запроса, чтобы получить данные о счете и сумме (иностранной валюте) для транзакций с помощью модуля N / query

1 Ответ

2 голосов
/ 10 мая 2019

Модуль N/query позволяет использовать ту же логику, что и функция «Аналитические книги» в пользовательском интерфейсе.По какой-то причине эти книги не всегда имеют те же имена полей, что и в браузере записей.Для моих двух центов, модуль N/search все еще в пути.N/query выглядит намного медленнее, чем N/search.

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

В вашем примере fxamount для поиска, вероятно, foreigntotal в запросе.

Кроме того, в транзакции или транзакции верхнего уровня, похоже, нет поля accountуровень линии.На уровне строки учета транзакций есть поле account.

enter image description here

Я не уверен, что это поле учетной записи, которое вы ищете, но этот код работает.

var trxQuery = query.create({
  type: query.Type.TRANSACTION
});

trxQuery.columns = [
  trxQuery.createColumn({ fieldId: 'id' }),
  trxQuery.createColumn({ fieldId: 'transactionlines.accountingimpact.account' }),
  trxQuery.createColumn({ fieldId: 'foreigntotal' })
];

var results = trxQuery.run();
...