Histórico da Página
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ões | Protheus 12 |
Parâmetros | PARAMIXB[1] : PARAMIXB[1] [12] - Hora da transação TEF (LV_HORATEF) PARAMIXB[1] [14] - Código de Autorização TEF (LV_AUTORIZ) PARAMIXB[1] [15] - Instituição TEF (LV_INSTITU) PARAMIXB[1] [16] - NSU TEF (LV_NSUTEF) PARAMIXB[1] [17] - Tipo de Cartão (LV_TIPCART) PARAMIXB[1] [18] - Sequência de Operação (LV_SEQOPER) |
Retorno | Nulo |
Programa Fonte | |
Exemplo | #Include 'Protheus.ch' STRECFCXUser FunctionFUNCTION LjRecSlv() Local aPaym aSE5Dados := PARAMIXB ParamIxb[1] Local sCaixa nTamLvNum := PARAMIXB[2 TamSX3("LV_NUMERO")[1] Local sEstacao nTamLvPar := PARAMIXB[3 TamSX3("LV_PARCELA")[1] Local sPdv aMDMArea := PARAMIXB[4] MDM->(GetArea()) Local sDtAbert aMDNArea := PARAMIXB[5] MDN->(GetArea()) Local sAbHora nX := PARAMIXB[6] Local sDtFech := PARAMIXB[7] Local sFcHora := PARAMIXB[8] Local sNumMov := PARAMIXB[9] Local cTexto := "" Local nTotApu := 0 Local nTotDig := 0 Local cCRLF := Chr(13) + Chr(10) Local nX := 0 cTexto := cCRLF + cCRLF cTexto += 'caixa.....: ' + sCaixa + cCRLF cTexto += 'estação...: ' + sEstacao + cCRLF cTexto += 'pdv.......: ' + sPdv + cCRLF cTexto += 'abertura..: ' + sDtAbert + ' - ' + 'hora: ' + AllTrim(sAbHora) + cCRLF cTexto += 'fechamento: ' + sDtFech + ' - ' + 'hora: ' + AllTrim(sFcHora) + cCRLF cTexto += 'movimento.: ' + sNumMov + cCRLF cTexto += cCRLF + cCRLF cTexto += 'Forma !Descrição ! Valor Dig ! Valor Ap.' cTexto += cCRLF For nX := 1 To Len(aPaym) cTexto += aPaym[nX][1] + '!' + SubStr(aPaym[nX][2],1,22) + Space(3) + '!' + Str(Val(aPaym[nX][7]),10,2) + '!' + Str(aPaym[nX][8],10,2) + cCRLF nTotApu := nTotApu + aPaym[nX][8] nTotDig := nTotDig + Val(aPaym[nX][7]) Next nX cTexto += cCRLF + cCRLF cTexto += cCRLF + "Total Apurado :" + Str(nTotApu,10,2) cTexto += cCRLF + "Total Digitado:" + Str(nTotDig,10,2) cTexto += cCRLF + 'ass. caixa :' + Replic("_",28) cTexto += cCRLF + 'ass. superior :' + Replic("_",28) + cCRLF Return cTexto0 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(aSE5Dados) ConOut("SLV: Titulo " + aSE5Dados[nX,1]+Substr(aSE5Dados[nX,2],1,nTamLvNum)+SubStr(aSE5Dados[nX,3],1,nTamLvPar)+", Sequencia "+aSE5Dados[nX,5]) ConOut("SLV: Data, Hora e Autorizacao TEF: "+aSE5Dados[nX,11]+" "+aSE5Dados[nX,12]+"-"+aSE5Dados[nX,14]) //Pesquisa tabela MDM-Log de Titulos Baixados If MDM->(Dbseek(xFilial("MDM")+aSE5Dados[nX,6]+aSE5Dados[nX,1]+Substr(aSE5Dados[nX,2],1,nTamLvNum)+SubStr(aSE5Dados[nX,3],1,nTamLvPar)+; aSE5Dados[nX,4])) While !MDM->(Eof()) .AND. ; aSE5Dados[nX,6]+aSE5Dados[nX,1]+Substr(aSE5Dados[nX,2],1,nTamLvNum)+SubStr(aSE5Dados[nX,3],1,nTamLvPar)+aSE5Dados[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 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> |