- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- WebServices (Integração)
- impostos nota de entrada protheus msexecauto
Perguntas impostos nota de entrada protheus msexecauto
- will
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 81
- Obrigados Recebidos: 0
5 anos 5 meses atrás #32739
por will
impostos nota de entrada protheus msexecauto foi criado por will
Bom dia,
Estou fazendo uma integração de WebService para nota fiscal de entrada, e preciso alterar os impostos da nota de entrada via MSEXECAUTO,
Encontrei essa documentação da Totvs: tdn.totvs.com/pages/releaseview.action?pageId=235592777
que informa como fazer as alterações usando o vetor aCodRet
Passando os seguintes parametros:
aAdd( aCodRet, {01, "0297", 1, "..."} )
aAdd( aCodRet, {02, "0297", 1, "IRR"} )
aAdd( aCodRet, {03, "5979", 1, "PIS"} )
aAdd( aCodRet, {04, "5960", 1, "COF"} )
aAdd( aCodRet, {05, "5987", 1, "CSL"} )
Mais não achei documentação desse vetor em lugar algum, alguém sabe o que significa esses 4 parâmetros que tem que passar, principalmente o 2 e 3?
Segue abaixo o exemplo da Totvs Completo.
//DOCUMENTO TIPO NORMAL
#Include "Protheus.ch"
#Include "RwMake.ch"
#Include "TbiConn.ch"
User Function EXEC103()
Local aCab := {}
Local aItem := {}
Local aItens := {}
Local aAutoImp := {}
Local aItensRat := {}
Local aCodRet := {}
Local nOpc := 3
Local cNum := ""
Local nI := 0
Local nX := 0
Local nReg := 1
Conout("Inicio: " + Time())
Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.
PREPARE ENVIRONMENT EMPRESA "32" FILIAL "6597" MODULO "COM"
cNum := GetSxeNum("SF1","F1_DOC")
SF1->(dbSetOrder(1))
While SF1->(dbSeek(xFilial("SF1")+cNum))
ConfirmSX8()
cNum := GetSxeNum("SF1","F1_DOC")
EndDo
//Cabeçalho
aadd(aCab,{"F1_TIPO" ,"N" ,NIL})
aadd(aCab,{"F1_FORMUL" ,"N" ,NIL})
aadd(aCab,{"F1_DOC" ,cNum ,NIL})
aadd(aCab,{"F1_SERIE" ,"1 " ,NIL})
aadd(aCab,{"F1_EMISSAO" ,DDATABASE ,NIL})
aadd(aCab,{"F1_DTDIGIT" ,DDATABASE ,NIL})
aadd(aCab,{"F1_FORNECE" ,"001 " ,NIL})
aadd(aCab,{"F1_LOJA" ,"01" ,NIL})
aadd(aCab,{"F1_ESPECIE" ,"CTE" ,NIL})
aadd(aCab,{"F1_COND" ,"001" ,NIL})
aadd(aCab,{"F1_DESPESA" ,10 ,NIL})
aadd(aCab,{"F1_DESCONT" , 0 ,Nil})
aadd(aCab,{"F1_SEGURO" , 0 ,Nil})
aadd(aCab,{"F1_FRETE" , 0 ,Nil})
aadd(aCab,{"F1_MOEDA" , 1 ,Nil})
aadd(aCab,{"F1_TXMOEDA" , 1 ,Nil})
aadd(aCab,{"F1_STATUS" , "A" ,Nil})
//Itens
For nX := 1 To 1
aItem := {}
aadd(aItem,{"D1_ITEM" ,StrZero(nX,4) ,NIL})
aadd(aItem,{"D1_COD" ,PadR("0001",TamSx3("D1_COD")[1]) ,NIL})
aadd(aItem,{"D1_UM" ,"UN" ,NIL})
aadd(aItem,{"D1_LOCAL" ,"01" ,NIL})
aadd(aItem,{"D1_QUANT" ,1 ,NIL})
aadd(aItem,{"D1_VUNIT" ,7508.33 ,NIL})
aadd(aItem,{"D1_TOTAL" ,7508.33 ,NIL})
aadd(aItem,{"D1_TES" ,"001" ,NIL})
aadd(aItem,{"D1_RATEIO" ,"1" ,NIL})
if(nOpc == 4)//Se for classificação deve informar a variável LINPOS
aAdd(aItem, {"LINPOS" , "D1_ITEM", StrZero(nX,4)}) //ou SD1->D1_ITEM se estiver posicionado.
endIf
aAdd(aItens,aItem)
Next nX
//Rateio de Centro de Custo
aItem := {}
aAdd(aItensRat, Array(2))
aItensRat[Len(aItensRat)][1] := "0001"
aItensRat[Len(aItensRat)][2] := {}
aAdd(aItem, {"DE_FILIAL" , xFilial("SDE") , Nil})
aAdd(aItem, {"DE_ITEM" , StrZero(1,TamSx3("DE_ITEM")[1]) , Nil})
aAdd(aItem, {"DE_DOC" , cNum , Nil})
aAdd(aItem, {"DE_SERIE" , "1" , Nil})
aAdd(aItem, {"DE_FORNECE" , "001 " , Nil})
aAdd(aItem, {"DE_LOJA" , "01" , Nil})
aAdd(aItem, {"DE_ITEMNF" , "0001" , Nil})
aAdd(aItem, {"DE_PERC" , 100 , Nil})
aAdd(aItem, {"DE_CC" , "01" , Nil})
aAdd(aItensRat[Len(aItensRat)][2], aClone(aItem))
//Array contendo a informação se gera DIRF e os códigos de retenção por imposto
aAdd( aCodRet, {01, "0297", 1, "..."} )
aAdd( aCodRet, {02, "0297", 1, "IRR"} )
aAdd( aCodRet, {03, "5979", 1, "PIS"} )
aAdd( aCodRet, {04, "5960", 1, "COF"} )
aAdd( aCodRet, {05, "5987", 1, "CSL"} )
//3-Inclusão / 4-Classificação / 5-Exclusão
MSExecAuto({|x,y,z,a,b| MATA103(x,y,z,,,,,a,,,b)},aCab,aItens,nOpc,aItensRat,aCodRet)
If !lMsErroAuto
ConOut(" Incluido NF: " + cNum)
Else
MostraErro()
ConOut("Erro na inclusao!")
EndIf
ConOut("Fim: " + Time())
RESET ENVIRONMENT
Return
Estou fazendo uma integração de WebService para nota fiscal de entrada, e preciso alterar os impostos da nota de entrada via MSEXECAUTO,
Encontrei essa documentação da Totvs: tdn.totvs.com/pages/releaseview.action?pageId=235592777
que informa como fazer as alterações usando o vetor aCodRet
Passando os seguintes parametros:
aAdd( aCodRet, {01, "0297", 1, "..."} )
aAdd( aCodRet, {02, "0297", 1, "IRR"} )
aAdd( aCodRet, {03, "5979", 1, "PIS"} )
aAdd( aCodRet, {04, "5960", 1, "COF"} )
aAdd( aCodRet, {05, "5987", 1, "CSL"} )
Mais não achei documentação desse vetor em lugar algum, alguém sabe o que significa esses 4 parâmetros que tem que passar, principalmente o 2 e 3?
Segue abaixo o exemplo da Totvs Completo.
//DOCUMENTO TIPO NORMAL
#Include "Protheus.ch"
#Include "RwMake.ch"
#Include "TbiConn.ch"
User Function EXEC103()
Local aCab := {}
Local aItem := {}
Local aItens := {}
Local aAutoImp := {}
Local aItensRat := {}
Local aCodRet := {}
Local nOpc := 3
Local cNum := ""
Local nI := 0
Local nX := 0
Local nReg := 1
Conout("Inicio: " + Time())
Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.
PREPARE ENVIRONMENT EMPRESA "32" FILIAL "6597" MODULO "COM"
cNum := GetSxeNum("SF1","F1_DOC")
SF1->(dbSetOrder(1))
While SF1->(dbSeek(xFilial("SF1")+cNum))
ConfirmSX8()
cNum := GetSxeNum("SF1","F1_DOC")
EndDo
//Cabeçalho
aadd(aCab,{"F1_TIPO" ,"N" ,NIL})
aadd(aCab,{"F1_FORMUL" ,"N" ,NIL})
aadd(aCab,{"F1_DOC" ,cNum ,NIL})
aadd(aCab,{"F1_SERIE" ,"1 " ,NIL})
aadd(aCab,{"F1_EMISSAO" ,DDATABASE ,NIL})
aadd(aCab,{"F1_DTDIGIT" ,DDATABASE ,NIL})
aadd(aCab,{"F1_FORNECE" ,"001 " ,NIL})
aadd(aCab,{"F1_LOJA" ,"01" ,NIL})
aadd(aCab,{"F1_ESPECIE" ,"CTE" ,NIL})
aadd(aCab,{"F1_COND" ,"001" ,NIL})
aadd(aCab,{"F1_DESPESA" ,10 ,NIL})
aadd(aCab,{"F1_DESCONT" , 0 ,Nil})
aadd(aCab,{"F1_SEGURO" , 0 ,Nil})
aadd(aCab,{"F1_FRETE" , 0 ,Nil})
aadd(aCab,{"F1_MOEDA" , 1 ,Nil})
aadd(aCab,{"F1_TXMOEDA" , 1 ,Nil})
aadd(aCab,{"F1_STATUS" , "A" ,Nil})
//Itens
For nX := 1 To 1
aItem := {}
aadd(aItem,{"D1_ITEM" ,StrZero(nX,4) ,NIL})
aadd(aItem,{"D1_COD" ,PadR("0001",TamSx3("D1_COD")[1]) ,NIL})
aadd(aItem,{"D1_UM" ,"UN" ,NIL})
aadd(aItem,{"D1_LOCAL" ,"01" ,NIL})
aadd(aItem,{"D1_QUANT" ,1 ,NIL})
aadd(aItem,{"D1_VUNIT" ,7508.33 ,NIL})
aadd(aItem,{"D1_TOTAL" ,7508.33 ,NIL})
aadd(aItem,{"D1_TES" ,"001" ,NIL})
aadd(aItem,{"D1_RATEIO" ,"1" ,NIL})
if(nOpc == 4)//Se for classificação deve informar a variável LINPOS
aAdd(aItem, {"LINPOS" , "D1_ITEM", StrZero(nX,4)}) //ou SD1->D1_ITEM se estiver posicionado.
endIf
aAdd(aItens,aItem)
Next nX
//Rateio de Centro de Custo
aItem := {}
aAdd(aItensRat, Array(2))
aItensRat[Len(aItensRat)][1] := "0001"
aItensRat[Len(aItensRat)][2] := {}
aAdd(aItem, {"DE_FILIAL" , xFilial("SDE") , Nil})
aAdd(aItem, {"DE_ITEM" , StrZero(1,TamSx3("DE_ITEM")[1]) , Nil})
aAdd(aItem, {"DE_DOC" , cNum , Nil})
aAdd(aItem, {"DE_SERIE" , "1" , Nil})
aAdd(aItem, {"DE_FORNECE" , "001 " , Nil})
aAdd(aItem, {"DE_LOJA" , "01" , Nil})
aAdd(aItem, {"DE_ITEMNF" , "0001" , Nil})
aAdd(aItem, {"DE_PERC" , 100 , Nil})
aAdd(aItem, {"DE_CC" , "01" , Nil})
aAdd(aItensRat[Len(aItensRat)][2], aClone(aItem))
//Array contendo a informação se gera DIRF e os códigos de retenção por imposto
aAdd( aCodRet, {01, "0297", 1, "..."} )
aAdd( aCodRet, {02, "0297", 1, "IRR"} )
aAdd( aCodRet, {03, "5979", 1, "PIS"} )
aAdd( aCodRet, {04, "5960", 1, "COF"} )
aAdd( aCodRet, {05, "5987", 1, "CSL"} )
//3-Inclusão / 4-Classificação / 5-Exclusão
MSExecAuto({|x,y,z,a,b| MATA103(x,y,z,,,,,a,,,b)},aCab,aItens,nOpc,aItensRat,aCodRet)
If !lMsErroAuto
ConOut(" Incluido NF: " + cNum)
Else
MostraErro()
ConOut("Erro na inclusao!")
EndIf
ConOut("Fim: " + Time())
RESET ENVIRONMENT
Return
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- WebServices (Integração)
- impostos nota de entrada protheus msexecauto
Tempo para a criação da página:0.099 segundos