Histórico da Página
...
Wiki Markup |
---|
||Descrição|| Fina040 – Contas a Receber - Rotina Automática com rateio multi-naturezas
||Observações|| Documento exemplificando o uso da rotina automática com rateio multinaturezas para Contas a Receber (FINA040), para inclusão e exclusão de títulos. A alteração do rateio multi-naturezas não foi implementada. Caso o título tenha o seu valor principal alterado, o rateio automaticamente será atualizado com base nas porcentagens de distribuição já definidas na inclusão.
Nota: A inclusão do rateio ocorrerá somente se o parâmetro MV_MULNATR estiver habilitado.
||Exemplos||Neste exemplo será utilizadas uma natureza e dois centros de custo para cada natureza:
#Include 'Protheus.ch'
#INCLUDE "TBICONN.CH"
USER FUNCTION 040MULT()
LOCAL aCab := {} // array que recebera o titulo a receber
LOCAL aAuxEv :={} // array auxiliar do rateio multinaturezas
LOCAL aRatEvEz:={} //array do rateio multinaturezas
LOCAL aAuxEz :={} // Array auxiliar de multiplos centros de custo
LOCAL aRatEz:={} //Array do rateio de centro de custo em multiplas naturezas
PREPARE ENVIRONMENT EMPRESA '01' FILIAL '0101001'
PRIVATE lMsErroAuto := .F.
aadd( aCab,{"E1_PREFIXO" , 'AUT', Nil })
aadd( aCab ,{"E1_NUM" ,GetSXeNum("SE1","E1_NUM"), Nil })
aadd( aCab ,{"E1_PARCELA" , '1', Nil })
aadd( aCab ,{"E1_TIPO" , 'NF', Nil })
aadd( aCab ,{"E1_NATUREZ" , '001', Nil })
aadd( aCab ,{"E1_CLIENTE" , '001', Nil })
aadd( aCab ,{"E1_EMISSAO" , dDataBase, Nil })
aadd( aCab ,{"E1_VENCTO" , dDataBase, Nil })
aadd( aCab ,{"E1_VALOR" , 100, Nil })
aadd( aCab ,{"E1_MULTNAT" , '1', Nil })//rateio multinaturezs = sim
//Adicionando o vetor da natureza
aadd( aAuxEv ,{"EV_NATUREZ" , padr('001',tamsx3("EV_NATUREZ")[1]), Nil })//natureza a ser rateada
aadd( aAuxEv ,{"EV_VALOR" , 100, Nil })//valor do rateio na natureza
aadd( aAuxEv ,{"EV_PERC" , "100", Nil })//percentual do rateio na natureza
aadd( aAuxEv ,{"EV_RATEICC" , "1", Nil })//indicando que há rateio por centro de custo
//Adicionando multiplos centros de custo
//primeiro centro de custo
aAuxEz:={}
aadd( aAuxEz ,{"EZ_CCUSTO" , '001', Nil })//centro de custo da natureza
aadd( aAuxEz ,{"EZ_VALOR" , 15, Nil })//valor do rateio neste centro de custo
aadd(aRatEz,aAuxEz)
//segundo centro de custo
aAuxEz:={}
aadd( aAuxEz ,{"EZ_CCUSTO" , '002', Nil })//centro de custo na natureza
aadd( aAuxEz ,{"EZ_VALOR" , 85, Nil })//valor do rateio neste centro de custo
aadd(aRatEz,aAuxEz)
aadd(aAuxEv,{"AUTRATEICC" , aRatEz, Nil })//recebendo dentro do array da natureza os multiplos centros de custo
aAdd(aRatEvEz,aAuxEv)//adicionando a natureza ao rateio de multiplas naturezas
MsExecAuto( { |x,y,z,a| FINA040(x,y,z,a)} , aCab, 3,,aRatEvEz)//inclusao
If lMsErroAuto
MostraErro()
Else
Alert("Título incluído com sucesso!")
Endif
Return
||Preview||
||Veja também|| http://tdn.totvs.com.br/pages/releaseview.action?pageId=6070751
||Idioma|| Português(Brasil)
||Versões|| Versões_Anteriores
||Sistemas Operacionais Suportados||Todos
||Compatível com as Bases de Dados||Todas
||Updates||
||Parâmetros|| MV_MULNATR
||Retorno||
||Eventos de chamada do Ponto de Entrada||
||Variáveis||
||Programa Fonte|| FINA040.PRX |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas