Árvore de páginas

Exemplos de execauto da rotina Contas a Receber - FINA040 para alimentar as tabelas de complemento do título

Produto:

Protheus

Versões:

11.80 e 12.1.17 e superiores

Ocorrência:

Seguem exemplos de ExecAuto da rotina Contas a Receber (FINA040) utilizando as tabelas de complemento do título (FKF) e complemento do imposto do título (FKG).

Ambiente:

Financeiro

Observações:

Nos exemplos abaixo, demonstraremos como alimentar as tabelas novas de complemento do título, através da MsExecAuto da rotina FINA040 para incluir, alterar e excluir títulos com complementos.

Para alimentar as tabelas de complemento de título e complemento de impostos devem ser informados os registros pelos rótulos AUTCMTIT e AUTCMIMP, presentes no array utilizado na chamada da Execauto.

Exemplos:

Exemplos:

Inclusão de um título com cálculo de INSS, com dados no complemento do título (FKF) e com 2 complementos do imposto (FKG) para abater 1000,00 e 2000,00 da base de cálculo do INSS.

User Function A040Inc1()

LOCAL atit := {}
LOCAL aFKF := {}
LOCAL aFKG := {}
LOCAL aAuxFKG := {}

PRIVATE lMsErroAuto := .F.

atit := { { "E1_PREFIXO" , "AUT" , NIL },;
{ "E1_NUM" , "0015" , NIL },;
{ "E1_TIPO" , "NF" , NIL },;
{ "E1_NATUREZ" , "FIN0000400" , NIL },;
{ "E1_CLIENTE" , "FIN400" , NIL },;
{ "E1_EMISSAO" , CtoD("30/08/2022"), NIL },;
{ "E1_VENCTO" , CtoD("30/08/2022"), NIL },;
{ "E1_VENCREA" , CtoD("30/08/2022"), NIL },;
{ "E1_VALOR" , 10000 , NIL }}


aFKF := { { "FKF_CPRB" , "1" , NIL },;
    { "FKF_CNAE" , "00000025" , NIL },;
    { "FKF_TPSERV", "01" , NIL },;
    { "FKF_INDSUS", "2" , NIL }}

aAdd(atit,{"AUTCMTIT",aFKF,Nil}) // Adiona as informações na FKF - Complemento de títulos


// Monta o array com as informações que vão ser gravadas dos complementos de impostos

aAuxFKG:=    {{"FKG_ITEM"      , "000001"                      , NIL },;
                      { "FKG_IDFKE"      , "FIN006"                     , NIL },; // Código do complemento do Imposto da tabela FKE
                      { "FKG_DESCR"      ,"deducao de base"    , NIL },;
                      { "FKG_VALOR"    , 1000                           , NIL }}


aAdd(aFKG,aAuxFKG)

aAuxFKG := {}

aAuxFKG :=     {{"FKG_ITEM"    ,"000002"                       , NIL },;
                        { "FKG_IDFKE"    ,"FIN007"                      , NIL },; // Código do complemento do Imposto da tabela FKE
                        { "FKG_DESCR"    ,"deducao de valor"    , NIL },;
                        { "FKG_VALOR"    , 90                              , NIL }}


aAdd(aFKG,aAuxFKG)


aAuxFKG := {} // Limpa o array para adicionar um segundo item ao complemento


aAdd(atit,{"AUTCMIMP",aFKG,Nil}) // Adiciona as informações na FKG - Complemento de impostos


MsExecAuto({ |a,b, c, d,e, f, g | FINA040(a,b, c, d,e, f, g )} , atit, 3) // 3 - Inclusao, 4 - Alteração, 5 - Exclusão

If lMsErroAuto
    MostraErro()
Else
    Alert("Título incluído com sucesso!")
Endif


Return

Alteração somente dos dados do título, sem alteração na FKF e FKG

User Function A040Alt1()

LOCAL atit := {}
LOCAL aFKF := {}
LOCAL aFKG := {}
LOCAL aAuxFKG := {}
LOCAL lCont := .F.

PRIVATE lMsErroAuto := .F.

