Ae glr blz, espero que sim!
Levei o programa pra homologar na seven pdv em SP, o programa esta criando o intpos.001 perfeito, tanto q o Visa e o Master aceita, mas o Amex nao reconhece, mas se eu fizer uma copia do intpos que meu programa gerou e o renomear, o amex aceita, se alguem souber algo por favor me ajudem, valeu
Tef - Amex
Moderador: Moderadores
-
josenilson
- Usuário Nível 1

- Mensagens: 46
- Registrado em: 14 Set 2004 10:58
Como é q vc está gerando o arquivo INTPOS.001 ??
No meu sistema, eu gero um arquivo com outro nome (exemplo: INTPOS.TMP) e só depois que ele está todo gravado no disco é que renomeio para o nome correto:
fRename("INTPOS.TMP","INTPOS.001")
Outra coisa. Pode ser que no teu arquivo exista algum caractere que o módulo do Amex não aceita, como, por exemplo, o caractere de fim de arquivo ( Chr(26) ). Se vc estiver criando o teu arquivo com a função MemoWrite, te aconselho a mudar para as funções de baixo nível (FCreate, FWrite, FOpen, etc.), pois a função MemoWrite sempre coloca no final do arquivo este caractere.
No meu sistema, eu gero um arquivo com outro nome (exemplo: INTPOS.TMP) e só depois que ele está todo gravado no disco é que renomeio para o nome correto:
fRename("INTPOS.TMP","INTPOS.001")
Outra coisa. Pode ser que no teu arquivo exista algum caractere que o módulo do Amex não aceita, como, por exemplo, o caractere de fim de arquivo ( Chr(26) ). Se vc estiver criando o teu arquivo com a função MemoWrite, te aconselho a mudar para as funções de baixo nível (FCreate, FWrite, FOpen, etc.), pois a função MemoWrite sempre coloca no final do arquivo este caractere.
Tef - Amex
ja troquei o comando Memowrite e mesmo assim nao funciona, criar primeiro com a extencao .TMP e depois renomar tb nao, agora estou usando FWRITE com chr(13) + chr(10) no fim pra passar para proxima, se tiver como vcs me passarem o jeito q fizeram isso, ficarei grato!, se no intpos.001 eu clicar em salvar ou salvar como ele passa a ser aceito pela amex, ja visa e master nao preciso, valeu
-
josenilson
- Usuário Nível 1

- Mensagens: 46
- Registrado em: 14 Set 2004 10:58
Esta é a minha função para gerar arquivo para o Gerenciador Padrão
cTefDirEnv -> é o diretório de envio dos arquivos ( c:\tef_dial\req\ )
Ela retorna .T. (verdadeiro) se o arquivo foi criado com sucesso ou .F. (falso) caso contrário.
Exemplo para gerar um INTPOS.001 para verificar se o GP está ativo.
Não entendo o pq não funcionar com o Amex, visto que não é a tua aplicação que chama o módulo do Amex e sim o Gerenciador Padrão, como acontece no caso do Visa e do RedeCard.
Seria bom verificar se os campos que vc esta usando para formar os aquivos INTPOS.001 estão realmente corretos.
Espero ter ajudado
cTefDirEnv -> é o diretório de envio dos arquivos ( c:\tef_dial\req\ )
Ela retorna .T. (verdadeiro) se o arquivo foi criado com sucesso ou .F. (falso) caso contrário.
Código: Selecionar todos
FUNCTION TefGeraArq( cTexto ) // Gera Arquivo para o GP
Local cArquivo, cArqTemp, nHandle, lOk
cArquivo := cTefDirEnv+"INTPOS.001"
cArqTemp := cTefDirEnv+"INTPOS.TMP"
FErase( cArqTemp )
nHandle := FCreate( cArqTemp )
If nHandle < 0
Return (.F.)
Endif
FWrite( nHandle , cTexto )
FClose( nHandle )
FErase( cArquivo )
lOk := ( FRename( cArqTemp , cArquivo ) == 0 )
Return ( lOk )Código: Selecionar todos
TefGeraArq( "000-000 = ATV"+CRLF+;
"001-000 = 12345"+CRLF+;
"999-999 = 0"+CRLF )
.
.
. ( Aqui vc coloca suas funcoes para tratamento do retorno...)Seria bom verificar se os campos que vc esta usando para formar os aquivos INTPOS.001 estão realmente corretos.
Espero ter ajudado