Pessoal uma dúvida de como proceder, estou com um serviço REST que faz o processamento de requisições de múltiplas empresas todas no mesmo banco de dados e ambiente. Como devo fazer para que o sistema entenda qual empresa deve ser carregada ?
Eu estava usando a carga manualmente dentro da customização, porém só funciona com uma empresa (01), quando ele processa algo na outra empresa no final do processo apresenta uma mensagem de erro no console e devolve como erro para a aplicação chamadora:
“Ocorreu o seguinte erro fatal: Houve uma troca indevida da variável cEmpAnt pela rotina. A troca da varíavel não pode ser realizada. A thread será finalizada.”
Detalhe que o REST é autenticado com usuário e senha já, mas preciso que ele entenda qual empresa deve processar a requisição.
3 curtidas
@cirilorocha boa tarde.
Primeiramente no ini do server do rest precisa ter a seguinte informação:
PrepareIn=All
E você pode passar no header da requisição a seguinte informação:
tenantid: empresa, filial
Exemplo:

Link da documentação: https://centraldeatendimento.totvs.com/hc/pt-br/articles/4410465974167-Cross-Segmento-TOTVS-Backoffice-Linha-Protheus-ADVPL-Abertura-de-ambiente-em-Web-Service
4 curtidas
Se seu quiser carregar apenas duas empresas no PREPAREIN será que consigo ? como seria a sintaxe @felipe.caiado ?
2 curtidas
@cirilorocha
A chave PrepareIn
recebe somente:
Obs.: ALL equivale a basicamente todos os grupos de empresa que você possui na SM0.
Não é possível passar inúmeros valores de grupo e filial nessa chave, para situações como essa, a solução e trabalhar com mais de uma URI.
2 curtidas
@felipe.caiado valeu pela força, ajudou demais a resolver esse problema.
2 curtidas