Bom dia pessoal,
Preciso construir um dataset para consultar uma API do Protheus e passar como parâmetro a matrícula do usuário logado, porém, ele não retorna o código interno correto do usuário logado.
Segue parte do código abaixo:
function onSync(lastSyncDate) {
var ds_wsgetfunc = DatasetBuilder.newDataset();
try {
ds_wsgetfunc = clearDataset(ds_wsgetfunc);
var clientService = fluigAPI.getAuthorizeClientService();
var ds_token_rest_protheus = DatasetFactory.getDataset("ds_token_rest_protheus",null,null,null);
var currentUser = getValue("WKUser"); //Código do usuário logado
log.info(_log + " - ID1: " + currentUser);
var c1 = DatasetFactory.createConstraint("colleaguePK.colleagueId", currentUser , currentUser, ConstraintType.MUST);
var filter = new Array(c1);
var validation = DatasetFactory.getDataset('colleague', null, filter, null); //Realiza a chamada do dataset
var compID = getValue("WKCompany");
var userID = validation.getValue(0,'colleaguePK.colleagueId');
var data = {
companyId: compID + '',
serviceCode: 'protheus_rest',
endpoint: '/fluig/api/wsgetfunc/v1/consultaFunc?ccodmat='+userID,
method: 'get',
timeoutService: '1000',
headers: {
"Content-Type": 'application/json;charset=UTF-8',
"Authorization": 'Bearer ' +ds_token_rest_protheus.getValue(0,'access_token')
}
};
log.info(_log + " - ID2: " + userID);
Eu chamo o getValue(“WKUser”) para pegar o usuário logado e consultar o dataset de e ele me traz sempre o usuário administrador ao invés do usuário dalton.junior que está logado.
Retorno:
2024-11-07 10:00:40,371 INFO [com.datasul.technology.webdesk.customization.ScriptingLog] (WebdeskScheduler_Worker-0) ## ds_wsgetfunc ## - ID1: administrador
2024-11-07 10:00:40,449 INFO [com.datasul.technology.webdesk.customization.ScriptingLog] (WebdeskScheduler_Worker-0) ## ds_wsgetfunc ## - ID2: administrador