Создание группы объектов в SuiteScript

#javascript #netsuite #suitescript #entity-groups

#javascript #netsuite #suitescript #группы объектов

Вопрос:

Я пытаюсь создать группу сущностей с помощью SuiteScript на основе создания некоторых пользовательских записей. Однако я получаю сообщение об ошибке:

Вы не можете определить тип этой группы с помощью этого поиска.

Используемый поиск — это поиск записей контактов, группа объектов — для записей контактов. Если я создаю группу объектов через пользовательский интерфейс, это позволяет использовать поиск в группе, но не через скрипт.

 var user = nlapiGetUser();
var entityGroupName = custRec.getFieldValue("name");
var gcSearch = nlapiCreateSearch("contact", filters, columns);
gcSearch.setIsPublic(true);
var searchID = gcSearch.saveSearch("Contact Search: "   enityGroupName, "customsearch_contact_srch_"   custRecID);

var egRec = nlapiCreateRecord("entitygroup", { grouptype : "Contact" , dynamic : "T" , recordmode : "dynamic" });
egRec.setFieldValue("groupname", "Contact Group: "   entityGroupName);
egRec.setFieldValue("groupowner", user);
egRec.setFieldValue("restrictedtoowner", "F");
egRec.setFieldValue("parentgrouptype", "CustJob");
egRec.setFieldValue("savedsearch", searchID);
nlapiSubmitRecord(egRec, true, false);
  

Чего я не понимаю? Я попытался инициализировать тип как «contact» вместо «Контакт», но затем я получаю сообщение об ошибке, в котором говорится, что значение идентификатора поиска недопустимо.

Комментарии:

1. Не могли бы вы скомпилировать минимально работающий пример? Фрагмент кода или jsfiddle или что-то в этомроде.

2. Установите «entityGroupName» в любую текстовую строку, которую вы хотите, а «фильтры» и «столбцы» — в пустые массивы, и у вас будет минимальный рабочий пример.

3. У вас здесь опечатка: enityGroupName (хотя вряд ли это исправит проблему). Вы все равно обращались в их службу поддержки? Похоже, что это не какая-то проблема с синтаксисом или что-то в этом роде, это ответ от их api из-за некоторой логики, которую они точно знают.

4. > did try initializing the type as "contact" instead of "Contact", but then I get an error saying the search ID value is invalid. Попробуйте исправить опечатку выше и используйте contact снова

Ответ №1:

Проблема заключалась в следующей строке:

 egRec.setFieldValue("parentgrouptype", "CustJob");
  

Я удалил это, и теперь это работает отлично.