Voltar para o topo
Caso não consiga ver as imagens deste e-mail, acesse este link.
Escovando Bits

Entendendo S@T x DarumaFramework

S@T Parte 3/4


Preocupados com a comunidade de desenvolvedores Daruma, estamos com uma solução para o S@T que vou explicar em três etapas. Vou preparar três documentos explicando o mais detalhado possível como:

Pessoal, é importante lembrar que o emulador não foi feito pela Daruma, ele é responsabilidade da SEFAZ e até o momento está compatível apenas com Windows, até a data de Hoje 26/03/2013 este é o comportamento do Emulador e ele pode mudar conforme suas atualizações de especificação e melhorias na especificação. Nada garante que o hardware final homologado pela Daruma obedecerá a verão atual do emulador, pois pode haver mudanças na especificação do S@T e isso afeta tanto o emulador como o hardware S@T, físico.

Abaixo estão os métodos “extras” da DarumaFramework. Veja o que cada um deles pode fazer:

Explicação dos comandos S@T na DarumaFramework

Cancelamento do CF-e S@T – tCFeCancelar_SAT_Daruma(void)

  • A letra “t” no início do método significa que será enviado algo. Sendo assim, concluímos que será enviada uma solicitação de cancelamento do CF-e nesta etapa;
  • Método responsável por fazer o cancelamento do CF-e;
  • Além de fazer o cancelamento do CF-e, este método imprime o cancelamento em questão na DR700;
  • Se o cupom estiver aberto, as informações salvas no arquivo temporário serão apagadas;
  • Se o cupom já foi enviado, a DarumaFramework irá fazer uma solicitação para o S@T cancelá-lo;
  • Apenas o ultimo cupom ou o cupom corrente poderão ser cancelados;
  • Este método não possui parâmetros;
  • Possíveis retornos do método:
    • 1 – Comando executado com sucesso
    • 6 – TimeOut, erro de comunicação com o SAT
    • 12 - SAT retornou erro, chame o método rUltimoErro_SAT_Daruma para verificar o erro
    • 140 – biblioteca auxiliar SAT.dll não foi encontrada/carregada
    • 7001 – Código de ativação inválido
    • 7002 – Cupom inválido
    • 7003 – SAT bloqueado pelo contribuinte
    • 7004 – SAT bloqueado pela SEFAZ
    • 7005 – SAT bloqueado por falta de comunicação
    • 7006 – SAT bloqueado, código de ativação incorreto
    • 7007 – Erro de validação do conteúdo
    • 7098 – SAT em processamento, tente novamente
    • 7099 – Erro desconhecido no cancelamento

Assinatura CF-e S@T – tCFeAssociarAssinatura_SAT_Daruma(char *pszTagsAssinatura)

  • A letra “t” no início do método significa que será enviado algo. Sendo assim, será enviado para o S@T uma associação de assinatura;
  • O parâmetro pszTagsParamEncerramento é de preenchimento obrigatório;
  • O método possui apenas um parâmetro, que é do tipo char. O S@T usa o conceito de tag’s, então dentro da variável do tipo char deve conter as tag’s com as informações a serem passadas;
  • Caso seja informada alguma tag como parâmetro, a mesma deve ser fechada;
  • Possíveis retornos do método:
    • 1 – Comando executado com sucesso
    • 120 – Encontrada tag inválida
    • 121 – Estrutura Invalida
    • 122 – Tag obrigatória não foi informada
    • 123 – Tag obrigatória não tem valor preenchido
    • 6 – TimeOut, erro de comunicação com o SAT
    • 12 - SAT retornou erro, chame o método rUltimoErro_SAT_Daruma para verificar o erro
    • 140 – biblioteca auxiliar SAT.dll não foi encontrada/carregada
    • 13001 – Código de ativação inválido
    • 13002 – Erro de comunicação com a SEFAZ
    • 13003 – Assinatura fora do padrão informado
    • 13098 – SAT em processamento. Tente novamente
    • 13099 – Erro desconhecido

Verificar comunicação com S@T – rVerificarComunicacao_SAT_Daruma(void)

  • A letra “r” no início do método significa que alguma informação será retornada, neste caso, um número será retornado indicando se teve comunicação ou não;
  • Método responsável por verificar a comunicação com o S@T;
  • Este método não possui parâmetros;
  • Possíveis retornos do método:
    • 1 – Comando executado com sucesso
    • 6 – TimeOut, erro de comunicação com o SAT
    • 12 - SAT retornou erro, chame o método rUltimoErro_SAT_Daruma para verificar o erro
    • 140 – biblioteca auxiliar SAT.dll não foi encontrada/carregada
    • 8098 – SAT em processamento. Tente novamente
    • 8099 – Erro desconhecido

Consulta Status S@T – rConsultaStatus_SAT_Daruma(char *pszStatusSAT)

  • A letra “r” no início do método significa que alguma informação será retornada, neste caso, um número será retornado indicando o status do S@T;
  • O parâmetro pszStatusSAT não é de preenchimento obrigatório, pois irá retornar informação;
  • O método possui apenas um parâmetro, que é do tipo char reference. Deverá então, ser passada uma variável por referência para receber esta informação;
  • A informação retornada poderá conter a data da ultima transmissão com a SEFAZ, ultimo cupom emitido e ultimo cupom recebido;
  • Possíveis retornos do método:
    • 1 – Comando executado com sucesso
    • 6 – TimeOut, erro de comunicação com o SAT
    • 12 - SAT retornou erro, chame o método rUltimoErro_SAT_Daruma para verificar o erro
    • 140 – biblioteca auxiliar SAT.dll não foi encontrada/carregada
    • 10001 – Código de ativação inválido
    • 10098 – SAT em processamento. Tente novamente
    • 10099 – Erro desconhecido

