В настоящее время я не могу зафиксировать позицию.Нужно ли добавлять дополнительные поля, даже если элемент является единственным обязательным?
function OLDcreateTO() //(request, response)
{
for ( var i = 1; i < lines + 1 ; i++ )
{
nlapiLogExecution('DEBUG','<Before Load Script> type: '+type,"line # " + i);
arrayName[i] = PORecord.getLineItemValue('item', 'item', i );
nlapiLogExecution('DEBUG','<Before Load Script> type: '+type, arrayName[i]);
}
nlapiLogExecution('DEBUG','<Before Load Script> type: '+type, lines + ' lines');
var TOrecord = nlapiCreateRecord ('transferorder');
var TOrecordID = TOrecord.getId();
TOrecord.setFieldValue('customform',128);
//subsidiaries CC bedford id is 2
TOrecord.setFieldValue('subsidiary',2);
//testing for location and transfer location, 144 & 145
TOrecord.setFieldValue('location',144);
TOrecord.setFieldValue('transferlocation',145);
nlapiLogExecution('DEBUG','<Before Load Script> type: '+type, 'break 4');
// add new lines to a sublist
nlapiSelectNewLineItem('item');
// set the item and location values on the currently selected line
nlapiSetCurrentLineItemValue('item', 'item', arrayName[1]);
nlapiSetCurrentLineItemValue('item', 'location', 6);
// commit the line to the database
nlapiCommitLineItem('item');
nlapiLogExecution('DEBUG','<Before Load Script> type: '+type, 'break 5');
var TOResult = nlapiSubmitRecord(TOrecord, true, true);
var TOTranID= nlapiLookupField('transferorder', TOResult, 'tranid');
nlapiLogExecution('DEBUG','<Before Load Script> type: '+type, 'break 6');
var poURL = nlapiResolveURL('RECORD', 'transferorder', TOResult);
nlapiSetRedirectURL('RECORD','transferorder', TOResult);
}
Поэтому я пытаюсь, чтобы элементы заказа на покупку заполняли поле элементов в новом заказе на перемещение с помощью кнопки наПО.После этого пользователь может внести любые изменения в запись до того, как отправить ее и создать TO.Основная проблема в том, что я не знаю, как заполнить пустое TO из сценария.У меня он там перенаправляется через строку URL, но я уверен, что есть лучший способ сделать это.
В итоге.
- Пользователь нажимает кнопку "создать TO" на PO
- переводит пользователя на страницу «создать TO», где все элементы (и некоторая различная информация) предварительно заполняются в зависимости от заказа.
- Пользователь редактирует запись и затем отправляет ее.
suitescript 1.0 // create_to_button
var newId ;
var newType ;
function beforeload(type)
{
if(nlapiGetContext().getRole() == '3')
{
if(type =='view' || type == 'edit')
{
newId = nlapiGetRecordId();
newType = nlapiGetRecordType();
if(newType == 'purchaseorder')
{
var strURL = "https://system.na2.netsuite.com/app/accounting/transactions/trnfrord.nl"
var scriptbutton = 'window.open(' + String.fromCharCode(39) + strURL + String.fromCharCode(39) + ')' ;
//nlapiLogExecution('DEBUG','<Before Load Script> type: '+type, 'URL: '+strURL + '&id=' + newId);
form.addButton('custpage_createpo', 'Create TO', scriptbutton);
}
}
}
}
function loadTO() //(request, response)
{
nlapiLogExecution('DEBUG','<Before Load Script> type: '+type, 'hello');
nlapiLoadRecord(newType, newId);
}
Любые идеи или советы приветствуются.-Brandon