atit := { { "E1_PREFIXO" , "AUT" , NIL },;
{ "E1_NUM" , "0003 " , NIL },;
{ "E1_PARCELA" , " " , NIL },;
{ "E1_TIPO" , "NF" , NIL },;
{ "E1_NATUREZ" , "NATIRINSS" , NIL },;
{ "E1_CLIENTE" , "000001" , NIL },;
{ "E1_EMISSAO" , CtoD("19/06/2017"), NIL },;
{ "E1_VENCTO" , CtoD("19/06/2017"), NIL },;
{ "E1_VENCREA" , CtoD("19/06/2017"), NIL },;
{ "E1_VALOR" , 15000 , NIL } }

DbSelectArea("SE1")
DbSetOrder(1)
lCont:= DbSeek(xFilial("SE1")+"AUT"+"0003 "+" "+"NF ") //Alteração deve ter o registro SE1 posicionado

If lCont
         MsExecAuto( { |a,b, c, d,e, f, g | FINA040(a,b, c, d,e, f, g)} , atit, 4,,,,, ) // 3 - Inclusao, 4 - Alteração, 5 - Exclusão
Endif

If lMsErroAuto
      MostraErro()
Elseif lCont
      Alert("Título alterado com sucesso!")
Endif

Return

Alteração dos dados de complemento do imposto do título (FKG), alterando o valor do abatimento

User Function A040Alt2()

LOCAL atit := {}
LOCAL aFKF := {}
LOCAL aFKG := {}
LOCAL aAuxFKG := {}
LOCAL lCont := .F.

PRIVATE lMsErroAuto := .F.

atit := { { "E1_PREFIXO" , "AUT" , NIL },;
{ "E1_NUM" , "0003 " , NIL },;
{ "E1_PARCELA" , " " , NIL },;
{ "E1_TIPO" , "NF" , NIL },;
{ "E1_NATUREZ" , "NATIRINSS" , NIL },;
{ "E1_CLIENTE" , "000001" , NIL },;
{ "E1_EMISSAO" , CtoD("19/06/2017"), NIL },;
{ "E1_VENCTO" , CtoD("19/06/2017"), NIL },;
{ "E1_VENCREA" , CtoD("19/06/2017"), NIL },;
{ "E1_VALOR" , 15000 , NIL } }

aAuxFKG := { { "FKG_ITEM" , "000001" , NIL },;
{ "FKG_IDFKE" , "000001" , NIL },;
{ "FKG_DESCR" , "ABAT MATERIAL 1" , NIL },;
{ "FKG_VALOR", 3000 , NIL }}

aAdd(aFKG,aAuxFKG)

aAuxFKG := {}
aAdd(atit,{"AUTCMIMP",aFKG,Nil}) // Adiciona as informações na FKG - Complemento de impostos


DbSelectArea("SE1")
DbSetOrder(1)
lCont:= DbSeek(xFilial("SE1")+"AUT"+"0003 "+" "+"NF ") //Alteração deve ter o registro SE1 posicionado

If lCont
MsExecAuto( { |a,b, c, d,e, f, g | FINA040(a,b, c, d,e, f, g)} , atit, 4) // 3 - Inclusao, 4 - Alteração, 5 - Exclusão

Endif

If lMsErroAuto
    MostraErro()
Elseif lCont 
    Alert("Título alterado com sucesso!")
Endif

Return

Exclusão do título com FKF e FKG, somente informar o título a ser excluído.

User Function Auto040Exc()
LOCAL atit := {}
LOCAL lCont := .F.

PRIVATE lMsErroAuto := .F.

atit := { { "E1_PREFIXO" , "AUT" , NIL },;
{ "E1_NUM" , "0003 " , NIL },;
{ "E1_PARCELA" , " " , NIL },;
{ "E1_TIPO" , "NF" , NIL },;
{ "E1_NATUREZ" , "NATIRINSS" , NIL },;
{ "E1_CLIENTE" , "000001" , NIL },;
{ "E1_EMISSAO" , CtoD("19/06/2017"), NIL },;
{ "E1_VENCTO" , CtoD("19/06/2017"), NIL },;
{ "E1_VENCREA" , CtoD("19/06/2017"), NIL },;
{ "E1_VALOR" , 5000 , NIL } }

