Árvore de páginas

Versões comparadas

Chave

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

...

Totvs custom tabs box
tabsPasso 01, Passo 02, Passo 03, Passo 04, Passo 05, Passo 06
idspasso1,passo2,passo3,passo4,passo5,passo6
Totvs custom tabs box items
defaultyes
referenciapasso1

Título a ser liquidado

Totvs custom tabs box items
defaultno
referenciapasso2

Tela 1

Totvs custom tabs box items
defaultno
referenciapasso3

Seleção de Títulos

Totvs custom tabs box items
defaultno
referenciapasso4

Tela de Juros e Descontos

Totvs custom tabs box items
defaultno
referenciapasso5

Tela 2 - Condição de pagamento e aCols de cheques.

Totvs custom tabs box items
defaultno
referenciapasso6

Resultado Final

Título Baixado:

Titulos gerados:

Bloco de código
languagejava
themeMidnight
titleExemplo de rotina automática
collapsetrue
#INCLUDE 'PROTHEUS.CH'

USER FUNCTION F565EXEC()
    Local aTela1 := {}
    Local aTela2 := {}
    Local aEdtVlr := {}
    Local aCols := {}
    Local aItens := {}
    Local cPrefixo := 'GER'
    Local cFornec  := 'FINC83'
    Local cLoja    := '01'
    Local nRotina  := 2 // Liquidar


    Local nI := 0

    // Variáveis utilizadas para o controle de erro da rotina automática
    Private lMsErroAuto := .F.
    Private lAutoErrNoFile := .T.

    // Define a DataBase da movimentação
    dDataBase := cToD("08/09/2016")

    // Define Parâmetros da Rotina
    Pergunte('FIN565',.F.)

    // Array de desvio de tela - Caso não seja passado nenhum dos parametros
    // a liquidação ira considerar o título posicionado
    aAdd(aTela1, {'cFornDe', 'FINC83'}) //- Fornecedor De:
    aAdd(aTela1, {'cLojaDe', '01' }) //- Loja De:
    aAdd(aTela1, {'cFornAte', 'FINC83'}) //- Fornecedor Até:
    aAdd(aTela1, {'cLojaAte', '01' }) //- Loja Até: 
    aAdd(aTela1, {'cForn565', 'FINC83'}) //- Gerar p/:
    aAdd(aTela1, {'cLoja', '01'}) //- Loja:
    aAdd(aTela1, {'nValorMax', 0.00}) //- Valor:
    aAdd(aTela1, {'nValorDe', 0.00}) //- Titulos no valor De: 
    aAdd(aTela1, {'nValorAte', 999999999999}) //- Até o Valor De:
    aAdd(aTela1, {'cMoeda565', '1'}) //- Moeda:
    aAdd(aTela1, {'cOutrMoed', '1'}) //- Outras moedas:
    aAdd(aTela1, {'cIntervalo', '1'}) //- Intervalo por:
    aAdd(aTela1, {'dData565I', CTOD('08/09/2016')}) //- Data De:
    aAdd(aTela1, {'dData565F', CTOD('08/09/2016')}) //- Data Até:
    aAdd(aTela1, {'cPrefDe', ' '}) //- Prefx De: 
    aAdd(aTela1, {'cPrefAte', 'zzz'}) //- Prefx Até:
    aAdd(aTela1, {'cNumDe', 'FIN565001'}) //- Titulo De:
    aAdd(aTela1, {'cNumAte', 'FIN565001'}) //- Titulo Até:


    //aHeader - Cabeçalho
    aAdd(aTela2, {'cLoja', cLoja }) //- Loja
    aAdd(aTela2, {'cCondicao', '003' }) //- Condicao (opcional)
    aAdd(aTela2, {'cTipo', 'CH ' }) //- Tipo
    aAdd(aTela2, {'cNatureza', 'FIN001CA' }) //- Natureza
    aAdd(aTela2, {'NTXLIQ', 4}) //- TX Moeda (opcional)
    aAdd(aTela2, {'cFornece', cFornec }) //- Fornecedor

    // Itens/aCols
    //Utilizando condição de pagamento torna-se obrigatório apenas esses campos
    aItens := {}
    AADD(aItens, {'E2_PREFIXO', cPrefixo}) //- Prefixo 
    AADD(aItens, {'E2_BCOCHQ' , '001'}) //- Banco
    AADD(aItens, {'E2_AGECHQ' , '0001'}) //- Agencia
    AADD(aItens, {'E2_CTACHQ' , '00001'}) //- Conta
    AADD(aItens, {'E2_NUM' , 'CHQ001'}) //- Num Cheque
    AADD(aCols, ACLONE(aItens))

    //Array que controla edição dos títulos a serem liquidados.
    aEdtVlr := {}
    AAdd( aEdtVlr, {'Editar', .T. } ) //- Se necessario Editar Valores
    aAdd( aEdtVlr, { {'chave','D MG 01 FIN565001 NF FINC8301'},;
        {'nCotMoed', 3},;
        {'nValJur', 0},;
        {'nValDes', 0},; 
        {'nValLiq', 6005} } )

    MSEXECAUTO( { |a, b, c, d, e, f, g| FINA565( a, b, c, d, e, f, g )}, nRotina, aTela1, aChave, aTela2, aCols, aEdtVlr, .T. )

    If lMsErroAuto
        MostraErro()
    Else
        Conout("Liquidação gerada com sucesso!")
    EndIf

Return NIL

Aviso
titleAviso!

Caso seja informada uma condição de pagamento é necessário apenas informar os campos:

  • E2_PREFIXO
  • E2_BCOCHQ
  • E2_AGECHQ
  • E2_CTACHQ
  • E2_NUM

Não informando uma condição de pagamento devera ser preenchido todos os campos que compõem o aCols já calculados.

Bloco de código
languagejava
themeMidnight
titleaCols sem condição de pagamentocollapsetrue
Exemplo de duas parcelas:

For nI := 1 To 2 
    aItens := {}
    AADD(aItens, {'E2_PREFIXO', cPrefixo}) //- Prefixo 
    AADD(aItens, {'E2_TIPO' , 'CH'}) //- Tipo
    AADD(aItens, {'E2_BCOCHQ' , '100'}) //- Banco
    AADD(aItens, {'E2_AGECHQ' , '001'}) //- Agencia
    AADD(aItens, {'E2_CTACHQ' , '1001'}) //- Conta
    AADD(aItens, {'E2_NUM' , 'FLQ'+STRZERO(nI,4)}) //- Num Cheque
    AADD(aItens, {'E2_VENCTO' , dDataBase+(nI*15)}) //- Dt Vencimento
    AADD(aItens, {'E2_VLCRUZ' , 3002.50}) //- Valor
    AADD(aItens, {'E2_ACRESC' , 0}) //- Acrescimo
    AADD(aItens, {'E2_DECRESC', 0}) //- Decrescimo
    AADD(aItens, {'E2_VALOR' , 3002.50}) //- Valor Total
    AADD(aCols, ACLONE(aItens))
Next nI



...