Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Bloco de código
languagejava
themeMidnight
titleExemplo de rotina automatica
collapsetrue
#INCLUDE "Protheus.ch"

//-------------------------------
// Baixa do titulo a receber
//-------------------------------

User Function BAIXA070()
 
	Local aBaixa := {}
 
	aBaixa := {{"E1_PREFIXO"  ,"   "                ,Nil    },;
			{"E1_NUM"      ,"200      "            ,Nil    },;
			{"E1_PARCELA"  ," "                    ,Nil    },;
			{"E1_TIPO"     ,"NF "                  ,Nil    },;
			{"AUTMOTBX"    ,"NOR"                  ,Nil    },;
			{"AUTBANCO"    ,"001"                  ,Nil    },;
			{"AUTAGENCIA"  ,"00001"                ,Nil    },;
			{"AUTCONTA"    ,"0000000001"           ,Nil    },;
			{"AUTDTBAIXA"  ,dDataBase              ,Nil    },;
			{"AUTDTCREDITO",dDataBase              ,Nil    },;
			{"AUTHIST"     ,"BAIXA TESTE"          ,Nil    },;
			{"AUTJUROS"    ,0                      ,Nil,.T.},;
			{"AUTVALREC"   ,700                    ,Nil    }}
 
	MSExecAuto({|x,y| Fina070(x,y)},aBaixa,3) 
 
Return

//-------------------------------
// Cancelamento da baixa do titulo a receber
//-------------------------------
User Function CANC070()
 
	Local aBaixa := {}
 	
	aBaixa := {{"E1_PREFIXO"  ,"   "                ,Nil    },;
			{"E1_NUM"      ,"200  "    "            ,Nil    },;
			{"E1_NUMPARCELA"  ," "   ,"200      "            ,Nil    },;
			{"E1_TIPO"     ,"NF "                  ,Nil    },;
			{"AUTMOTBX"    ,"NOR"                  ,Nil    },;
			{"AUTBANCO"    ,"001"                  ,Nil    },;
			{"AUTAGENCIA"  ,"00001"                ,Nil    },;
			{"AUTCONTA"    ,"0000000001"           ,Nil    },;
			{"AUTDTBAIXA"  ,dDataBase              ,Nil    },;
			{"AUTDTCREDITO",dDataBase              ,Nil    },;
			{"AUTHIST"     ,"BAIXA TESTE"          ,Nil    },;
			{"AUTJUROS"    ,0                      ,Nil,.T.},;
			{"AUTVALREC"   ,700                    ,Nil    }}
 
	MSExecAuto({|x,y| Fina070(x,y)},aBaixa,5) 
 
Return

Bloco de código
languagejava
themeMidnight
titleExemplo de rotina automática com rateio de múltiplas naturezas
collapsetrue
#INCLUDE "Protheus.ch"

//--------------------------------------------------
// Para correto funcionamento o parâmetro MV_MULNATR 
// deve estar igual a .T.
//---------------------------------------------------

//-------------------------------------------------------------
// Neste exemplo é utilizada uma natureza e um centro de custo
//--------------------------------------------------------------

User Function EXEC070()
 
	Local aBaixa := {}
 
	aBaixa := {{"E1_PREFIXO"  ,"   "                ,Nil    },;
			{"E1_NUM"      ,"200      "            ,Nil    },;
			{"E1_PARCELA"  ," "                    ,Nil    },;
			{"E1_TIPO"     ,"NF "                  ,Nil    },;
			{"AUTMOTBX"    ,"NOR"                  ,Nil    },;
			{"AUTBANCO"    ,"001"                  ,Nil    },;
			{"AUTAGENCIA"  ,"00001"                ,Nil    },;
			{"AUTCONTA"    ,"0000000001"           ,Nil    },;
			{"AUTDTBAIXA"  ,dDataBase              ,Nil    },;
			{"AUTDTCREDITO",dDataBase              ,Nil    },;
			{"AUTHIST"     ,"BAIXA TESTE"          ,Nil    },;
			{"AUTJUROS"    ,0                      ,Nil,.T.},;
			{"AUTVALREC"   ,500                    ,Nil    }}
 
	//Adicionando o vetor da natureza
	Aadd(aAuxEv,{"EV_NATUREZ","EASY", NIL }) //Natureza a Ratear
	Aadd(aAuxEv,{"EV_VALOR", 500, NIL }) //Valor do Rateio na Natureza
	Aadd(aAuxEv,{"EV_PERC", 100, NIL }) //Percentual do Rateio na Natureza
	Aadd(aAuxEv,{"EV_RATEICC", "1", NIL }) //Rateio por Centro de Custo == 1 - Sim

	//Adicionando Múltiplos Centros de Custo
	//Primeiro Centro de Custo
	aAuxEz := {}
	Aadd( aAuxEz,{"EZ_CCUSTO", "000001   ", NIL}) //Centro de Custo da Natureza
	Aadd( aAuxEz, {"EZ_VALOR", 500, 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| Fina070(x,y,,,,,,,z)},aBaixa,3,aRatEvEz) 
	
	If lMsErroAuto
		MostraErro()
	Else
		MsgAlert("Baixa realizada com sucesso!")
	EndIf
 
Return

...