DbSelectArea("SE1")
DbSetOrder(1)
lCont:= DbSeek(xFilial("SE1")+"AUT"+"0003 "+" "+"NF ") //Exclusão deve ter o registro SE1 posicionado

If lCont
         MsExecAuto( { |a,b | FINA040(a,b)} , atit, 5) // 3 - Inclusao, 4 - Alteração, 5 - Exclusão
Endif

If lMsErroAuto
         MostraErro()
Elseif lCont
         Alert("Título Excluido com sucesso!")
Endif


Return

Teste de inclusão de título com complemento de título (FKF) e com complemento do imposto do título (FKG) de dedução do valor do imposto por processo judicial.

User Function A040Inc2()

LOCAL atit := {}
LOCAL aFKF := {}
LOCAL aFKG := {}
LOCAL aAuxFKG := {}

PRIVATE lMsErroAuto := .F.

atit := { { "E1_PREFIXO" , "AUT" , NIL },;
{ "E1_NUM" , "0004 " , NIL },;
{ "E1_TIPO" , "NF" , NIL },;
{ "E1_NATUREZ" , "NATIRINSS" , NIL },;
{ "E1_CLIENTE" , "000001" , NIL },;
{ "E1_EMISSAO" , CtoD("19/06/2017"), NIL },;
{ "E1_VENCTO" , CtoD("19/06/2017"), NIL },;
{ "E1_VENCREA" , CtoD("19/06/2017"), NIL },;
{ "E1_VALOR" , 10000 , NIL } }


aFKF := { { "FKF_CPRB" , "1" , NIL },;
{ "FKF_CNAE" , "0112-1/02" , NIL },;
{ "FKF_TPSERV", "01" , NIL },;
{ "FKF_INDSUS", "2" , NIL }}


aAuxFKG := { { "FKG_ITEM" , "000001" , NIL },;
{ "FKG_IDFKE" , "000002" , NIL },; // Código do complemento do imposto (FKE)
{ "FKG_DESCR" , "DISPENSA INSS" , NIL },;
{ "FKG_NUMPRO" , "0000001" , NIL },; // Código do processo judicial/adm (CCF)
{ "FKG_VALOR", 100 , NIL }}

aAdd(aFKG,aAuxFKG)

aAuxFKG := {}
aAdd(atit,{"AUTCMIMP",aFKG,Nil}) // Adiciona as informações na FKG - Complemento de impostos


MsExecAuto( { |a,b, c, d,e, f, g | FINA040(a,b, c, d,e, f, g)} , atit, 3) // 3 - Inclusao, 4 - Alteração, 5 - Exclusão

If lMsErroAuto
MostraErro()
Else
Alert("Título incluído com sucesso!")
Endif

Return

Teste de alteração do valor do título e do valor complemento do imposto do título (FKG) de dedução do valor do imposto por processo judicial.

User Function A040Al22()

LOCAL atit := {}
LOCAL aFKF := {}
LOCAL aFKG := {}
LOCAL aAuxFKG := {}
LOCAL lCont := .F.

PRIVATE lMsErroAuto := .F.

atit := { { "E1_PREFIXO" , "AUT" , NIL },;
{ "E1_NUM" , "0004 " , NIL },;
{ "E1_PARCELA" , " " , NIL },;
{ "E1_TIPO" , "NF" , NIL },;
{ "E1_NATUREZ" , "NATIRINSS" , NIL },;
{ "E1_CLIENTE" , "000001" , NIL },;
{ "E1_EMISSAO" , CtoD("19/06/2017"), NIL },;
{ "E1_VENCTO" , CtoD("19/06/2017"), NIL },;
{ "E1_VENCREA" , CtoD("19/06/2017"), NIL },;
{ "E1_VALOR" , 15000 , NIL } }

aAuxFKG := { { "FKG_ITEM" , "000001" , NIL },;
{ "FKG_IDFKE" , "000002" , NIL },;
{ "FKG_DESCR" , "AUMENTADO" , NIL },;
{ "FKG_VALOR", 300 , NIL }}

aAdd(aFKG,aAuxFKG)

aAuxFKG := {}
aAdd(atit,{"AUTCMIMP",aFKG,Nil}) // Adiciona as informações na FKG - Complemento de impostos


