Versões comparadas

Chave

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

VISIÓN GENERAL

Ejemplo de ejecución automática de las operaciones de inclusión, borrado y modificación de títulos por

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.

Aviso
titleAviso

A função La función Fa050Inclu() não pode ser usada em customizações por se tratar de um função de menu existem algumas dependências de variáveis privates declaradas no FINA050.

...

no puede utilizarse en personalizaciones, por tratarse de una función de menú existen algunas dependencias de variables privates declaradas en FINA050.

EJEMPLO DE UTILIZACIÓN


Bloco de código
languagejava
themeMidnight
titleInclusãoInclusión
collapsetrue
#INCLUDE "Protheus.ch"
USER FUNCTION FIN050INC()
	LOCAL aArray := {}
	 
	PRIVATE lMsErroAuto := .F.
	
	//EstruturaEstructura para PA ( PagamentoPago Antecipadoanticipado )
	aArray := { { "E2_PREFIXO"  , "PAG"             , NIL },;
				{ "E2_NUM"      , "0001"            , NIL },;
				{ "E2_TIPO"     , "PA"              , 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 },;
				{ "AUTBANCO"    , "001"				, NIL },;
				{ "AUTAGENCIA"  , "1234"			, NIL },;
				{ "AUTCONTA"    , "123456"			, NIL } }

	//EstruturaEstructura para demaisotros 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 } }
	 
	MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 3)  // 3 - InclusaoInclusión, 4 - AlteraçãoModificación, 5 - ExclusãoBorrado
	 
	 
	If lMsErroAuto
		MostraErro()
	Else
		Alert("Título¡Título incluídoincluido comcon sucessoéxito!")
	Endif
	 
Return
Bloco de código
languagejava
themeMidnight
titleAlteraçãoModificación
collapsetrue
#INCLUDE "Protheus.ch"
USER FUNCTION FIN050ALT()
	LOCAL aArray := {}
	 
	PRIVATE lMsErroAuto := .F.

	aArray := { { "E2_PREFIXO"  , "PAG"             , NIL },;
				{ "E2_NUM"      , "0001"            , NIL },;
				{ "E2_VALOR"    , 2000              , NIL } }  

	DbSelectArea("SE2") 
	DbSetOrder(1)
	DbSeek(xFilial("SE2")+"PAG"+"0001     "+" "+"NF") //AlteraçãoModificación devedebe tertener oel registro SE2 posicionadomarcado
			 
	MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 4)  // 3 - InclusaoInclusión, 4 - AlteraçãoModificación, 5 - ExclusãoBorrado

	If lMsErroAuto
		MostraErro()
	Else
		Alert("Título¡Título alteradomodificado comcon sucessoéxito!")
	Endif

Return
Bloco de código
languagejava
themeMidnight
titleExclusãoBorrado
collapsetrue
#INCLUDE "Protheus.ch"
USER FUNCTION FIN050EXC()
	LOCAL aArray := {}
	 
	PRIVATE lMsErroAuto := .F.
	 
	DbSelectArea("SE2") 
	DbSetOrder(1)
	DbSeek(xFilial("SE2")+"PAG"+"0001     "+" "+"NF") //ExclusãoBorrado devedebe tertener oel registro SE2 posicionadomarcado
									
	aArray := { { "E2_PREFIXO" , SE2->E2_PREFIXO , NIL },;
					{ "E2_NUM"     , SE2->E2_NUM     , NIL } }
	 
	MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 5)  // 3 - InclusaoInclusión, 4 - AlteraçãoModificación, 5 - ExclusãoBorrado
	 
	If lMsErroAuto
		MostraErro()
	Else
		Alert("Exclusão¡Borrado dodel Títulotítulo comcon sucessoéxito!")
	Endif
 
Return