Escovando o Cancelamento

Delphi

//Declarações
function
tCFeCancelar_SAT_Daruma():Integer; StdCall; External 'DarumaFramework.dll';

//Chamada de Métodos
iRetorno := tCFeCancelar_SAT_Daruma();

C#

//Declarações
[DllImport("DarumaFrameWork.dll")]
public static extern int tCFeCancelar_SAT_Daruma();

//Chamada de Métodos
iRetorno = tCFeCancelar_SAT_Daruma();

Visual Basic 6

' Declarações Fiscais
Public Declare Function tCFeCancelar_SAT_Daruma Lib "DarumaFrameWork.dll" () As Integer

' Chamada de Métodos
iRetorno = tCFeCancelar_SAT_Daruma()

Escovando a Assinatura

Delphi

//Declarações
Function
tCFeAssociarAssinatura_SAT_Daruma(pszTagsAssinatura:string):Integer; StdCall; External 'DarumaFramework.dll';

//Chamada de Métodos
iRetorno := tCFeAssociarAssinatura_SAT_Daruma _SAT_Daruma('<CNPJs> 1111111111111122222222222222 </CNPJs><assinaturaCNPJs>NKajJnOIiuwZx</assinaturaCNPJs>');

C#

//Declarações
[DllImport("DarumaFrameWork.dll")]
public static extern int tCFeAssociarAssinatura_SAT_Daruma(string pszTagsAssinatura);

//Chamada de Métodos
iRetorno = tCFeAssociarAssinatura_SAT_Daruma _SAT_Daruma("<CNPJs> 1111111111111122222222222222 </CNPJs><assinaturaCNPJs>NKajJnOIiuwZx</assinaturaCNPJs>");

Visual Basic 6

' Declarações Fiscais
Public Declare Function tCFeAssociarAssinatura_SAT_Daruma Lib "DarumaFrameWork.dll" (ByVal pszTagsAssinatura As String) As Integer

' Chamada de Métodos
iRetorno = tCFeAssociarAssinatura_SAT_Daruma _SAT_Daruma(“1111111111111122222222222222 NKajJnOIiuwZx”)

Escovando a Verificação da Comunicação

Delphi

//Declarações
function
rVerificarComunicacao():Integer; StdCall; External 'DarumaFramework.dll';

//Chamada de Métodos
iRetorno := rVerificarComunicacao_SAT_Daruma();

C#

//Declarações
[DllImport("DarumaFrameWork.dll")]
public static extern int rVerificarComunicacao_SAT_Daruma();

//Chamada de Métodos
iRetorno = rVerificarComunicacao_SAT_Daruma();

Visual Basic 6

' Declarações Fiscais
Public Declare Function rVerificarComunicacao_SAT_Daruma Lib "DarumaFrameWork.dll" () As Integer

' Chamada de Métodos
iRetorno = rVerificarComunicacao_SAT_Daruma()

Escovando a Consulta de Status

Delphi

//Declarações
function rConsultaStatus_SAT_Daruma(pszStatusSAT:string):Integer; StdCall; External 'DarumaFramework.dll';

//Chamada de Métodos
iRetorno := rConsultaStatus_SAT_Daruma _SAT_Daruma(pszStatusSAT);

C#

//Declarações
[DllImport("DarumaFrameWork.dll")]
public static extern int rConsultaStatus_SAT_Daruma(StringBuilder pszStatusSAT);

//Chamada de Métodos
iRetorno = rConsultaStatus_SAT_Daruma _SAT_Daruma(pszStatusSAT);

Visual Basic 6

' Declarações Fiscais
Public Declare Function rConsultaStatus_SAT_Daruma Lib "DarumaFrameWork.dll" (ByRef pszStatusSAT As String) As Integer

' Chamada de Métodos
iRetorno = rConsultaStatus_SAT_Daruma _SAT_Daruma(pszStatusSAT)

Se tiver alguma dúvida e/ou dificuldade, entre em contato com a nossa equipe de suporte ao desenvolvedor.

Suporte ao desenvolvedor: 0800 770 3320
E-mail Skype
desenvolvedores.suporte@daruma.com.br
suporte.desenvolvedores@daruma.com.br
desenvolvedores.daruma@daruma.com.br
suporte@daruma.com.br
suporte.ddc@daruma.com.br
ddc.suporte@daruma.com.br
ana.ribeiro@daruma.com.br
claudenir@daruma.com.br
desenvolvedores_suporte_daruma
suporte_desenvolvedores_daruma
suporte_ddc_daruma
ddc_suporte_daruma
desenvolvedores_daruma
suporte_daruma
anaribeiro.ddc
claudenir_andrade
Acompanhe nossa comunidade e fique por dentro de novidades
DDC Facebook Twitter Google+ Linkedin YouTube Skype Social Network
www.desenvolvedoresdaruma.com.br