SuiteTalk возвращает null customFieldList для учетной записи с пользовательской другой записью? - PullRequest
0 голосов
/ 18 октября 2019

Не получается получить значения пользовательской записи, прикрепленной к типу записи Аккаунта? Я думал, что они появятся в customFieldList записи учетной записи.

Что я сделал и попробовал:

У меня есть собственный список из 2 записей сВнутренние идентификаторы 1 и 2. Я добавил пользовательскую запись (Другие поля записей) в тип записи учетной записи NetSuite, который ссылается на пользовательский список.

  • ScriptId равен custrecord1 с типом записи otherCustomRecord.

Я создал в поле «Учетная запись» многократное выборочное поле для ссылки на custrecord1 иприсвоил некоторые значения одной из учетных записей.

При использовании SuiteTalk 2019.1 получение учетной записи с помощью InternalId имеет null для customFieldList. Попытка поиска учетных записей по настраиваемому полю и известным значениям приводит к тому, что возвращается ноль записей.

Я использовал getCustomizationId, чтобы получить внутренний идентификатор для custrecord1 => 568.

Поиск через настраиваемое поле с учетной записью Basic возвращает status = true с 0 records:

var searchFilter1 = new SearchMultiSelectCustomField();
searchFilter1.scriptId = "custrecord1";
searchFilter1.@operator = SearchMultiSelectFieldOperator.anyOf;
searchFilter1.operatorSpecified = true;
searchFilter1.searchValue = new [] { new ListOrRecordRef() { internalId = "1" } };

var search = new AccountSearch();
var basic = new AccountSearchBasic();

basic.customFieldList = new SearchCustomField[] { searchFilter1 };
search.basic = basic;

service.searchPreferences = new SearchPreferences
{
    bodyFieldsOnly = false
};
var results = service.search(search); // status.isSuccess = true, records returned = 0
                                      // Web interface confirms one account has the custrecord1 value

Поиск с помощью пользовательского поиска записей с использованием InternalId сценария:

var custRecSearchBasic = new CustomRecordSearchBasic();
custRecSearchBasic.recType = new RecordRef {internalId = "568"}; // InternalId of custrecord1
custRecSearch.basic = custRecSearchBasic;
service.searchPreferences = new SearchPreferences
{
    bodyFieldsOnly = false
};
var results = service.search(search); // status.isSuccess = false, Invalid custom record type
...