Bloco de código
languagejava
themeMidnight
titleInclusão com Inclusión con VA (Valores acessoriosadicionales)
collapsetrue
#INCLUDE "Protheus.ch"
USER FUNCTION FIN050VA()
    LOCAL aArray := {}
    LOCAL nOpc   := 3 // 3-InclusãoInclusión, 4 AlteraçãoModificación
 
    // DadosDatos dodel valor acessórioadicional.
    LOCAL aVAAut     := {}
    LOCAL cValAce1   := "000001"  // Código dodel Va
    LOCAL nValAce1   := 200       // Valor dodel Va
    LOCAL cValAce2   := "000012"
    LOCAL nValAce2   := 4
 
    PRIVATE lMsErroAuto := .F.
  
    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 } }
  
    // Array comcon valor acessórioadicional
    aAdd(aVAAut, {cValAce1, nValAce1})
    aAdd(aVAAut, {cValAce2, nValAce2})
 
    MsExecAuto( { |a,b,c,d,e,f,g,h,i,j,k,l| FINA050(a, b, c, d, e, f, g, h, i, j, k, l)}, aArray,, nOpc,,,,,,,,, aVAAut)  
  
    If lMsErroAuto
        MostraErro()
    Else
        If nOpc == 3       
            Alert("Título¡Título incluido comcon sucessoéxito!")
        Else
            Alert("Título¡Título alteradomodificado comcon sucessoéxito!")
        EndIf
    Endif
  
Return
Bloco de código
languagejava
themeMidnight
titleInclusão com Inclusión con PA com con cheque
collapsetrue
#INCLUDE "Protheus.ch"
USER FUNCTION FIN050INCPA()
    LOCAL aArray := {}
  
    PRIVATE lMsErroAuto := .F.
  
    aArray := { { "E2_PREFIXO", "PAG"             , NIL },;
              { "E2_NUM"      , "0001"            , NIL },;
              { "E2_TIPO"     , "PA"              , 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 },;
              { "AUTBANCO"    , "FIN"             , NIL },;
              { "AUTAGENCIA"  , "00015"           , NIL },;
              { "AUTCONTA"    , "0000000001"      , NIL },;
              { "AUTMOED"     , "1"               , NIL },;
              { "AUTCHEQUE"   , "124569"          , NIL }}
  
    MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 3)  // 3 - InclusãoInclusión
   
    If lMsErroAuto
        MostraErro()
    Else
        Alert("Título¡Título incluídoincluido comcon sucessoéxito!")
    Endif
  
Return
Bloco de código
languagejava
themeMidnight
titleInclusão com rateio de projeto Inclusión con prorrateo de proyecto (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ãoInclusión de Projetoproyecto" , NIL },;
	{"AUTRATAFR" , aInfProj ,Nil } }
 
	MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aGrvSe2,, 3) // 3 - InclusaoInclusión, 4 - AlteraçãoModificación, 5 - ExclusãoBorrado
 
	If lMsErroAuto
		MostraErro()
	Else
		Conout("Título¡Título incluídoincluido comcon sucessoéxito!")
	Endif
 
Return
Bloco de código
languagejava
themeMidnight
titleCódigo de retenção retención de títulos a por pagar
collapsetrue
#INCLUDE "Protheus.ch"

/*	QuandoSi houverhubiera qualquercualquier tipo de operaçãooperación que envolvainvolucre ala inserçãoinclusión de valor en noel campo
	E2_CODRET, ées necessárionecesario utilizar ala funçãofunción SetFuName("FINA050") antes de executar aejecutar MSExecAuto(),
	poispues existe umauna validaçãovalidación noen X3_VALID -(EXISTCPO("SX5","37"+M->E2_CODRET) .AND. Iif(FUNNAME() $ "FINA050|FINA750",FA050Natur(),.T.))
	destede este campo que sosolamente irarealizará realizarel ocálculo calculodel do impostoimpuesto por código de retençãoretención se osi FunName() estiverestuviera contidocontenido emen "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
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

...