• A Confluence está sendo executada atualmente com todos os plugins que não são do sistema desabilitados. Pode haver perda de algumas funcionalidades

Árvore de páginas

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)


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

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 .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->(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];
                                                = MDM->MDM_BXFILI+MDM->MDM_PREFIX+MDM->MDM_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->(DbSkip())
                        EndDo
                    EndIf
                EndIf

                MDM->(DbSkip())
            EndDo

        EndIf

    Next
EndIf

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

RestArea(aMDMArea)
RestArea(aMDNArea)

Return nil