NetSuite / SuiteScript 2.0 - Как назначить нового клиента для поддержки - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть AfterSubmit UserEventScript (поддержка), который правильно выполняет следующие действия:

  1. Загружает связанный пользовательский тип записи
  2. Создает нового клиента с адресом, используя эту пользовательскую запись
  3. Сохраняет нового клиента в базу данных

            newCustomer.commitLine({
                sublistId: 'addressbook'
            });
    
            newCustomer.save({
                enableSourcing: true,
                ignoreMandatoryFields: false
            });
    

На мой вопрос, каковы дальнейшие шаги по замене старого Клиента этим вновь созданным Клиентом наслучай поддержки?Я пробовал следующий код, но он записывает "неопределенное" значение.

          recordSubmitted.setValue({
            fieldId: "companyid",
            value: newCustomer.companyId            
          }); 

1 Ответ

2 голосов
/ 10 апреля 2019

Внутренний идентификатор новой записи клиента возвращается из функции сохранения. Поле, которое вы хотите назначить, имеет идентификатор сценария 'company' Итак:

    var custId = newCustomer.save({
        enableSourcing: true,
        ignoreMandatoryFields: false
    });

   recordSubmitted.setValue({
        fieldId: 'company',
        value: custId            
   }); 

Как правило, если вы выбираете другого клиента для назначения дела, вам следует подумать о том, существует ли другой клиент, чтобы вы могли загрузить другого клиента или найти его с помощью поиска.

от нагрузки и проверьте:

   recordSubmitted.setValue({
        fieldId: 'company',
        value: differentCustomer.getValue({fieldId:'internalid'})            
   }); 

из поиска вы можете получить идентификатор напрямую:

var custId = null;
mySearch.run().each(function(res){
    if(test(res)){
       custId = res.id;
       return false;
    }
    return true;
});

if(custId) recordSubmitted.setValue({
    fieldId: 'company',
    value: custId            
}); 
...