FAQs - Suporte técnico

MP - ADVPL - Função que permite trocar a empresa em tempo de execução

Dúvida
Existe alguma função que permite trocar a empresa em tempo de execução?

Ambiente
Protheus – ADVPL – A partir da versão 11.80

Solução
Não existe uma função específica que permita consultas ou manipulação em uma empresa 'B' enquanto estiver conectado em ambiente da empresa 'A'. Para que uma ação desse tipo seja possível é necessário que outra Thread seja iniciada para uma execução independente, e nela preparado um ambiente para tal. O recurso para essa necessidade seria a função StartJob.
A seguir um exemplo de rotina automática, para a inclusão de um produto, em duas empresas diferentes simultaneamente;

#Include 'Protheus.ch'
#Include 'TBICONN.ch'

User Function tStJb010()
Local aVetor := {}

PRIVATE lMsErroAuto := .F.
Private INCLUI := .T.

aVetor:= {{"B1_COD" ,'PA01 ' ,NIL},;
{"B1_DESC" ,"TESTE EXECAUT " ,NIL},;
{"B1_TIPO" ,"PA" ,Nil},;
{"B1_UM" ,"UN" ,Nil},;
{"B1_PESO" ,10 ,Nil},;
{"B1_LOCPAD" ,"01" ,Nil},;
{"B1_RASTRO" ,"N" ,Nil},;
{"B1_LOCALIZ" ,"N" ,Nil}}

//Inclui o produto na empresa corrente ('99')
MSExecAuto({|x,y| Mata010(x,y)},aVetor,3)

If !lMsErroAuto
ConOut("Produto incluído na empresa 99")
Else
ConOut("Erro na inclusao!")
MostraErro()
EndIf

//Inclui o mesmo produto na empresa '02'
STARTJOB("U_T010Auto",getenvserver(),.t.,aVetor)

Return

User Function T010Auto(aVetor)
PRIVATE lMsErroAuto := .F.
Private INCLUI := .T.

PREPARE ENVIRONMENT EMPRESA "02" FILIAL '0201'

MSExecAuto({|x,y| Mata010(x,y)},aVetor,3)

If !lMsErroAuto
ConOut("Produto incluído na empresa 02 ")
Else
ConOut("Erro na inclusao!")
MostraErro()
EndIf

RESET ENVIRONMENT

Return

 

Esse artigo foi útil?
Usuários que acharam isso útil: 1 de 1

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _