Tempo aproximado para leitura: 00:03:00 min
Dúvida
Error.log - invalid macro source
Ambiente
Cross Segmentos - Backoffice (Linha Protheus) – ADVPL – A partir da versão 11.80
Solução
O erro específico começou a ocorrer após as atualizações de lib, disponibilizadas no inicio de 2017:
invalid macro source (SSYacc0105e: Error token failed, no valid token)
(STATICCALL(#FUNCAO_DO_USUARIO,MenuDef)) on FWLOADMENUDEF(PROTHEUSFUNCTIONMVC.PRX)
O motivo é que foi realizado uma alteração no fonte FWLOADMENUDEF para, no caso de não estar como usuário administrador, macroexecutar as funções afim de validá-las, e como a função de usuário começa com '#' ele gera o erro. Anteriormente a essa alteração já havia sido implementado o TYPE 03, que é específico para funções de usuário, não mais utilizando o '#' para essa finalidade.
Para que não gere mais o erro verifique nos arquivos XNU a chamada de uma função de usuário se está com # ((#FUNCAO_DO_USUARIO) e TYPE como 01(função Protheus), retire o '#' e altere o TYPE para 03 conforme instruções a seguir:
Errado:
<Function>#FUNCAO_DO_USUARIO</Function>
<Type>01</Type>
Certo:
<Function>FUNCAO_DO_USUARIO</Function>
<Type>03</Type>
Observação
Caso persista verifique se o nome do fonte está com caractere especial ou iniciando por número.
Não recomendamos a manipulação direta dos arquivos xnu, a opção mais segura é cadastrar os menus pelo configurador.
0 Comentários