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.
|
---|
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
|
---|