Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 3055 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Moderadores
Postado

Pessoal,

Já estamos trabalhando num novo componente para compatibilizar o ACBr com o SAT Fiscal, fiz um post no meu blog explicando a idéia de como o componente irá funcionar - http://anfm.blogspot.com.br/2013/02/acbrsat-primeiros-passos-do-sat-cfe-com.html

  • Curtir 5
djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.xpos.com.br
Postado

Muito bom, começei a trabalhar com a DLL do SAT a pouco e tive alguns problemas.. nos primeiros testes que eu fiz, só consegui ter o retorno da DLL de forma legível quando delimitava o tamanho da variável STRING que recebia o retorno da DLL, algo do tipo Var strRetorno[200].

 

De que forma vcs estão tratando o retorno? Outra coisa, dando uma forçada na DLL eu observei que a calling convention da DLL é C, precisa do sinal "cdecl" ou vcs estão usando "stdcall"?

Postado

Boa tarde, Andre

Primeiro quero lhe parabenizar pela iniciativa!

 

estou testando as funções...porem estou com problema no código de ativação...seria possível postar um exemplo?

 

como estou tratando: retorno  := ConsultarStatusOperacional(fNumero, pchar(ativacao)); // onde ativação é "123456".

Postado

Bom dia,

obrigado pela atenção.

Sim já inicializei o SAT...erro obtido:Codigo de ativação invalido

ao tentar enviar uma venda no seguinte formato: retorno  := EnviarDadosVenda(fNumero, ativacao , dados); // onde fNumero=numero randomico, ativacao='123456' e dados=xml a ser enviado!

  • Moderadores
Postado

Não sei o que pode estar de errado na sua aplicação, estou fazendo da seguinte forma:

var
  sessao : string;
  nSessao : Longint;
  codigoDeAtivacao: PChar;
begin
 sessao := RandomSessao;

 if not(InputQuery('SAT', 'Número da Sessão', sessao)) then
    exit;

 nSessao := StrToInt(sessao);
 codigoDeAtivacao := PChar(edtCodigoAtivacao.Text);
 mmResposta.Text := ConsultarStatusOperacional(nSessao,codigoDeAtivacao);
end;
djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.xpos.com.br
Postado

Comigo está ocorrendo o seguinte, com o código:

 

memo1.Text  := ConsultarSAT(GeraSessao);

 

O TMemo fica com a seguinte respota: "ㄱ㜷〴ぼ〸〰卼呁䌭敆攠灯牥捡潡簮|몭몭몭몭몭몭몭몭몭몭몭몭꯮ꮫꮫꮫﺫﻮ"

 

Mas com o código:

 

Var
  Resposta: String[200];
begin
  resposta := ConsultarSAT(GeraSessao);
  memo1.Text := resposta;
end; 

 

Consigo então ver normalmente a resposta: "76516|08000|SAT-CFe em operacao.||"

 

Neste teste usei as declarações que você postou, mas com as que eu mesmo escrevi anteriormente (basicamente a mesma coisa, só fiz carregamento dinâmico) deu o mesmo resultado.

 

Usando Delphi 2010 no Windows 7

 

Obs: GeraSessao é apenas uma função do tipo LongInt que gera o numero de sessão com sempre 6 dígitos (sei lá dessa DLL maluca):

 

Begin
  Randomize;
  result := RandomRange(100000, 999999);
end;
Postado

pAnsiChar() é uma solução, mas ao invés de converter a resposta, mudei a declaração de pChar pra pAnsiChar.

 

Declaração: 

 

function ConsultarSAT( numeroSessao : Longint ) : pAnsiChar ; cdecl; External 'SAT.DLL';

Uso:

 

memo1.Text := ConsultarSAT(GeraSessao);

Dessa forma funcionou normalmente.

 

A documentação da DLL é um tanto pobre. André, algum motivo em especial para você ter declarado a função como pChar?

  • Moderadores
Postado

A documentação da DLL é um tanto pobre. André, algum motivo em especial para você ter declarado a função como pChar?

Foi o jeito que consegui fazer funcionar no Delphi 7, como a documentação é pobre, fui na base de tentativa e erro.
djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.xpos.com.br
Postado

Então provavelmente é o velho problema de como delphi mais antigo e delphi Unicode tratam chars, pchars e strings.. pra que o componente final seja universal, e ter compatibilidade com delphi anterior ou posterior ao 2009, a declaração vai ter de ser tratada com sinais diretiva pro compilador.

Postado

Pergunta:

 

Será que com o SAT/CF-e ainda continuará toda essa burrocracia de trocentas homologações, cartas de fianças, declarações, avalistas, enfim, uma parafernalha danada só pra não deixar "o lojinha de Salim" cabritar impostos????

Postado
HOMOLOGAÇÃO DO APLICATIVO COMERICIAL (AC)
P: O AC para o SAT precisa ser homologado? Existe algum roteiro ou órgão técnico credenciado? 
 
Diferentemente do PAF-ECF, não será necessário homologar o Aplicativo Comercial (AC) para o SAT. 
Haverá obrigações apenas quanto ao cadastramento da empresa desenvolvedora e dos AC junto ao 
fisco, porém não se tratará de homologação dos programas. Aguarde a publicação de legislação 
específica.
 
 
O PAF-ECF E O SAT
P: O PAF-ECF poderá ser utilizado com o SAT?
 
O equipamento SAT efetuará a geração do Cupom Fiscal Eletrônico-SAT, documento eletrônico que 
substitui o atual Cupom Fiscal, emitido pelo equipamento ECF.
Pela natureza do novo documento eletrônico e do equipamento SAT, não é possível que este trabalhe 
com o PAF-ECF, cujo objetivo é interagir com o ECF
Ressaltamos que o Estado de São Paulo nunca exigiu o uso do PAF-ECF junto com o ECF.
 
 
Para maiores informações, consulte sempre documentação oficial.
 
Dúvidas de desenvolvedores respondidas:
 
Dúvidas de contribuítes (quem vai usar o SAT) respondidas:
  • Curtir 1
  • 3 semanas depois ...
Postado

Pessoal bom dia,

 

Acredito que já é de conhecimento de todos que haverá o SAT-ISS, aparelho específico para emissão de NFS-e no município de São Paulo.

Minha dúvida é a seguinte: seja o SAT-CFe ou mesmo os atuais ECFs, estes possuem aliquota para registro de serviços. Qual a diferente e a questão de obrigatoriedade entre o uso de ISS no ECF ou no SAT-CFe versus a nota de serviço NFS-e ou o SAT-ISS?

  • Este tópico foi criado há 3055 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.