Boa tarde!
Amigos estou utilizando meu servidor na nuvem da totvs desta maneira criei aqui para empresa uma rotina que copia o pedido de venda de uma empresa 01 para a outra 02 via comando RpcSetEnv que esta dando erro. Quando o mesmo é faturado esta rotina é executada após o ponto de entrada M460fim, conforme vcs podem ver na rotina anexa a mesma chama a função de abertura da outra empresa e faz uma gravação via reclock e depois volta para empresa original o problema esta no que a mesma esta dando erro e informando no error log que o Sx2020 (no caso a outra empresa que vai receber a informação DA 01 para 02) da erro que o mesmo não pode abrir o arquivo de forma exclusiva derrubando minha operação alguém já passou por isso e pode dar uma força.
Estou mandando anexo o fonte e o error log..
Desde já agradeço .
Já pensou em fazer isso via webservice? Por exemplo, criar um webservice que grava o pedido na empresa correta e o seu ponto de entrada utiliza ele para fazer a gravação.
— Everton Alves 02 de Mar de 2021Roque, utilizar RpcSetEnv em uma thread com ambiente já aberto, pode gerar inúmeros problemas, não é uma prática recomendada... Os dicionários são abertos com o mesmo nome e diversas valores que estão em cache não serão atualizados ou limpos da maneira correta. Você pode criar um WS como o Everton comentou, ou até criar uma função que abra o ambiente e faça tudo o necessário, mas chamá-la via StartJob para não interferir na thread atual.
— Daniel Mendes 03 de Mar de 2021A melhor maneira de copiar PV para outra Empresa é fazer via ExecAuto, nunca com reclock()
— Jorge Alberto 08 de Mar de 2021