Árvore de páginas

Versões comparadas

Chave

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

Índice
maxLevel1

VISÃO GERAL

Exemplo de execução automáticas das operações de inclusão, exclusão e alteração de títulos a pagar.

...

Bloco de código
languagejava
themeMidnight
titleInclusão com rateio de projeto (PMS)
collapsetrue
USER FUNCTION F050IPMS()
	Local cPref := "FIN"
	Local cNum := "210408001"
	Local cPar := "1"
	Local cTipo := "NF"
	Local cNaturez := "FGRV01"
	Local cFornec := "FGRV04"
	Local cLoja := "01"
	Local nValor := 1000
	Local aGrvSe2 := {}
	Local aInfProj := {}
	Local aInfAFR := {}
 
	PRIVATE lMsErroAuto := .F.
 
	PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01 " MODULO "FIN" TABLES "SE2","SE5","SA2","AFR","AF9","AF8"
	 
	aAdd(aInfAFR, {"AFR_PROJET", PadR("PMSU000023", TamSX3("AF9_PROJET")[1]), Nil})
	aAdd(aInfAFR, {"AFR_TAREFA", "01.02", Nil})
	aAdd(aInfAFR, {"AFR_TIPOD", PadR("0004", TamSx3("AFR_TIPOD")[1]), Nil})
	aAdd(aInfAFR, {"AFR_VALOR1", nValor, Nil})
	aAdd(aInfAFR, {"AFR_REVISA", StrZero(4, TamSX3("AFR_REVISA")[1]), Nil})
	aAdd(aInfAFR, {"AFR_PREFIX", cPref, Nil})
	aAdd(aInfAFR, {"AFR_NUM", cNum, Nil})
	aAdd(aInfAFR, {"AFR_PARCEL", cPar, Nil})
	aAdd(aInfAFR, {"AFR_TIPO", cTipo, Nil})
	aAdd(aInfAFR, {"AFR_FORNEC", cFornec, Nil})
	aAdd(aInfAFR, {"AFR_LOJA", cLoja, Nil})
	aAdd(aInfAFR, {"AFR_DATA", Date(), Nil})
	aAdd(aInfAFR, {"AFR_VENREA", Date(), Nil})
	aAdd(aInfProj, aInfAFR)
 
	aGrvSe2 := { { "E2_PREFIXO" , cPref , NIL },;
	{ "E2_NUM" , cNum , NIL },;
	{ "E2_TIPO" , cTipo , NIL },;
	{ "E2_NATUREZ" , cNaturez , NIL },;
	{ "E2_FORNECE" , cFornec , NIL },;
	{ "E2_LOJA" , cLoja , NIL },;
	{ "E2_EMISSAO" , Date() , NIL },;
	{ "E2_VENCTO" , Date() , NIL },;
	{ "E2_VENCREA" , Date() , NIL },;
	{ "E2_VALOR" , nValor , NIL },;
	{ "E2_PROJPMS" , "2" , NIL },;
	{ "E2_HIST" , "Inclusão de Projeto" , NIL },;
	{"AUTRATAFR" , aInfProj ,Nil } }
 
	MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aGrvSe2,, 3) // 3 - Inclusao, 4 - Alteração, 5 - Exclusão
 
	If lMsErroAuto
		MostraErro()
	Else
		Conout("Título incluído com sucesso!")
	Endif
 
Return

DEMAIS INFORMAÇÕES

Não há.

ASSUNTOS RELACIONADOS

Documento de referencia FINA050

Templatedocumentos

...

Bloco de código
languagejava
themeMidnight
titleCódigo de retenção de títulos a pagar
collapsetrue
#INCLUDE "Protheus.ch"

/*	Quando houver qualquer tipo de operação que envolva a inserção de valor no campo
	E2_CODRET, é necessário utilizar a função SetFuName("FINA050") antes de executar a MSExecAuto(),
	pois existe uma validação no X3_VALID -(EXISTCPO("SX5","37"+M->E2_CODRET) .AND. Iif(FUNNAME() $ "FINA050|FINA750",FA050Natur(),.T.))
	deste campo que so ira realizar o calculo do imposto por código de retenção se o FunName() estiver contido em "FINA050".	*/

USER FUNCTION F050CODRET()
	LOCAL aArray := {}
	 
	PRIVATE lMsErroAuto := .F.
	
	//Estrutura para demais títulos
	aArray := { { "E2_PREFIXO"  , "PAG"             , NIL },;
				{ "E2_NUM"      , "0001"            , NIL },;
				{ "E2_TIPO"     , "NF"              , NIL },;
				{ "E2_NATUREZ"  , "001"             , NIL },;
				{ "E2_FORNECE"  , "0001"            , NIL },;
				{ "E2_EMISSAO"  , CtoD("17/02/2012"), NIL },;
				{ "E2_VENCTO"   , CtoD("17/02/2012"), NIL },;
				{ "E2_VENCREA"  , CtoD("17/02/2012"), NIL },;
				{ "E2_VALOR"    , 5000              , NIL },;
 				{ "E2_DIRF"     , "1"				, NIL },;
				{ "E2_CODRET"   , "3208"            , NIL }}
	
	SetFunName("FINA050") 
	MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 3)  // 3 - Inclusao, 4 - Alteração, 5 - Exclusão
	 
	 
	If lMsErroAuto
		MostraErro()
	Else
		Alert("Título incluído com sucesso!")
	Endif
	 
