Discussões
Community Articles: What Topic Should We Cover Next? Your idea could be our next feature—drop your suggestion now and spark the next big discussion!
Filtrar um campo de 'seleção' na mudança de campo usando o SuiteScript
Aplica-se a
Produto: NetSuite 2021.2
Cenário
O usuário gostaria de ter uma página que contenha um campo 'selecionar' que filtra outro campo 'selecionar'.
Solução
Abaixo estão os scripts de amostra para obter o resultado.
No SuiteScript 1.0
Script Suitelet:
function filterSelect(request,response){
var pEntity = request.getParameter('custpage_entity');
if (!pEntity) pEntity = 0;
var action = request.getParameter('custpage_action');
if (action == null || action == 'refresh')
{
response.writePage(refreshOtherSelect(pEntity));
}
}
function refreshOtherSelect(pEntity){
try {
var form = nlapiCreateForm('Fulfill Order Lines');
var action = form.addField('custpage_action', 'text', 'Action');
action.setDefaultValue('submit');
action.setDisplayType('hidden');
var entity = form.addField('custpage_entity', 'select', 'Customer');
addEntityOptions(entity, pEntity);
var transactions = form.addField('custpage_transaction','select','Transactions');
nlapiLogExecution('DEBUG','Entity', 'Entity is: '+pEntity);
nlapiLogExecution('DEBUG','Run Search', 'Running Search');
var search = nlapiLoadSearch('transaction', 'customsearch_all_transactions');
search.addFilter(new nlobjSearchFilter('entity', null, 'anyof', pEntity));
var resultSet = search.runSearch();
resultSet.forEachResult(function(result) {
var n = 0;
nlapiLogExecution('DEBUG','Transactions',result.getValue('number'));
transactions.addSelectOption(n, result.getValue('type') + ' ' + result.getValue('number'));
n++;
return true;
});
} catch(e) {
if ( e instanceof nlobjError )
nlapiLogExecution('DEBUG','Error','Details: ' + e.getDetails() + ' Code: ' + e.getCode());
else
nlapiLogExecution('DEBUG','Error','Error Details: ' + e.toString());
}
form.setScript('customscript_item_fulfillment_cs');
form.addSubmitButton('Submit');
form.addResetButton();
return(form);
}
function addEntityOptions(select, default_)
{
select.addSelectOption(0, '- Select One -');
var search = nlapiLoadSearch('transaction', 'customsearch_all_transactions');
search.addFilter(new nlobjSearchFilter('mainname', null, 'noneof',
Rotulado:
0
Olá, bem-vind@!
Faça login
Para ver todos os detalhes, faça o login.
Cadastre-se
Não tem uma conta? Clique aqui para começar!