Árvore de páginas

Versões comparadas

Chave

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

01. VISÃO GERAL

Execução automática (ExecAuto) da substituição de títulos provisórios a receber(PR).

02. EXEMPLO DE UTILIZAÇÃO


Bloco de código
languagejava
themeMidnight
titleExecAuto - Substituição de Provisórios
#Include 'Protheus.ch'
#include "tbiconn.ch"


//Substituicao de titulos Contas a receber

User Function UFSUBSCR()

    Local aTitDef := {}
    Local aTitPrv := {}
    Local cCliente := "F040CT" // Codigo de busca do cliente
    Local cLoja := "01" // Loja de Busca
    Local nVlrSubs := 0
    Local cNumTitulo 
    PRIVATE lMsErroAuto := .F.


    PREPARE//Numeracao ENVIRONMENTdo EMPRESAtitulo "T1" FILIAL "D MG 01 " MODULO "FIN"

    destino (opcional) 
	cNumTitulo := GetSX8Num("SE1","E1_NUM")

    //Numeracao do titulo destino (opcional)

    dbSelectArea("SE1")
    dbSetOrder(2)

    If MsSeek(xFilial("SE1")+cCliente+cLoja)

        While !(SE1->(eof())) .AND. xFilial("SE1")+cCliente+cLoja == SE1->(E1_FILIAL+E1_CLIENTE+E1_LOJA)
            
            If SE1->E1_TIPO $ MVPROVIS .AND. SE1->E1_SALDO > 0 .AND. SE1->E1_MOEDA == 1

                aAdd(aTitPrv,{  {"E1_PREFIXO" , SE1->E1_PREFIXO   ,Nil},;
                    {"E1_NUM"     , SE1->E1_NUM       ,Nil},;
                    {"E1_PARCELA" , SE1->E1_PARCELA   ,Nil},;
                    {"E1_TIPO"    , SE1->E1_TIPO      ,Nil},;
                    {"E1_NATUREZ" , SE1->E1_NATUREZA  ,Nil},;
                    {"E1_CLIENTE" , SE1->E1_CLIENTE   ,Nil},;
                    {"E1_LOJA"    , SE1->E1_LOJA      ,Nil} })

                nVlrSubs += SE1->E1_SALDO // VALOR QUE SERÁ GERADO O TITULO É A SOMA DE TODOS OS TITULOS PR SELECIONADOS
            Endif
            SE1->(dbSkip())
        EndDO
        SE1->(dbSetOrder(1))
        If Len(aTitPrv) > 0
            begin transaction
                //Titulo Definitivo
                aTitDef := {{"E1_PREFIXO" , "CON"     ,Nil},;
                    {"E1_NUM"     , cNumTitulo  ,Nil},;
                    {"E1_PARCELA" , " "      ,Nil},;
                    {"E1_TIPO"    , "NF"     ,Nil},;
                    {"E1_NATUREZ" , "000001"    ,Nil},;
                    {"E1_CLIENTE" , PADR(cCliente,TamSx3("E1_CLIENTE")[1]) ,Nil},;
                    {"E1_LOJA"    , PADR(cLoja,TamSx3("E1_LOJA")[1])       ,Nil},;
                    {"E1_EMISSAO" , dDataBase,Nil},;
                    {"E1_VENCTO"  , dDataBase,Nil},;
                    {"E1_VENCREA" , dDataBase,Nil},;
                    {"E1_VALOR"   , nVlrSubs ,Nil }}

                MSExecAuto({|x,y,z| Fina040(x,y,z)},aTitDef,6,aTitPrv)

                If lMsErroAuto
                    MostraErro()
                Else 
                    conout("Titulo substituído com sucesso")  
                Endif
            End transaction
        Endif    
        
    Else 
        Conout("Titulo não encontrado")
    Endif

Return