Bem Vindo Visitante Lista de Usuários

 Todos os Fórums
  ADVPL

Enviar para a impressoraImprimir   

Subject Rodar programa automatico
Mensagem do Enviar e-mail Abrir o Perfil do usuário IVAN26 IVAN26 em 1/11/2018 as 14:11 hs
Local: PR   Registrada: 9/11/2017  Postagem: 9
Desenvolvi um programa estoque minimo, ele cria o pedido de compras quando o estoque de um produto bate o minimo,mas tem que ficar apertando o botão no menu, gostaria de saber se tem como eu adicionar uma rotina para ele executar esse programa automatico, teria como?

tentei pelo Scheduler e não consegui, me ajudemm!!

Mensagem do Enviar e-mail Abrir o Perfil do usuário IVAN26 IVAN26 em 1/11/2018 as 14:23 hs
Local: PR   Registrada: 9/11/2017  Postagem: 9
Para rodar o Schedule preciso configurar alguma no .Ini?

Mensagem do Enviar e-mail Abrir o Perfil do usuário FABIOVIANA FABIOVIANA em 1/11/2018 as 14:26 hs
Local: PB   Registrada: 11/24/2010  Postagem: 36
Altera teu fonte pra trabalhar em job, e deixa ele rodando em um appserver.
Aí vc pode ativar este appserver via serviços, ou via console pelo agendador do windows no horário que quiser.

No teu fonte, cria uma user function desta forma abaixo, e chama a tua função principal nela.

User Function NOMEDOJOB(xEmpProc,xFilProc)

     Local aTables           := {"MAL","SLI","SL1","SL2",;
          "SL4","SA1","SA2","SA3",;
          "SA6","SAE","SB1","SB2",;
          "SB3","SC7","SE1","SE3",;
          "SE4","SE5","SE8","SED",;
          "SEF","SES","SD1","SD2",;
          "SF1","SF2","SF3","SF4",;
          "SF7","SFC","SM2","MAH",;
          "CT5","SLG","SLF","SB0",;
          "SD3","CC7","SX5","SC6",;
          "SM0","SC0","SLJ"}

     Private cFilProc      := xFilProc
     Private cEmpProc      := xEmpProc

     RpcSetType(3)
     RpcSetEnv(cEmpProc,cFilProc,,,"LOJ", "ENVIRONMENT",aTables,,,,)

     U_SUAFUNCAO()

     Return()

em aTables você coloca todas as tabelas principais para funcionamento básico do sistema, e as que você deseja utilizar.

Atenciosamente,

Fábio Viana
www.vianati.com.br

Mensagem do Enviar e-mail Abrir o Perfil do usuário IVAN26 IVAN26 em 1/11/2018 as 14:44 hs
Local: PR   Registrada: 9/11/2017  Postagem: 9
Irei alterar aqui, ja ja posto a resposta, muito obrigado

Mensagem do Enviar e-mail Abrir o Perfil do usuário FABIOVIANA FABIOVIANA em 1/11/2018 as 14:50 hs
Local: PB   Registrada: 11/24/2010  Postagem: 36
Você acrescenta neste appserver que criará as tags abaixo:

[OnStart]
Jobs=MEUJOB

[MEUJOB]
Main=U_SUAFUNCAO
ENVIRONMENT=Environment
nParms=2
Parm1=01
Parm2=01

Mensagem do Enviar e-mail Abrir o Perfil do usuário IVAN26 IVAN26 em 1/12/2018 as 08:37 hs
Local: PR   Registrada: 9/11/2017  Postagem: 9
Deixei o código assim

User Function compraauto(xEmpProc,xFilProc)

     Local aTables           := {"MAL","SLI","SL1","SL2",;
          "SL4","SA1","SA2","SA3",;
          "SA6","SAE","SB1","SB2",;
          "SB3","SC7","SE1","SE3",;
          "SE4","SE5","SE8","SED",;
          "SEF","SES","SD1","SD2",;
          "SF1","SF2","SF3","SF4",;
          "SF7","SFC","SM2","MAH",;
          "CT5","SLG","SLF","SB0",;
          "SD3","CC7","SX5","SC6",;
          "SM0","SC0","SLJ","TR1",;
          "TRA","TR2","SB5","SC8",;
          "SD1","SBM","SD2"}

     Private cFilProc      := xFilProc
     Private cEmpProc      := xEmpProc

     RpcSetType(3)
     RpcSetEnv(cEmpProc,cFilProc,,,"LOJ", "ENVIRONMENT3",aTables,,,,)

     U_RONCOM4()

