Histórico da Página
01. DADOS GERAIS
...
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 | ||
---|---|---|
| ||
A função 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. |
...
EXEMPLO DE UTILIZAÇÃO
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "Protheus.ch" //------------------------ // Inclusão //------------------------ USER FUNCTION FIN050INC() LOCAL aArray := {} PRIVATE lMsErroAuto := .F. USER FUNCTION FIN050INC() LOCAL aArray := {} PRIVATE lMsErroAuto := .F. //Estrutura para PA ( Pagamento Antecipado ) 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 } } //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 } } 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 //------------------------ // Alteração //------------------------ USER FUNCTION FIN050ALT() |
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#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ção deve ter o registro SE2 posicionado MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 4) // 3 - Inclusao, 4 - Alteração, 5 - Exclusão If lMsErroAuto MostraErro() Else Alert("Título alterado com sucesso!") Endif Return //------------------------ // Exclusão //------------------------ USER FUNCTION FIN050EXC() LOCAL aArray := {} PRIVATE lMsErroAuto := .F. DbSelectArea("SE2") DbSetOrder(1) DbSeek(xFilial("SE2")+"PAG"+"0001 "+" "+"NF") //Exclusão deve ter o registro SE2 posicionado aArray := { { "E2_PREFIXO" , SE2->E2_PREFIXO , NIL },; { "E2_NUM" , SE2->E2_NUM , NIL } } MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 5) // 3 - Inclusao, 4 - Alteração, 5 - Exclusão If lMsErroAuto MostraErro() Else Alert("Exclusão do Título com sucesso!") Endif Return |
04. DEMAIS INFORMAÇÕES
Não há.
05. ASSUNTOS RELACIONADOS
Documento de referencia FINA050
Templatedocumentos |
---|
...
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "Protheus.ch"
USER FUNCTION FIN050EXC()
LOCAL aArray := {}
PRIVATE lMsErroAuto := .F.
DbSelectArea("SE2")
DbSetOrder(1)
DbSeek(xFilial("SE2")+"PAG"+"0001 "+" "+"NF") //Exclusão deve ter o registro SE2 posicionado
aArray := { { "E2_PREFIXO" , SE2->E2_PREFIXO , NIL },;
{ "E2_NUM" , SE2->E2_NUM , NIL } }
MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 5) // 3 - Inclusao, 4 - Alteração, 5 - Exclusão
If lMsErroAuto
MostraErro()
Else
Alert("Exclusão do Título com sucesso!")
Endif
Return
|
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "Protheus.ch"
USER FUNCTION FIN050VA()
LOCAL aArray := {}
LOCAL nOpc := 3 // 3-Inclusão, 4 Alteração
// Dados do valor acessório.
LOCAL aVAAut := {}
LOCAL cValAce1 := "000001" // Código do Va
LOCAL nValAce1 := 200 // Valor do 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 com valor acessório
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 incluido com sucesso!")
Else
Alert("Título alterado com sucesso!")
EndIf
Endif
Return
|
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#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ão
If lMsErroAuto
MostraErro()
Else
Alert("Título incluído com sucesso!")
Endif
Return
|
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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
|
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#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 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#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 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#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 |
---|
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas