01. DADOS GERAIS
Linha de Produto: | Microsiga Protheus |
---|---|
Segmento: | Varejo |
Módulo: | Veículos (SIGAVEI) |
Função: | Atend. Modelo 2 (VEIXA018) |
Ticket: | 7530902 |
Requisito/Story/Issue (informe o requisito relacionado) : | MMIL-5236 |
Pacote(s) Gerado(s): | 12.1.25: https://suporte.totvs.com/portal/p/10098/download?e=844543 12.1.23: https://suporte.totvs.com/portal/p/10098/download?e=844542 12.1.17: https://suporte.totvs.com/portal/p/10098/download?e=844541 |
02. SITUAÇÃO/REQUISITO
Há necessidade da rotina Atend. Modelo 2 (VEIXA018) ser executada automaticamente a partir de outras rotinas (execauto).
03. SOLUÇÃO
Implementada melhoria no Módulo SIGAVEI através de alterações na rotina Atend. Modelo 2 (VEIXA018) para que esta seja executada automaticamente a partir de outras rotinas (execauto).
Observação: A forma de pagamento disponibilizada para execução do ExecAuto é a Entradas (Tipo 6)
#include "totvs.ch"
User Function AddAtend()
Local aAutoCab := {}
Local aAutoVV9 := {}
Local aAutoItens:= {} // Campos Itens
Local aAutoIt
nTipoAdd := AVISO("Tipo de Inclusão",;
"Tipo de Inclusão de Atendimento" + chr(13) + chr(10) + chr(13) + chr(10) + ;
"Um Veículo - Venda futura por modelo " + chr(13) + chr(10) + ;
"Dois Veículos - Venda futura por modelo " + chr(13) + chr(10) + ;
"Por Chassi - Venda com chassi 5NPDH4AE7FH550004" ;
, { "Um Veículo" , "Dois Veículos" , "Por Chassi" } , 3)
If ! MsgYesNo("Confirma execucao")
Return
EndIf
aAdd(aAutoVV9, { "VV9_CODCLI" , "000006" , NIL } )
aAdd(aAutoVV9, { "VV9_LOJA" , "01" , NIL } )
// aAdd(aAutoVV9, { "VV9_TELVIS" , "111" , NIL } )
aAutoCab := {} // Campos Cabecalho
// aAdd(aAutoCab,{"VV0_TIPFAT" ,"0" ,Nil})
// aAdd(aAutoCab,{"VV0_OPEMOV" ,"1" ,Nil})
// aAdd(aAutoCab,{"VVA_SIMVDA" ,"S" ,Nil})
// aAdd(aAutoCab,{"VV0_VDAFUT" ,"1" ,Nil})
aAdd(aAutoCab,{"VV0_CODCLI" ,"000006" ,Nil})
aAdd(aAutoCab,{"VV0_LOJA" ,"01" ,Nil})
// aAdd(aAutoCab,{"VV0_TIPO" ,"N" ,Nil})
// aAdd(aAutoCab,{"VV0_CODVEN " ,"000001" ,Nil})
aAdd(aAutoCab,{"VV0_TIPVEN" ,"01" , NIl })
aAdd(aAutoCab,{"VV0_CODVEN" , "000003" , NIl })
aAdd(aAutoCab,{"VV0_FORPAG" , "002" , NIl })
aAutoItens:= {} // Campos Itens
If nTipoAdd == 1
aAutoIt := {}
aAdd( aAutoIt , { 'VVA_CODMAR' , 'HYU' , NIL} )
aAdd( aAutoIt , { 'VVA_GRUMOD' , 'GR01 ' , NIL} )
aAdd( aAutoIt , { 'VVA_MODVEI' , 'GBZ5 ' , NIL} )
aAdd( aAutoIt , { 'VVA_SEGMOD' , '1K20K42S ' , NIL} )
aAdd( aAutoIt , { 'VVA_CODTES' , '501' , NIL} )
aAdd( aAutoIt , { 'VVA_VALTAB' , 90000 , Nil} )
// aAdd( aAutoIt , { 'VVA_VALVDA' ,100000 ,Nil})
// aAdd( aAutoIt , { 'VVA_VALMOV' ,100000 ,Nil})
aAdd(aAutoItens,aAutoIt)
ElseIf nTipoAdd == 2
aAutoIt := {}
aAdd( aAutoIt , { 'VVA_CODMAR' , 'HYU' , NIL} )
aAdd( aAutoIt , { 'VVA_GRUMOD' , 'GR01 ' , NIL} )
aAdd( aAutoIt , { 'VVA_MODVEI' , 'GBZ5 ' , NIL} )
aAdd( aAutoIt , { 'VVA_SEGMOD' , '4S20K42S ' , NIL} )
aAdd( aAutoIt , { 'VVA_CODTES' , '501' , NIL} )
aAdd(aAutoItens,aAutoIt)
aAutoIt := {}
aAdd( aAutoIt , { 'VVA_CODMAR' , 'HYU' , NIL} )
aAdd( aAutoIt , { 'VVA_GRUMOD' , 'GR01 ' , NIL} )
aAdd( aAutoIt , { 'VVA_MODVEI' , 'GBZ5 ' , NIL} )
aAdd( aAutoIt , { 'VVA_SEGMOD' , '4S20K42S ' , NIL} )
aAdd( aAutoIt , { 'VVA_CODTES' , '501' , NIL} )
aAdd( aAutoIt , { 'VVA_VALTAB' ,50000 ,Nil})
aAdd(aAutoItens,aAutoIt)
ElseIf nTipoAdd == 3
aAutoIt := {}
aAdd( aAutoIt , { 'VVA_CHASSI' , '5NPDH4AE7FH550004 ' , NIL} )
aAdd( aAutoIt , { 'VVA_CODTES' , '507' , NIL} )
aAdd( aAutoIt , { 'VVA_VALTAB' , 81081.08 , Nil} )
aAdd(aAutoItens,aAutoIt)
EndIf
// CriaAtendimento(xAutoCab,xAutoItens)
Begin Transaction
SetFunName("VEIXA018")
lMSHelpAuto := .t.
lMsErroAuto := .f.
//VEIXX002(xAutoCab,xAutoItens,xAutoCP,nOpc,aRecInter)
MSExecAuto({|x,y,z,w| VEIXX002(x,y,,z,,w )}, aAutoCab, aAutoItens, 3, aAutoVV9)
// VEIXX002( xAutoCab, xAutoItens,xAutoCP,nOpc,aRecInter)
if lMsErroAuto
DisarmTransaction()
RollbackSx8()
MsUnlockAll()
MostraErro()
Return .f.
Endif
ConOut("---------------------------------------------------------------------------")
ConOut(" ")
Conout("VVA POSICIONADO - " + VVA->VVA_NUMTRA + VVA->VVA_ITETRA )
ConOut(" ")
ConOut("---------------------------------------------------------------------------")
End Transaction
Return
#include "totvs.ch"
User Function AddChassi()
Local aAutoCab := {}
Local aAutoVV9 := {}
Local aAutoItens:= {} // Campos Itens
Local aAutoIt
Local aParParambox := {}
Local aRetParamBox := {}
AADD( aParParamBox , { 1 , "Atendimento" , Space(TamSX3("VV0_NUMTRA")[1]), "", "", "", "", 40, .t. })
AADD( aParParamBox , { 1 , "Chassi" , Space(TamSX3("VV0_CHASSI")[1]), "", "", "", "", 40, .t. })
AADD( aParParamBox , { 1 , "Valor de Tabela" , 0 ,"@E 999,999.99","" ,"","",50,.f.})
AADD( aParParamBox , { 1 , "Valor do Movimento" , 0 ,"@E 999,999.99","" ,"","",50,.f.})
If ! ParamBox(aParParamBox,"Avan�ar Atendimento",@aRetParamBox,,,,,,,, .f., .f.)
Return
EndIf
If ! MsgYesNo("Confirma execucao")
Return
EndIf
aAdd(aAutoVV9, { "VV9_NUMATE" , aRetParamBox[1] , NIL } )
aAutoCab := {} // Campos Cabecalho
aAutoItens:= {} // Campos Itens
aAutoItens:= {} // Campos Itens
aAutoIt := {}
aAdd( aAutoIt , { 'VVA_CHASSI' , '5NPDH4AE7FH550004 ' , NIL} )
aAdd( aAutoIt , { 'VVA_CODTES' , '507' , NIL} )
If aRetParamBox[3] > 0
aAdd( aAutoIt , { 'VVA_VALTAB' , aRetParamBox[3] , Nil} )
EndIf
If aRetParamBox[4] > 0
aAdd( aAutoIt , { 'VVA_VALMOV' , aRetParamBox[4] , Nil} )
EndIf
aAdd(aAutoItens,aAutoIt)
Begin Transaction
SetFunName("VEIXA018")
lMSHelpAuto := .t.
lMsErroAuto := .f.
//VEIXX002(xAutoCab,xAutoItens,xAutoCP,nOpc,aRecInter)
MSExecAuto({|x,y,z,w| VEIXX002(x,y,,z,,w )}, aAutoCab, aAutoItens, 4, aAutoVV9)
// VEIXX002( xAutoCab, xAutoItens,xAutoCP,nOpc,aRecInter)
if lMsErroAuto
DisarmTransaction()
RollbackSx8()
MsUnlockAll()
MostraErro()
Return .f.
Endif
ConOut("---------------------------------------------------------------------------")
ConOut(" ")
Conout("VVA POSICIONADO - " + VVA->VVA_NUMTRA + VVA->VVA_ITETRA )
ConOut(" ")
ConOut("---------------------------------------------------------------------------")
End Transaction
Return
#include "totvs.ch"
User Function AvaAtend()
Local aAutoCab := {}
Local aAutoVV9 := {}
Local aAutoItens:= {} // Campos Itens
Local cSerParam := ""
Local lRet
Local aParParambox := {}
Local aRetParamBox := {}
AADD( aParParamBox , { 1 , "Atendimento", Space(TamSX3("VV0_NUMTRA")[1]), "", "", "", "", 40, .t. })
If ! ParamBox(aParParamBox,"Avan�ar Atendimento",@aRetParamBox,,,,,,,, .f., .f.)
Return
EndIf
If ! MsgYesNo("Avan�ar atendimento")
Return
EndIf
VV9->(dbSetOrder(1))
If ! VV9->(dbSeek(xFilial("VV9") + aRetParamBox[1]))
Return
EndIf
nRet := AVISO("Avan�ar Atendimento", "Avan�ar at� a fase de ?", { "Aprova��o", "Faturar" }, 1)
Do Case
Case nRet == 0
Return .t.
Case nRet == 1
cFaseAte := "L"
Case nRet == 2
lRet := SX5NumNota(@cSerParam, GetNewPar("MV_TPNRNFS","1"))
If !lRet
Return .t.
EndIf
cFaseAte := "F"
End Case
aAdd(aAutoVV9, { "VV9_NUMATE" , aRetParamBox[1] , NIL } )
aAutoCab := {} // Campos Cabecalho
aAutoItens:= {} // Campos Itens
// Nao pode estar dentro de uma transacao ...
SetFunName("VEIXA018")
lMSHelpAuto := .t.
lMsErroAuto := .f.
MSExecAuto({|x,y,z,w,u,v,t| VEIXX002(x , y , , z , , w , , , u , v , t )}, aAutoCab, aAutoItens, 4 , aAutoVV9,.t.,cFaseAte, cSerParam)
// VEIXX002( xAutoCab, xAutoItens,xAutoCP,nOpc,aRecInter,xAutoVV9,xOpcCanc,xMotCanc,xAutoAvanca, xFaseInter, xSerieNF)
if lMsErroAuto
MostraErro()
Return .f.
Endif
Return
#include "totvs.ch"
User Function CanAtend()
Local aAutoCab := {}
Local aAutoVV9 := {}
Local aAutoItens:= {} // Campos Itens
Local aAutoIt
Local aParParambox := {}
Local aRetParamBox := {}
AADD( aParParamBox , { 1 , "Atendimento", Space(TamSX3("VV0_NUMTRA")[1]), "", "", "", "", 40, .t. })
If ! ParamBox(aParParamBox,"Cancela Atendimento",@aRetParamBox,,,,,,,, .f., .f.)
Return
EndIf
If ! MsgYesNo("Confirma Cancelamento do Atendimento")
Return
EndIf
VV9->(dbSetOrder(1))
If ! VV9->(dbSeek(xFilial("VV9") + aRetParamBox[1]))
Return
EndIf
aAdd(aAutoVV9, { "VV9_NUMATE" , aRetParamBox[1] , NIL } )
aAutoCab := {} // Campos Cabecalho
aAutoItens:= {} // Campos Itens
//�����������������������������������������������������������������
//� Motivo do Cancelamento do Atendimento �
//�����������������������������������������������������������������
aMotCancel := OFA210MOT("000001","1",VV9->VV9_FILIAL,VV9->VV9_NUMATE,.t.) // Filtro da consulta do motivo de Cancelamentos ( 000001 = Atendimento de Veiculos )
If len(aMotCancel) <= 0
Return .f.
EndIf
Begin Transaction
nOpcCanc := 1 // Volta para aberto
nOpcCanc := 2 // Cancela atendimento
SetFunName("VEIXA018")
lMSHelpAuto := .t.
lMsErroAuto := .f.
MSExecAuto({|x,y,z,w,u,v| VEIXX002(x,y,,z,,w,u,v)}, aAutoCab, aAutoItens, 5, aAutoVV9,nOpcCanc,aMotCancel)
if lMsErroAuto
DisarmTransaction()
RollbackSx8()
MsUnlockAll()
MostraErro()
Return .f.
Endif
End Transaction
Return
#include "totvs.ch"
User Function AddAtend()
Local aAutoCab := {}
Local aAutoVV9 := {}
Local aAutoItens:= {} // Campos Itens
Local aAutoIt := {}
Local aAutoPagto := {} // Campos Pagamento
Local aAutoPg := {}
Local aAuxPagto := {}
If ! MsgYesNo("Confirma execução?")
Return
EndIf
aAdd(aAutoVV9, {"VV9_CODCLI" , "000001" , NIL } )
aAdd(aAutoVV9, {"VV9_LOJA" , "01" , NIL } )
aAdd(aAutoCab, {"VV0_CODCLI" , "000001" , Nil } )
aAdd(aAutoCab, {"VV0_LOJA" , "01" , Nil } )
aAdd(aAutoCab, {"VV0_TIPVEN" , " " , NIl } )
aAdd(aAutoCab, {"VV0_CODVEN" , "000001" , NIl } )
aAdd(aAutoCab, {"VV0_FORPAG" , "002" , NIl } )
aAdd( aAutoIt , {"VVA_CHASSI" , "CHASSI_33" , NIL} )
aAdd( aAutoIt , {"VVA_CODTES" , "501" , NIL} )
aAdd( aAutoIt , {"VVA_VALTAB" , 130000 , Nil} )
aAdd( aAutoItens, aAutoIt )
aAuxPagto := {"6",{}} //Forma de Pagamento - Entradas
aAutoPg := {}
AADD( aAutoPg , { "VS9_TIPPAG" , 'DP' , NIL } )
AADD( aAutoPg , { "VS9_DATPAG" , DataValida(dDataBase + 10) , NIL } )
AADD( aAutoPg , { "VS9_VALPAG" , 30000.00 , NIL } )
AADD( aAutoPg , { "VS9_SEQUEN" , "01" , NIL } )
AADD(aAuxPagto[2], aClone(aAutoPg) )
aAutoPg := {}
AADD( aAutoPg , { "VS9_TIPPAG" , 'DP' , NIL } )
AADD( aAutoPg , { "VS9_DATPAG" , DataValida(dDataBase + 10) , NIL } )
AADD( aAutoPg , { "VS9_VALPAG" , 100000.00 , NIL } )
AADD( aAutoPg , { "VS9_SEQUEN" , "02" , NIL } )
AADD(aAuxPagto[2], aClone(aAutoPg) )
AADD( aAutoPagto , aAuxPagto )
Begin Transaction
SetFunName("VEIXA018")
lMSHelpAuto := .t.
lMsErroAuto := .f.
MSExecAuto({|x,y,z,w,v| VEIXX002(x,y,,z,,w,,,,,,v)}, aAutoCab, aAutoItens, 3, aAutoVV9, aAutoPagto)
if lMsErroAuto
DisarmTransaction()
RollbackSx8()
MsUnlockAll()
MostraErro()
Return .f.
Endif
ConOut("---------------------------------------------------------------------------")
ConOut(" ")
Conout("VVA POSICIONADO - " + VVA->VVA_NUMTRA + VVA->VVA_ITETRA )
ConOut(" ")
ConOut("---------------------------------------------------------------------------")
End Transaction
Return
04. DEMAIS INFORMAÇÕES
Não há.
05. ASSUNTOS RELACIONADOS
Não há.