×
Linguagem de Programação ADVPL
Perguntas MsExecauto
- de019
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 66
- Obrigados Recebidos: 0
12 anos 1 mês atrás - 12 anos 1 mês atrás #7248
por de019
MsExecauto foi criado por de019
Pessoal, Alguem pode me ajudar... estou apanhando... O programa roda... nao da nenhum erro, mas nao encerra a op q eu quero... Fiz apenas com uma op, para testar... Depois puxo a query para pegar a tabela inteira...
Tentei debugar... e ele trava... nao entendi pq tb... enfim, se alguem puder me ajudar.. segue abaixo o q eu fiz
_cop :="02428101001"
_ctm :='PR0'
_cod :='TOL3NVER01'
_demissao :=dtos(ddatabase)
_doc :=GetSxEnum("SD3",D3_DOC",1)
Begin Transaction
If !Apmsgnoyes("Confirma o encerramento da Op")
Else
IMsErroAuto :=.F.
_aVetor := {{"D3_Op" ,_cop ,Nil},;
{{"D3_Tm" ,_ctm ,Nil},;
{{"D3_Cod" ,_cod ,Nil},;
{{"D3_Emissao" ,_demissao ,Nil},;
{{"D3_Doc" ,_doc ,Nil}}
MsExecAuto ({|x,y|mata250(x,y)}, _aVetor,6} //Quando debug esta parte ele trava
Endif
If IMsErroAuto
MostraErro()
Endif
msgbox("ops Finalizadas")
End transaction
Return
Tentei debugar... e ele trava... nao entendi pq tb... enfim, se alguem puder me ajudar.. segue abaixo o q eu fiz
_cop :="02428101001"
_ctm :='PR0'
_cod :='TOL3NVER01'
_demissao :=dtos(ddatabase)
_doc :=GetSxEnum("SD3",D3_DOC",1)
Begin Transaction
If !Apmsgnoyes("Confirma o encerramento da Op")
Else
IMsErroAuto :=.F.
_aVetor := {{"D3_Op" ,_cop ,Nil},;
{{"D3_Tm" ,_ctm ,Nil},;
{{"D3_Cod" ,_cod ,Nil},;
{{"D3_Emissao" ,_demissao ,Nil},;
{{"D3_Doc" ,_doc ,Nil}}
MsExecAuto ({|x,y|mata250(x,y)}, _aVetor,6} //Quando debug esta parte ele trava
Endif
If IMsErroAuto
MostraErro()
Endif
msgbox("ops Finalizadas")
End transaction
Return
Ultima edição: 12 anos 1 mês atrás por de019.
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
12 anos 1 mês atrás #7251
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Re: MsExecauto
Brother só uma dica, a data não precisa converter não ok.
tira o dtos()
tenta antes de rodar o execauto já estar posicionado no registro que será encerrado.
tira o dtos()
tenta antes de rodar o execauto já estar posicionado no registro que será encerrado.
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- de019
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 66
- Obrigados Recebidos: 0
- junior.silva
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 3
- Obrigados Recebidos: 0
7 anos 8 meses atrás #31908
por junior.silva
Respondido por junior.silva no tópico MsExecauto
Boa tarde Andre,
Estou com o mesmo problema.
Você conseguiu resolver?
Estou com o mesmo problema.
Você conseguiu resolver?
Por favor Acessar ou Registrar para participar da conversa.
- admin
- Desconectado
- Administrador
Menos
Mais
- Postagens: 297
- Obrigados Recebidos: 21
7 anos 8 meses atrás - 7 anos 8 meses atrás #31909
por admin
Respondido por admin no tópico MsExecauto
Segue um exemplo de função para encerramento de op, lembrando que o ideal é estar posicionado no registro da op que será encerrada.
User Function RPCPA13()
Local cSQL := ''
Private lMsErroAuto := .F.
Private lMostraErro := .T.
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Confirma encerramento ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
nAviso := Aviso( "Atenção","Confirma o encerramento da OP " + SUBSTRING(SBC->BC_OP,1,6) + " ? ", { "Sim", "Não" } )
If nAviso == 2
Return
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Verifica apontamento da OP ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
SC2->(dbSetorder(1))
SC2->(dbSeek(xFilial("SC2")+SUBSTRING(SBC->BC_OP,1,6)))
cSQL := "SELECT * FROM " + RETSQLNAME("SD3") + " WHERE "
cSQL += "D3_OP = '" + ALLTRIM(SBC->BC_OP) + "' AND "
cSQL += "D3_JOFPECA <> '' AND "
cSQL += "D3_CF = 'PR0' AND "
cSQL += "D3_ESTORNO <> 'S' AND "
cSQL += "D_E_L_E_T_ = '' ORDER BY R_E_C_N_O_ DESC"
dbUseArea(.T.,"TOPCONN",TcGenQry(,,cSQL),"TD3",.F.,.T.)
If TD3->(Eof())
Aviso( "Atenção", "A OP não pode ser encerrada pois não existe apontamento de produção. Exclua a OP para encerrar.", { "Sim", "Não" } )
TD3->(dbCloseArea())
Return
EndIf
TCSETFIELD("TD3","D3_EMISSAO","D",8,0)
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Prepara vetor de encerramento ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
aEncerra := { { "D3_OP" , TD3->D3_OP , NIL },;
{ "D3_TM" , TD3->D3_TM , NIL },;
{ "D3_EMISSAO" , TD3->D3_EMISSAO , NIL },;
{ "D3_COD" , TD3->D3_COD , NIL },;
{ "D3_UM" , TD3->D3_UM , NIL },;
{ "D3_LOCAL" , TD3->D3_LOCAL , NIL },;
{ "D3_DOC" , TD3->D3_DOC , NIL },;
{ "D3_NUMSEQ" , TD3->D3_NUMSEQ , NIL } }
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Encerramento automatico de OP ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Begin Transaction
lMsErroAuto := .F.
MsgRun("Encerramento da OP do ultimo Palete. Aguarde...","MATA250 - Encerramento de OP",{|| MSExecAuto({|x,y| MATA250(x,y)},aEncerra, 6) })
If lMsErroAuto
DisarmTransaction()
MostraErro()
EndIf
End Transaction
TD3->(dbCloseAreA())
Return
Ultima edição: 7 anos 8 meses atrás por admin.
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.104 segundos