Parâmetros: | Nome | Tipo | Descrição | Conteúdo Default | ExpC1 |
---|
Caractere | Parâmetro de uso interno da TOTVS. | ExpL1 | Lógico | Parâmetro de uso interno da TOTVS. | ExpA1 | Array | Array contendo os dados do cabeçalho da Requisição Entrada de ServiçosVeículos. |
| ExpA2 | Array | Array contendo os itens da Requisição de Serviçosda Entrada de Veículos. |
| ExpA3 | Array | Array contendo a forma de pagamento da Entrada de Veículos. Caso não haja, informe um array vazio. |
| ExpN1 | Numérico | Opção desejada: 23-Inclusão (opção Requisitar); 3-Alteração (opção Alterar). |
| Passo a passo: | //Requisição de Serviço - Opções Requisitar (2) e Alterar (3)
#include "Protheus.ch"
User Function TST030REQ()
Local cSQL := ""
Local aParamBox := {}
Local aRetParam := {}
Local aCabVO4 := {}
Local aAuxIteVO4 := {}
Local aIteVO4 := {}
Local lRetExec := .t.
Local nOpcAviso
Private lMSHelpAuto
Private lMsErroAuto
AADD(aParamBox,{1,"OS" ,"00000052" ,"@!" ,"","","",20,.T.}) // 1
AADD(aParamBox,{1,"Tipo de Tempo" ,"CS " ,"@!" ,"","","",20,.T.}) // 2
AADD(aParamBox,{1,"Grupo Servico" ,"01" ,"@!" ,"","","",40,.T.}) // 3
AADD(aParamBox,{1,"Servico" ,"10-020-018 " ,"@!" ,"","","",40,.T.}) // 4
AADD(aParamBox,{1,"Tipo de Servico" ,"SRI" ,"@!" ,"","","",20,.f.}) // 5
AADD(aParamBox,{1,"Tempo Padrao" ,0 ,"@R 999:99" ,"","","",20,.f.}) // 6
AADD(aParamBox,{1,"Secao" ,"MEC" ,"@!" ,"","","",20,.f.}) // 7
AADD(aParamBox,{1,"Valor Fixo" ,0 ,"@E 9999.99" ,"","","",20,.f.}) // 8
AADD(aParamBox,{1,"Valor Venda" ,0 ,"@E 9999.99" ,"","","",20,.f.}) // 9
aRetParam := {}
If !ParamBox(aParamBox,"ExecAuto Req. Servico",@aRetParam,,,,,,,,.f.)
lRetExec := .f.
EndIf
If lRetExec
DbSelectArea("VO1")
VO1->(dbSetOrder(1))
VO1->(dbSeek( xFilial("VO1") + aRetParam[1] ))
cSQL := "SELECT COUNT(*) "
cSQL += "FROM " + RetSQLName("VO4") + " VO4 "
cSQL +5-Cancelamento. |
| ExpC1 | Caractere | Tipo de Entrada desejado: "0"=Normal (entrada por compra) "1"=Ped.Fabrica "2"=Remessa "3"=Transferencia "4"=Consignacao "5"=Devolucao "6"=Frete "7"=Retorno de Remessa "8"=Retorno de Consignacao |
| ExpA4 | Array | Uso interno |
| ExpL1 | Lógico | Booleano que define se deve exibir mensagens padrão da rotina. | .t. | ExpA5 | Booleano | Array contendo as informações da nota fiscal já gerada. Caso não haja, não informe nenhum conteúdo. | {.t.,"",""} | ExpC2 | Caractere | Tipo do Documento a ser considerado: "1" = Gera nota fiscal de Entrada - SD1/SF1 "2" = Gera movimentacao interna - SD3 "3" = Nao gera movimentacao de entrada Back Office (Nota Fiscal de Entrada / Mov. Interna de Estoque) Neste caso o veiculo pode ser importado do mercado internacional e a nota fiscal já foi digitada no BackOffice "4" = Nao gera movimentacao de entrada Back Office (Nota Fiscal de Entrada / Mov. Interna de Estoque) Neste caso o veiculo foi produzido pela montadora através de uma Ordem de Produção no PCP | "1" |
|
Passo a passo: | //Inclusão de uma entrada de veículos por compra gerando nota fiscal #include "totvs.ch"
User Function INCVX0NF() Local xEAutoCab := {} // Campos Cabecalho Local xEAutoItens := {} // Campos Itens Local xAutoIt := {}
Private lMsErroAuto := .f.
////////////////////////// // NF ENTRADA // ///////////////////////// aAdd(xEAutoCab,{"VVF_FILIAL" , xFilial("VVF") ,Nil}) aAdd(xEAutoCab,{"VVF_FORPRO" , "1" ,Nil}) aAdd(xEAutoCab,{"VVF_CLIFOR" , "F" ,Nil}) aAdd(xEAutoCab,{"VVF_CODFOR" , "000001" ,Nil}) aAdd(xEAutoCab,{"VVF_LOJA " , "01" ,Nil}) aAdd(xEAutoCab,{"VVF_DATEMI" , dDataBase ,Nil}) aAdd(xEAutoCab,{"VVF_FORPAG" , "001" ,Nil}) aAdd(xEAutoCab,{"VVF_NATURE" , "9999999999" ,Nil}) aAdd(xEAutoCab,{"VVF_ESPECI" , "SPED" ,Nil})
//ITEM xAutoIt := {} aAdd(xAutoIt,{"VVG_FILIAL" , xFilial("VVG") ,Nil}) aAdd(xAutoIt,{"VVG_CHASSI" , "CHASSI_TESTE" ,Nil}) aAdd(xAutoIt,{"VVG_CHAINT" , "000000" ,Nil}) aAdd(xAutoIt,{"VVG_CODTES" , "001" ,Nil}) aAdd(xAutoIt,{"VVG_LOCPAD" , "MN" ,Nil}) aAdd(xAutoIt,{"VVG_VALUNI" , 999999.99 ,Nil}) aAdd(xAutoIt,{"VVG_ESTVEI" , "0" ,Nil}) aAdd(xAutoIt,{"VVG_CODORI" , "0" ,Nil}) aAdd(xAutoIt,{"VVG_SITTRI" , "0" ,Nil}) aAdd(xEAutoItens,aClone(xAutoIt))
cBkpFunName := FunName() SetFunName('VEIXA001')
MSExecAuto( { |a,b,c,d,e,f,g,h,i| VEIXX000(a,b,c,d,e,f,g,h,i) }, xEAutoCab,xEAutoItens,{} ,3 ,"0", ,.f. )
SetFunName(cBkpFunName)
If lMsErroAuto MostraErro() Else MsgInfo("Movimento criado com sucesso") EndIf
Return
//Cancelamento de uma entrada de veículos #include "totvs.ch" User Function DELVX0NF() Local xAutoCab := {} // Campos Cabecalho Local xAutoItens := {} // Campos Itens Local xAutoIt := {}
Local aParParamBox := {} Local aRetParamBox := {}
Private lMsHelpAuto := .t. Private lMsErroAuto := .f.
AADD( aParParamBox , { 1 , RetTitle("F1_DOC") , Space(TamSX3("F1_DOC" )[1]) , "" , "" , "" , "" , 40 , .T. } ) AADD( aParParamBox , { 1 , RetTitle("F1_SERIE") , Space(TamSX3("F1_SERIE" )[1]) , "" , "" , "" , "" , 40 , .T. } ) AADD( aParParamBox , { 1 , RetTitle("F1_FORNECE") , Space(TamSX3("F1_FORNECE")[1]) , "" , "" , "" , "" , 40 , .T. } ) AADD( aParParamBox , { 1 , RetTitle("F1_LOJA") , Space(TamSX3("F1_LOJA" )[1]) , "" , "" , "" , "" , 40 , .T. } )
If ! ParamBox(aParParamBox,"Entrada Veiculo - NF",@aRetParamBox,,,,,,,, .f., .f.) Return EndIf
// F1_DOC+F1_SERIE+F1_FORNECE+F1_LOJA+F1_TIPO //cNota := "1812110021 00001601" cNota := aRetParamBox[1] + aRetParamBox[2] + aRetParamBox[3] + aRetParamBox[4] //cNota := FMX_INPUTBOX("Numero da nota fiscal de entrada", Space(TamSX3("F1_DOC")[1] + TamSX3("F1_SERIE")[1])) //cNota := FMX_INPUTBOX("Numero da nota fiscal de entrada", cNota )
SF1->(dbSetOrder(1)) If ! SF1->(dbSeek(xFilial("SF1") + cNota )) MsgStop("Nota fiscal não encontrada") Return EndIf
cPergunta := "Nota: " + SF1->F1_SERIE + " - " + SF1->F1_DOC + CHR(13) + CHR(10) + ; "Fornecedor: " + sf1->F1_FORNECE + " - " + sf1->F1_LOJA
If ! MsgYesNo("Confirma Cancelamento da nota fiscal " + chr(13) + chr(10) + chr(13) + chr(10) + cPergunta ) Return EndIf
aAdd(xAutoCab, { 'VVF_NUMNFI' , SF1->F1_DOC , NIL } ) aAdd(xAutoCab, { 'VVF_SERNFI' , SF1->F1_SERIE , NIL } ) aAdd(xAutoCab, { 'VVF_CODFOR' , SF1->F1_FORNECE , NIL } ) aAdd(xAutoCab, { 'VVF_LOJA' , SF1->F1_LOJA , NIL } )
MSExecAuto(; { |a,b,c,d,e,f,g,h,i| ; VEIXX000(a ,b ,c ,d ,e ,f ,g ,h ,i ) },; xAutoCab,{} ,{} ,5 ,"0" , ,.f. , , ) If lMsErroAuto MostraErro() Else MsgInfo("Movimento cancelado com sucesso.") EndIf
Return
|