Árvore de páginas

Versões comparadas

Chave

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

Ponto de Entrada para customização, disponível após a gravação dos registros da tabela SLV - Tabela de Transação TEF na Baixa de Títulos - na Retaguarda, na execução do job LjGrvBatch().

Os dados virão em forma de Array, agrupados por número do título (LV_PREFIXO/LV_NUMERO/LV_PARCELA/LV_TIPO), sendo que cada linha corresponde a uma transação TEF.

VersõesProtheus 12
Parâmetros

PARAMIXB[1] :
PARAMIXB[1] [1] -

 Prefixo

 Carácter, Prefixo (LV_PREFIXO)
PARAMIXB[1] [2] -

Número

Carácter, Número  (LV_NUMERO)
PARAMIXB[1] [3] - Carácter, Parcela (LV_PARCELA)
PARAMIXB[1] [4] - Carácter, Tipo (LV_TIPO)
PARAMIXB[1] [5] - Carácter, Sequência (LV_SEQ)
PARAMIXB[1] [6] - Carácter, Filial de Origem (LV_FILORIG)
PARAMIXB[1] [7] - Carácter, Código do Cliente (LV_CLIENTE)
PARAMIXB[1] [8] - Carácter, Loja do Cliente (LV_LOJA)
PARAMIXB[1] [9] - Carácter, Forma de Pagamento (LV_FORMA)
PARAMIXB[1] [10] - Numérico, Valor (LV_VALOR)
PARAMIXB[1] [11] - Carácter formato AAAAMMDD, Data da transação

TEF

TEF  (LV_DATATEF)

PARAMIXB[1] [12] - Carácter, Hora da transação TEF (LV_HORATEF)
PARAMIXB[1] [13] - Carácter, Número do Documento TEF (LV_DOCTEF)

PARAMIXB[1] [14] - Carácter, Código de Autorização TEF (LV_AUTORIZ)

PARAMIXB[1] [15] - Carácter, Instituição TEF (LV_INSTITU)

PARAMIXB[1] [16] - Carácter, NSU TEF (LV_NSUTEF)

PARAMIXB[1] [17] - Carácter, Tipo de Cartão (LV_TIPCART)

PARAMIXB[1] [18] - Carácter, Sequência de Operação (LV_SEQOPER)


A partir da versão 12.1.30:

PARAMIXB[1] [23] - Carácter, Código da Administradora ou Bandeira (LV_BANDEIR)

PARAMIXB[1] [24] - Carácter, Código da Rede Autorizada ou Adquirência (LV_REDEAUT)


PARAMIXB[2]: Lógico, indica a gravação bem-sucedida. Default .T.

PARAMIXB[3]: Lógico, após aparecer a mensagem de alerta "O estorno do recebimento será feito porque, ao menos, uma operação de estorno TEF foi realizada." # "Utilize a rotina de Cancelamento Manual TEF para as demais transações." Default .F.


RetornoNulo
Programa FonteLOJXREC.PRW
Exemplo
#Include 'Protheus.ch'

User FUNCTION LjRecSlv()



Local

 aSE5Dados 

 aDados    := ParamIxb[1]      //Todos os dados do registro SLV. Maiores infos, https://tdn.totvs.com/pages/viewpage.action?pageId=552089217
Local lRet      := ParamIxb[2]      //Retorno, se .T. ou .F. Default: .T.
Local lAlerta   := ParamIxb[3]      //Recebeu MSG de Alerta "O estorno do recebimento será feito porque, ao menos, uma operação de estorno TEF foi realizada."#"Utilize a rotina de Cancelamento Manual TEF para as demais transações." Default: .F.
Local nTamLvNum := TamSX3("LV_NUMERO")[1]
Local nTamLvPar := TamSX3("LV_PARCELA")[1]
Local aMDMArea  := MDM->(GetArea())
Local aMDNArea  := MDN->(GetArea())
Local nX := 0

MDM


IF lRet .AND. ValType(aDados) <> "U"        //Retorno positivo
    MDM->(DbSetOrder(1))    //MDM_FILIAL+MDM_BXFILI+MDM_PREFIX+MDM_NUM+MDM_PARCEL+MDM_TIPO+MDM_SEQ+MDM_LOTE

MDN

    MDN->(DbSetOrder(2))    //MDN_FILIAL+MDN_LOTE                                                                                           

    For nX := 1 to Len(

aSE5Dados

aDados)

    


        ConOut("SLV: Titulo " +

 aSE5Dados

 aDados[nX,1]+Substr(

aSE5Dados

aDados[nX,2],1,nTamLvNum)+SubStr(

aSE5Dados

aDados[nX,3],1,nTamLvPar)+", Sequencia "+

aSE5Dados

aDados[nX,5])

    

        ConOut("SLV: Data, Hora e Autorizacao TEF: "+

aSE5Dados

aDados[nX,11]+" "+

aSE5Dados

aDados[nX,12]+"-"+

aSE5Dados

aDados[nX,14])

    


        //Pesquisa tabela MDM-Log de Titulos Baixados

    

        If MDM->(Dbseek(xFilial("MDM")+

aSE5Dados

aDados[nX,6]+

aSE5Dados

aDados[nX,1]+Substr(

aSE5Dados

aDados[nX,2],1,nTamLvNum)+SubStr(

aSE5Dados

aDados[nX,3],1,nTamLvPar)+;

       aSE5Dados

                                                                                                                        aDados[nX,4]))

        


            While !MDM->(Eof()) .AND. ;

        aSE5Dados

            aDados[nX,6]+

aSE5Dados

aDados[nX,1]+Substr(

aSE5Dados

aDados[nX,2],1,nTamLvNum)+SubStr(

aSE5Dados

aDados[nX,3],1,nTamLvPar)+

aSE5Dados

aDados[nX,4]

 

;
                                                =

 SLV

 MDM-

>LV

>MDM_

FILORIG

BXFILI+

SLV

MDM-

>LV

>MDM_

PREFIXO

PREFIX+

SLV

MDM-

>LV

>MDM_

NUMERO+SLV->LV_PARCELA
            

NUM+MDM->MDM_PARCEL

                If MDM->MDM_ESTORN <> "1"       //Se não foi estornado
                    ConOut("MDM: Lote do titulo "+MDM->MDM_PREFIX+MDM->MDM_NUM+MDM->MDM_PARCEL+ ": " + MDM->MDM_LOTE)

            


                    //Pesquisa tabela MDN-Log de Titulos Gerados

            

                    If MDN->(Dbseek(xFilial("MDN")+MDM->MDM_LOTE))

                

                        While !MDN->(EOF()) .AND. MDM->MDM_LOTE = MDN->MDN_LOTE

                    


                            ConOut("MDN: Numero de sequencia do lote "+ MDN->MDN_LOTE+ ": " + MDN->MDN_NUM)

                    MDN

                            MDN->(DbSkip())

                

                        EndDo
                    EndIf

            

                EndIf

            MDM


                MDM->(DbSkip())
            EndDo

        

EndDo

EndIf

    Next
EndIf


Next



IF lAlerta
    ConOut("Exemplo: Alerta de Estorno citado anteriormente!")
EndIf

RestArea(aMDMArea)
RestArea(aMDNArea)

Return nil






HTML
<!-- esconder o menu --> 


<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}
</style>