2016-08-02 10 views
0

Я создал новую пользовательскую запись под названием «XYZ», и я создал все поля в ней. Теперь я могу добавить новую запись в эту пользовательскую запись с помощью графического интерфейса, но как сделать подобное действие с помощью webservices.Как добавить новый пользовательский элемент записи в netsuite с помощью webservices?

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

Спасибо

ответ

0

Вы можете создать новый Restlet с следующим кодом и вызвать Restlet с использованием методы поста с RECORDTYPE и областью значений

function createNewRecord(datain){ 

var recType = datain.recordtype; 
var field1 = datain.field1; 
var field2 = datain.field2; 
var field3 = datain.field3; 

var record = nlapiCreateRecord(recType); 
record.setFieldValue('custrecord_field1', field1); 
record.setFieldValue('custrecord_field2', field2); 
record.setFieldValue('custrecord_field3', field3); 
var id = nlapiSubmitRecord(record, true); 

var dd = JSON.stringify(id); 
return dd; 
} 

Restlet вызов

var account = 'XXXXXXX'; 
var email = '[email protected]'; 
var signature = 'XXXXXXXX'; 
var role = '3'; 

var recordtype = 'XYZ'; 
var custrecord_field1 = 'value1'; 
var custrecord_field2 = 'value2'; 
var custrecord_field3 = 'value3'; 

var newRec = {"recordtype": recordtype, "field1":custrecord_field1, "field2":custrecord_field2, "field3":custrecord_field3} 
var url = 'https://rest.na1.netsuite.com/app/site/hosting/restlet.nl?script=231&deploy=1'; 
var params = { 
contentType: 'application/json', 
headers:{Authorization: 'NLAuth nlauth_account='+account+', nlauth_email='+email+', nlauth_signature='+signature+', nlauth_role='+role}, 
method: 'POST', 
muteHttpExceptions: true, 
payload: JSON.stringify(newRec) 
}; 

var response = UrlFetchApp.fetch(url, params); 
var resdata = JSON.parse(response.getContentText()); 
Logger.log(resdata); 
0

Ниже образец C# код для добавления пользовательской записи с использованием SuiteTalk (webservices) -

CustomRecord customRecord = new CustomRecord(); 

RecordRef recordType = new RecordRef(); 
recordType.internalId = "14"; // // Record Type's internal ID (Setup > Customization > Record Types > Basic Record Type (Internal ID=14) 
recordType.type = RecordType.customRecord; 
recordType.typeSpecified = true; 

customRecord.recType = recordType; 
customRecord.internalId = "7"; // internal id of the custom record you want to update 

StringCustomFieldRef stringCustomFieldRef = new StringCustomFieldRef(); 
stringCustomFieldRef.scriptId = "custrecord_pe_pbmastertrackno"; 
stringCustomFieldRef.value = txtMasterTrackno.Text.Trim(); 

CustomFieldRef[] customFieldRef = new CustomFieldRef[1]; 
customFieldRef[0] = stringCustomFieldRef; 

customRecord.customFieldList = customFieldRef; 

_service = new NetSuiteService(); 

setPassport(); // Set the Passport information for authentication 
WriteResponse writeResponse = _service.add(customRecord); 

Надеюсь, это поможет вам.

Спасибо.

+0

Спасибо за скрипт, у меня также есть обязательное поле в типе записи «XYZ», называемое «xyz date», как я его заполняю. Также на вашем скрипте почему мы передаем внутренний идентификатор дважды. Что означает первый внутренний идентификатор и что означает второй? – octopus

+0

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

+0

Что делать, если мы хотим добавить новую запись с заполненными полями. Также у меня есть поле Include Name checked (которое является обязательным полем) в типе записи, который я использую. Как заполнить это поле. – octopus

 Смежные вопросы

  • Нет связанных вопросов^_^