TEF em lote
No SiTef por Lote o SigaLoja gera um arquivo contendo várias transações que são transmitidas para um servidor do SiTef e recebe um arquivo com todas as respostas.
Para utilizar essa opção você tem de utilizar o LOJA017T para o envio de arquivos e o LOJA018T para a recepção de arquivos.
LOJA017T
Existe um ponto de entrada neste programa chamado LOTETEF onde o analista em campo customizará o envio das informações utilizando as seguintes funções:
aRet := LJ017Header (nRegistros)
Essa função monta o cabeçalho do arquivo a ser transmitido, é necessário informar a quantidade de registros a ser transmitida.
Ela retorna uma matriz contendo duas informações:
aRet[1] := nHandle
aRet[2] := LblArquivo
Onde nHandle é o Handle do arquivo criado e LblArquivo é o nome.ext do arquivo criado (a extensão é sempre .TEF). Caso o valor de nHandle seja negativo ocorreu um erro na criação do arquivo.
cMsg := LJ017Detalhe(nHandle, aDetalhe)
Essa função monta uma linha no arquivo a ser transmitido. Onde nHandle é o valor retornado pela função LJ017Header e aDetalhe é uma matriz contendo as informações a serem transmitidas, aDetalhe deve ser montada com a seguinte estrutura:
aDetalhe[1] := Número de Parcelas
aDetalhe[2] := Juros da Administradora ? S ou N
aDetalhe[3] := Número do Cartão
aDetalhe[4] := Validade do Cartão
aDetalhe[5] := Valor da Compra
aDetalhe[6] := Taxa de Serviço (opcional)
aDetalhe[7] := Código de Autorização (opcional)
aDetalhe[8] := Campo Livre, máximo de 40 caracteres (esse campo volta no arquivo de retorno, é importante preenchê-lo com as informações necessárias para identificar a que transação de venda ele pertence, como NF, Série, Data, etc...
cMsg é a Mensagem de erro que ocorreu na geração dessa linha, caso cMsg esteja em branco significa que a linha foi gerada sem problemas.
LJ017Trailer(nHandle,LblArquivo)
Essa função finaliza o arquivo a ser transmitido. Onde nHandle é o valor retornado pela função LJ017Header e LblArquivo é o nome.ext do arquivo retornado pela função LJ017Header.
Essa função não retorna nada.
LOJA018T
Existe um ponto de entrada neste programa chamado RECEBTEF onde o analista em campo customizará o recebimento das informações utilizando as seguintes funções:
nHandle := LJ018Header(cFileName)
Essa função abre o arquivo de recebimento (informado em cFileName) e retorna o nHandle do arquivo aberto, caso nHandle seja negativo houve erro na abertura do arquivo.
aDetalhe := LJ018Detalhe(nHandle)
Essa função lê uma linha do arquivo de recebimento. Onde nHandle é o valor informado pela função LJ018Header e aDetalhe é uma matriz que contém os dados recebidos na seguinte estrutura:
aDetalhe[1] := Estado da Operação (C 2)
00 -> Registro não processado
01 -> Registro em processamento
99 -> Registro já processado
aDetalhe[2] := Código de Retorno (C 2) (válido somente quando Estado da Operação = 99
00 -> Transação Aprovada
Qualquer outro valor indica erro.
aDetalhe[3] := Data da efetivação da Compra (D)
aDetalhe[4] := Hora da efetivação da Compra (C 8)
aDetalhe[5] := Número do comprovante de Compra (C 9)
aDetalhe[6] := Código do Estabelecimento (C 15)
aDetalhe[7] := Número da Autorização (C 6)
aDetalhe[8] := Número de Controle do SiTef (C 6)
aDetalhe[9] := Nome da Rede (ou descrição do erro para Estado da operação igual a 00 ou Código de Retorno diferente de 00)
aDetalhe[10] := Campo Livre (C 40) O mesmo informado no envio.
Caso aDetalhe retorno em branco (len(aDetalhe) = 0) então todo o arquivo de retorno já foi lido.
LJ018Trailer(nHandle)
Essa função fecha o arquivo de recebimento. Onde nHandle é o valor informado pela função LJ018Header.
Essa função não retorna nada.
Este tipo de SiTef funciona nas versões 5.07 e 5.08 do SigaLoja.