Á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] - Carácter, Prefixo (LV_PREFIXO)
PARAMIXB[1] [2] - 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  (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)


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

User FUNCTION LjRecSlv()



Local 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

IF lRet         //Retorno positivo
    MDM->(DbSetOrder(1))    //MDM_FILIAL+MDM_BXFILI+MDM_PREFIX+MDM_NUM+MDM_PARCEL+MDM_TIPO+MDM_SEQ+MDM_LOTE
    MDN->(DbSetOrder(2))    //MDN_FILIAL+MDN_LOTE                                                                                           

    For nX := 1 to Len(aDados)

        ConOut("SLV: Titulo " + aDados[nX,1]+Substr(aDados[nX,2],1,nTamLvNum)+SubStr(aDados[nX,3],1,nTamLvPar)+", Sequencia "+aDados[nX,5])
        ConOut("SLV: Data, Hora e Autorizacao TEF: "+aDados[nX,11]+" "+aDados[nX,12]+"-"+aDados[nX,14])

        //Pesquisa tabela MDM-Log de Titulos Baixados
        If MDM->(Dbseek(xFilial("MDM")+aDados[nX,6]+aDados[nX,1]+Substr(aDados[nX,2],1,nTamLvNum)+SubStr(aDados[nX,3],1,nTamLvPar)+;
                                                                                                                        aDados[nX,4]))

            While !MDM->(Eof()) .AND. ;
            aDados[nX,6]+aDados[nX,1]+Substr(aDados[nX,2],1,nTamLvNum)+SubStr(aDados[nX,3],1,nTamLvPar)+aDados[nX,4];
                                                = SLV->LV_FILORIG+SLV->LV_PREFIXO+SLV->LV_NUMERO+SLV->LV_PARCELA

                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->(DbSkip())
                    EndDo
                EndIf

                MDM->(DbSkip())
            EndDo

        EndIf

    Next
EndIf

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>