Return
Bloco de código
languagejava
themeMidnight
titleSubstituição de titulo provisório
collapsetrue
#INCLUDE "Protheus.ch"
USER FUNCTION FIN050SUBST()
	LOCAL aArray := {}
	LOCAL aAuxTitPrv := {}
	LOCAL aTitPrv    := {}
	 
	PRIVATE lMsErroAuto := .F.
	
	//Titulo efetivo
	aArray := { { "E2_PREFIXO"  , "DRG"             , NIL },;
				{ "E2_NUM"      , "VT002"            , NIL },;
				{ "E2_PARCELA"  , " "               , NIL },;
				{ "E2_TIPO"     , "NF"              , NIL },;
				{ "E2_NATUREZ"  , "001"             , NIL },;
				{ "E2_FORNECE"  , "001"            , NIL },;
				{ "E2_LOJA"     , "00"              , NIL },;
				{ "E2_EMISSAO"  , CtoD("27/10/2021"), NIL },;
				{ "E2_VENCTO"   , CtoD("27/10/2021"), NIL },;
				{ "E2_VENCREA"  , CtoD("27/10/2021"), NIL },;
				{ "E2_VALOR"    , 5000              , NIL } }
		
	//No array aAuxTitPrv devera conter as informações dos títulos provisórios que serão substituídos
	aAuxTitPrv := { { "E2_PREFIXO"          ,PadR("DRG",TamSx3("E2_PREFIXO")[1])  	, NIL },;
					{ "E2_NUM"              ,PadR("000000001",TamSx3("E2_NUM")[1])  , NIL },;
					{ "E2_PARCELA"          ,PadR("1",TamSx3("E2_PARCELA")[1])      , NIL },;
					{ "E2_TIPO"             ,PadR("PR ",TamSx3("E2_TIPO")[1])       , NIL },;
					{ "E2_FORNECE"          ,PadR("001",TamSx3("E2_FORNECE")[1])    , NIL },;
					{ "E2_LOJA"             ,PadR("00",TamSx3("E2_LOJA")[1])        , NIL }}
	
	aadd(aTitPrv, aAuxTitPrv)
		
	MsExecAuto({|a,b,c,d,e,f,g,h,i,j| FINA050(a,b,c,d,e,f,g,h,i,j)},aArray,,6,,,,,,aTitPrv)
	 
	 
	If lMsErroAuto
		MostraErro()
	Else
		Conout("Título substituído com sucesso!")
	Endif
	 
Return
Bloco de código
languagejava
themeMidnight
titleInclusão com Complemento de Título
collapsetrue
#INCLUDE "Protheus.ch"

/*
Exemplo: 
	Inclusão de título a pagar com cálculo de IR, preenchendo a 
	natureza de rendimento (FKF_NATREN) no complemento do título (FKF).
*/
User Function A050Inc1()

    Local aArray  := {}
	Local aFKF    := {}
	Local cNatRen := "13002"      

	PRIVATE lMsErroAuto := .F.

    //Dados da SE2
    aArray := { { "E2_PREFIXO"  , "BOL"              , NIL },;
                { "E2_NUM"      , "BOL00110"         , NIL },;
                { "E2_TIPO"     , "BOL"              , NIL },;
                { "E2_NATUREZ"  , "RNF000002"        , NIL },;
                { "E2_FORNECE"  , "RNF017"           , NIL },;
                { "E2_LOJA"     , "01"               , NIL },;
                { "E2_EMISSAO"  , CtoD("09/02/2023") , NIL },;
                { "E2_VENCTO"   , CtoD("09/02/2023") , NIL },;
                { "E2_VENCREA"  , CtoD("09/02/2023") , NIL },;
                { "E2_VALOR"    , 5000               , NIL }}

	//Dados da FKF - Complemento do titulo
	aFKF := { { "FKF_NATREN", cNatRen , NIL }}

	aAdd(aArray, {"AUTCMTIT", aFKF, Nil})
    
    MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 3)  // 3 - Inclusao, 4 - Alteração, 5 - Exclusão
      
    If lMsErroAuto
        MostraErro()
    Else
        Conout("Titulo incluso com sucesso!")
    Endif

Return

DEMAIS INFORMAÇÕES

Não há.

ASSUNTOS RELACIONADOS

Documento de referencia FINA050


Templatedocumentos