Return()

Mensagem do Enviar e-mail Abrir o Perfil do usuário IVAN26 IVAN26 em 1/12/2018 as 08:44 hs
Local: PR   Registrada: 9/11/2017  Postagem: 9
Isso eu coloquei no appserve.ini

[OnStart]
Jobs=compraauto

[compraauto]
Main=U_RONCOM4
ENVIRONMENT=Environment3
nParms=2
Parm1=01
Parm2=01


Mensagem do Enviar e-mail Abrir o Perfil do usuário IVAN26 IVAN26 em 1/12/2018 as 08:45 hs
Local: PR   Registrada: 9/11/2017  Postagem: 9
Acha que esta faltando alguma coisa? sou novo nesse ramo de desenvolvedor, peço desculpa pela falta de conhecimento

Mensagem do Enviar e-mail Abrir o Perfil do usuário IVAN26 IVAN26 em 1/12/2018 as 08:51 hs
Local: PR   Registrada: 9/11/2017  Postagem: 9
Eu fiz em um fonte separado, tem problema?

Mensagem do Enviar e-mail Abrir o Perfil do usuário FABIOVIANA FABIOVIANA em 1/12/2018 as 08:56 hs
Local: PB   Registrada: 11/24/2010  Postagem: 36
Acho que agora é só iniciar o appserver para testar, e ver se teu programa tem resultado, coloca uma saída de texto nele e olha se está saindo em console, com o comando conout("texto").

Não tem problemas serem fontes distintos, visto que, são user functions.

Att,

Fábio Viana

Mensagem do Enviar e-mail Abrir o Perfil do usuário IVAN26 IVAN26 em 1/12/2018 as 09:08 hs
Local: PR   Registrada: 9/11/2017  Postagem: 9
Vou reiniciar o serviço aqui, obrigado!

So mais um duvida, se eu abrir a "formulas" e colocar a U_compraauto() teria que aparecer lá?

Mensagem do Enviar e-mail Abrir o Perfil do usuário IVAN26 IVAN26 em 1/12/2018 as 10:15 hs
Local: PR   Registrada: 9/11/2017  Postagem: 9
Como faço para adicionar Via Console agendador do windows?

Mensagem do Enviar e-mail Abrir o Perfil do usuário FABIOVIANA FABIOVIANA em 1/12/2018 as 11:15 hs
Local: PB   Registrada: 11/24/2010  Postagem: 36
Como o assunto já é de Sistema Operacional e foge do escopo do fórum, me adiciona no skype que eu te ajudo: fabio@vianati.com.br


Quanto a pergunta de rodar em fórmulas, roda, se você passar as variáveis de ambiente.

Porém, se estiver no Protheus12 o fórmulas não funciona mais, teria que utilizar um menu para fazer a chamada, ou criar um Lançamento Padrão (SIGACTB), só para executar dentro de um dos campos de conta dele.

Entretanto, não vejo isto como uma simulação real, o real, é executar via job e vê o treco funcionar.

Mensagem do Enviar e-mail Abrir o Perfil do usuário LEONILIO LEONILIO em 1/12/2018 as 11:26 hs
Local: SP   Registrada: 7/21/2015  Postagem: 25
Use o agendamento do windows é bem simples.

Washington Luís Leonilio da Slva
Consultor Especialista Totvs Microsiga Protheus
(84) 9465-2763

Mensagem do Enviar e-mail Abrir o Perfil do usuário LEONILIO LEONILIO em 1/12/2018 as 11:49 hs
Local: SP   Registrada: 7/21/2015  Postagem: 25
Faz a user function e inicia ela via agendador pelo smartclient usando os seguintes parâmetros:

Você monta o arquivo .bat e coloca no agendador do windows estes parâmetros:

e=environment -c=tcp -p=U_RegraInadi

nome do ambiente + conexão + nome do programa


Washington Luís Leonilio da Slva
Consultor Especialista Totvs Microsiga Protheus
(84) 9465-2763

Para participar do Fórum você precisa efetuar login primeiro
Caso você não esteja registrado registre-se para participar do fórum

 Mudar para Fórum