DbSelectArea("SE1")
DbSetOrder(1)
lCont:= DbSeek(xFilial("SE1")+"AUT"+"0004 "+" "+"NF ") //Alteração deve ter o registro SE1 posicionado


If lCont
           MsExecAuto( { |a,b, c, d,e, f, g | FINA040(a,b, c, d,e, f, g)} , atit, 4,,,,/*aFKF*/, aFKG) // 3 - Inclusao, 4 - Alteração, 5 - Exclusão
Endif

If lMsErroAuto
     MostraErro()
Elseif lCont
     Alert("Título alterado com sucesso!")
Endif

Return

 Inclusão de titulo com complemento do imposto inexistente. Será exibida a mensagem que não existe o cadastro de complemento, porém o título será incluído sem complemento.

User Function A040Inc3()

LOCAL atit := {}
LOCAL aFKF := {}
LOCAL aFKG := {}
LOCAL aAuxFKG := {}

PRIVATE lMsErroAuto := .F.

atit := { { "E1_PREFIXO" , "AUT" , NIL },;
{ "E1_NUM" , "0005 " , NIL },;
{ "E1_TIPO" , "NF" , NIL },;
{ "E1_NATUREZ" , "NATIRINSS" , NIL },;
{ "E1_CLIENTE" , "000001" , NIL },;
{ "E1_EMISSAO" , CtoD("19/06/2017"), NIL },;
{ "E1_VENCTO" , CtoD("19/06/2017"), NIL },;
{ "E1_VENCREA" , CtoD("19/06/2017"), NIL },;
{ "E1_VALOR" , 10000 , NIL } }


aAuxFKG := { { "FKG_ITEM" , "000001" , NIL },;
{ "FKG_IDFKE" , "000005" , NIL },;
{ "FKG_DESCR" , "DISPENSA INSS" , NIL },;
{ "FKG_VALOR", 100 , NIL }}

aAdd(aFKG,aAuxFKG)


aAuxFKG := {}
aAdd(atit,{"AUTCMIMP",aFKG,Nil}) // Adiciona as informações na FKG - Complemento de impostos

MsExecAuto( { |a,b, c, d,e, f, g | FINA040(a,b, c, d,e, f, g)} , atit, 3) // 3 - Inclusao, 4 - Alteração, 5 - Exclusão

If lMsErroAuto
      MostraErro()
Else
      Alert("Título incluído com sucesso!")
Endif

Return

Inclusão de título com cliente que Gera PIX, mas o título será inserido com o campo do complemento para Não Gerar Pix

User Function A040IncPix()

Local aTitulo:= {}
Local aFKF := {}

Private lMsErroAuto := .F.

    aTitulo := {}

    aFKF := {{ "FKF_RECPIX" , "2" , NIL }} // Dados a serem gravados no complemento de títulos 

    aAdd(aTitulo,{"E1_NUM"    ,"PIX124"        ,NIL})
    aAdd(aTitulo,{"E1_PREFIXO","ANA"        ,NIL})
    aAdd(aTitulo,{"E1_PARCELA"," "        ,NIL})
    aAdd(aTitulo,{"E1_TIPO"   ,"NF"        ,NIL})
    aAdd(aTitulo,{"E1_NATUREZ","001       "        ,NIL})
    aAdd(aTitulo,{"E1_CLIENTE","ANAPIX"      ,NIL})
    aAdd(aTitulo,{"E1_LOJA"   ,"01"        ,NIL})
    AaDD(aTitulo,{ "E1_EMISSAO" , CtoD("30/08/2022"), NIL })
    AaDD(aTitulo,{ "E1_VENCTO" ,  CtoD("30/08/2022"), NIL })
    AaDD(aTitulo,{ "E1_VENCREA" ,  CtoD("30/08/2022"), NIL })
    AaDD(aTitulo,{ "E1_VALOR" ,  1500 , NIL })    

    AaDD(aTitulo,{ "AUTCMTIT" ,  aFKF , NIL })    


    MSExecAuto({|x,y| FINA040(x,y)}, aTitulo,3)


If lMsErroAuto
    MostraErro()
Else
    Alert("Título incluído com sucesso!")
Endif


Return