FXCT103 - Executado antes do Documento de Entrada (MATA103).
#INCLUDE 'TOTVS.CH'
/***********************************************************************************
|----------------------------------------------------------------------------------|
|* Programa | FXCT103 Data | 23/12/24 | *|
|----------------------------------------------------------------------------------|
|* Autor | 4Fx Solu��es em Tecnologia *|
|----------------------------------------------------------------------------------|
|* Utiliza��o | Compras -> Atualiza��es -> Pr�-Nota Entrada *|
|----------------------------------------------------------------------------------|
|* Descricao | Projeto RepositorioDFe - Importador XML ERP - Protheus *|
|* | *|
|----------------------------------------------------------------------------------|
***********************************************************************************/
User Function FXCT103()
Local lRet := .T.
Local cOper := ""
Local cCfop := ""
Local aRet := {.T.,""}
nPosFor := aScan(aCabec,{|x| x[01]=="F1_FORNECE" })
nPosLoja := aScan(aCabec,{|x| x[01]=="F1_LOJA" })
nPosCond := aScan(aCabec,{|x| x[01]=="F1_COND" })
nPosTes := aScan(aItens[1],{|x| x[01]=="D1_TES" })
nPosCta := aScan(aItens[1],{|x| x[01]=="D1_CONTA" })
nPosCC := aScan(aItens[1],{|x| x[01]=="D1_CC" })
cCondFor := fBuscaCPO("SA2",1,xFilial("SA2")+aCabec[nPosFor][2]+aCabec[nPosLoja][2],"A2_COND")
cGrupTrib := fBuscaCPO("SA2",1,xFilial("SA2")+aCabec[nPosFor][2]+aCabec[nPosLoja][2],"A2_GRPTRIB")
//Se tiver condi��o de pagamento no fornecedor pega do cadastro
if !empty(cCondFor)
aCabec[nPosCond][2] := cCondFor
endif
//Regra Simples Nacional
if cGrupTrib == "008"
aItens[1,nPosTes][2] := "281"
endif
//Regra fornecedor Teut�nia Norte Adubos
if aCabec[nPosFor][2]+aCabec[nPosLoja][2] == "01006701"
if nPosCta == 0
AADD( aItens[1], { "D1_CONTA", "41204001", NIL, NIL } )
else
aItens[1,nPosCta][2] := "41204001"
endif
if nPosCC == 0
AADD( aItens[1], { "D1_CC", "010185", NIL, NIL } )
else
aItens[1,nPosCC][2] := "010185"
endif
endif
Return aRet