O Componente GNRE da Tecnospeed é uma biblioteca contendo todos os métodos necessários para emitir a Guia Nacional de Recolhimento de Tributos Estaduais. É a escolha ideal para quem pode consumir OCX e prefere manter todo o processo de mensageiria da GNRE dentro do próprio ambiente. Para utilizar o Componente em seu software, basta instanciá-lo em seu projeto, implementar chamadas para cada um dos métodos e configurá-los de acordo com sua necessidade.
- Instalar Componente
- Instanciar Componente GNRe - Delphi, C# e VB6
- Configurando as propriedades
- Entendendo o fluxo de emissão
- Gerando o TX2 complementar da GNRE
- Autorizando uma GNRE
- Imprimindo uma GNRE
Instalar Componente
Após aprovação do pedido de adesão, em até 24 horas úteis, nossa equipe financeira irá realizar o faturamento e disponibilizar o Componente GNRE para download na Central do Cliente. Você pode acessar a Central do Cliente com os dados de acesso que você preencheu no formulário de registro.
Com o Componente já disponível, na aba lateral Download, clique no botão Baixar. Caso o download não inicie, desabilite o bloqueador de pop-ups do seu navegador.
Existem dois instaladores disponíveis para download na Central do Cliente: O Setup GNRE Full e o Setup GNRE Dependencies. O primeiro deve ser instalado no ambiente de desenvolvimento e o segundo no ambiente onde o sistema for ser executado.
No ambiente de desenvolvimento
No ambiente de desenvolvimento, nós devemos instalar a versão Full, pois ela é a biblioteca completa, com todos os métodos e arquivos que o componente possui. Para instalá-la, basta executar o instalador e seguir as instruções na tela.
No ambiente do cliente
No ambiente onde o sistema for ser executado, devemos instalar a versão Dependencies, que é a versão Full reduzida, com apenas as DLLs necessárias para o componente funcionar. Para instalá-la, existem algumas opções: é possível simplesmente executar o instalador, como na versão Full, executar o instalador em modo silencioso, ou incluir as DLLs no seu próprio instalador.
Além das DLLs, é necessário que o componente tenha acesso às pastas de Esquemas e Templates e aos arquivos com o endereço dos servidores. Estas pastas e arquivos são criados no diretório de instalação da versão Full (..TecnoSpeed/Gnre/Arquivos). É necessário colocá-los no ambiente do cliente e configurar o diretório delas nas propriedades DiretorioEsquemas, DiretorioTemplates, ArquivoServidoresHom, ArquivoServidoresProd, ArquivoCodigosProd e ArquivoCodigosHom.
Executando o instalador
Esta é a forma padrão de instalação. Basta executar o instalador e seguir as instruções na tela.
Para evitar que o usuário precise realizar alguma interação, é possível incorporar um comando na sua aplicação ou instalador. Existem dois comandos disponíveis: Silent e VerySilent. O comando Silent irá exibir a interface de instalação, mas não permitirá que o usuário interaja com o instalador. Por outro lado, o comando VerySilent não exibirá nenhuma interface ao usuário, a instalação será executada em segundo plano.
prompt> instalador.exe /silent
prompt> Instalador.exe /verysilent
Incluindo os arquivos no próprio instalador
O instalador das dependências apenas adiciona as DLLs onde ele é instalado. Caso não desejar utilizar o instalador no cliente, é possível incorporar as DLLs ao instalador do seu próprio sistema. Basta copiar ou registrar na pasta System32, caso o sistema seja 64 bits, e na pasta SysWOW64 para a versão de 32 bits do Windows.
DLLs que devem ser registradas:
- GnreX.dll
- msxml6.dll
- midas.dll
- stdvcl40.dll
DLLs que devem ser apenas copiadas:
- ssleay32.dll
- libeay32.dll
- msxml6r.dll
Instalação Manual
A instalação manual trata-se do usuário instalar o componente GNRe através de seu arquivo binário na extensão .dpk (Delphi Package). Caso opte em instalar o componente manualmente siga as instruções abaixo:
- Atenção! É necessário que seja instalado a versão Dependencies no ambiente de Desenvolvimento e do cliente;
- Deverá ter em mãos o dpk do componente GNRe na versão de Delphi desejada e abri-lo.
- Incluir no search path do projeto o caminho das BPL´s e DCP´s da GOV, exemplo:
- Após inserir os search path, deve-se compilar o projeto e o mesmo não poderá ter nenhum erro.
- Ao compilar o projeto anteriormente, será criado um arquivo BPL e DCP do componente no diretório específico do Delphi, segue exemplos de diretórios:
- C:\Users\Public\Documents\Embarcadero\Studio\17.0\Bpl;
- C:\Users\Public\Documents\Embarcadero\Studio\17.0\Dcp;
- Obs. Esse diretório é somente um exemplo, cada versão do Delphi tem seu respectivo diretório. Exemplo:
- Delphi Seattle - C:\Users\Public\Documents\Embarcadero\Studio\17.0;
- Delphi XE6 - C:\Users\Public\Documents\Embarcadero\Studio\14.0;
- Delphi XE3 - C:\Users\Public\Documents\RAD Studio\10.0;
- Delphi XE - C:\Users\Public\Documents\RAD Studio\8.0;
- Será necessário copiar as BPL´s e DCP´s da GOV que são as mesmas colocadas no search path do projeto anteriormente, para o diretório específico do Delphi conforme citado alguns exemplos acima, onde são criados os arquivos BPL e DCP do componente, exemplo:
- Após realizar esses passos, poderá finalmente instalar o seu componente GNRe, conforme a imagem abaixo:
Instanciar o Componente
Após a instalação do componente, é necessário instanciar a classe no projeto para fazer as modificações necessárias em suas propriedades e também utilizar os seus métodos.
Aqui iremos te mostrar passo a passo como instanciar a classe em três das linguagens, Delphi, C# e VB6.
Delphi
No Delphi há duas formas de instanciar o componente. Você pode arrastar os ícones do componente na barra de ferramentas para dentro do seu unit ou fazê-lo de forma manual, adicionando no uses do projeto:
uses
spdGnre, spdGnreType
Em seguida é necessário criar as variáveis das classes, como no exemplo a baixo.
type
TForm1 = class(TForm)
public
spdGnre: TspdGnre;
Independente da forma com que você trouxe as classes ao projeto, agora você deve criar o objeto e direcioná-lo a uma variável:
spdGnre := TspdGnre.Create(nil);
VB6
Primeiramente, declare o objeto pertencente à classe que faz interação com os servidores da Sefaz
Dim GNRE As GnreX.spdGnreX
Após isso, já na inicialização do Fom, instancie o objeto dentro de uma nova variável.
Set GNRE = New GnreX.spdGnreX
C#
No início do seu projeto, junto com as bibliotecas importadas, adicione as OCX da Tecnospeed
using GnreX;
Após isso, instancie o objeto dentro de uma nova variável
public GnreX.spdGnreX _spdGNReX = new GnreX.spdGnreX();
Configurar Propriedades
Antes de utilizar os métodos e funções do componente, é necessário configurar as suas propriedades. Elas podem ser configuradas utilizando um arquivo de configuração (.ini) ou através do código fonte.
Cada propriedade indica uma configuração. Por exemplo, a propriedade "Ambiente" determina para qual servidor o Componente irá enviar a nota (o de homologação ou de produção). Estas configurações estão divididas em três tipos: as propriedades gerais do componente e as propriedades de e-mail.
Código Fonte
É possível preencher as propriedades através do código fonte do sistema. Basta informar os valores desejados para cada uma delas. Você encontra uma lista completa de funções e exemplos de preenchimento das propriedades na seção Propriedades do componente.
//[GNRE]
spdGnre.Repositorio := 'CURRENT_USER_STORE';
spdGnre.DiretorioTemplates := 'C:\Program Files\TecnoSpeed\Gnre\arquivos\Templates\';
spdGnre.DiretorioEsquemas := 'C:\Arquivos de programas\TecnoSpeed\Gnre\Arquivos\Esquemas\';
spdGnre.DiretorioLog := 'Log\';
spdGnre.DiretorioLogErro := 'DiretorioLogErro\';
spdGnre.DiretorioXmlGnre := 'DiretorioXmlGnre\';
spdGnre.ArquivoServidoresHom := 'C:\Arquivos de programas\TecnoSpeed\Gnre\Arquivos\gnreServidoresHom.ini';
spdGnre.ArquivoServidoresProd := 'C:\Arquivos de programas\TecnoSpeed\Gnre\Arquivos\gnreServidoresProd.ini';
spdGnre.NomeCertificado := 'CN := TECNOSPEED SA:08187168000160, OU := Certificado PJ A1, O := ICP-Brasil, C := BR, S := , L := , E := , SE := 6D 8C 19 04 25 53 86 82';
spdGnre.PinCode := '';
spdGnre.TimeOut := 30000;
spdGnre.Ambiente := akProducao;
spdGnre.CaminhoCertificado := '';
spdGnre.SenhaCertificado := '';
spdGnre.VersaoManual := vm100;
//[MAIL]
spdGnre.EmailSettings.ServidorSmtp := 'smtp.google.com';
spdGnre.EmailSettings.EmailRemetente := 'emailTesteGnre@tecnospeed.com.br';
spdGnre.EmailSettings.Assunto := 'Teste de envio de email';
spdGnre.EmailSettings.Mensagem := 'Teste de envio de email';
spdGnre.EmailSettings.Usuario := 'emailTesteGnre@tecnospeed.com.br';
spdGnre.EmailSettings.Senha := '12345';
spdGnre.EmailSettings.TimeOut := '30000';
spdGnre.EmailSettings.EmailDestinatario := 'emailTesteGnre@tecnospeed.com.br';
spdGnre.EmailSettings.CCo := 'emailTesteGnre@tecnospeed.com.br';
spdGnre.EmailSettings.CC := 'emailTesteGnre@tecnospeed.com.br';
spdGnre.EmailSettings.Autenticacao := true;
spdGnre.EmailSettings.Porta := 587;
spdGnre.EmailSettings.ConteudoHtml := true;
Arquivo de configuração
Também é possível preencher as propriedades através de um arquivo de configuração (gnreConfig.ini). Basta informar os valores desejados para cada uma delas e passar o diretório deste arquivo como parâmetro no método LoadConfig. Você encontra uma lista completa de funções e exemplos de preenchimento das propriedades na seção Propriedades do componente.
[GNRE]
Repositorio=CURRENT_USER_STORE
DiretorioTemplates=C:\Program Files\TecnoSpeed\Gnre\arquivos\Templates\
DiretorioEsquemas=C:\Arquivos de programas\TecnoSpeed\Gnre\Arquivos\Esquemas\
DiretorioLog=Log\
DiretorioLogErro=DiretorioLogErro\
DiretorioXmlGnre=DiretorioXmlGnre\
ArquivoServidoresHom=C:\Arquivos de programas\TecnoSpeed\Gnre\Arquivos\gnreServidoresHom.ini
ArquivoServidoresProd=C:\Arquivos de programas\TecnoSpeed\Gnre\Arquivos\gnreServidoresProd.ini
NomeCertificado=CN=TECNOSPEED SA:08187168000160, OU=Certificado PJ A1, O=ICP-Brasil, C=BR, S=, L=, E=, SE=6D 8C 19 04 25 53 86 82
PinCode=
TimeOut=0
Ambiente=1
CaminhoCertificado=
SenhaCertificado=
VersaoManual=vm100
[MAIL]
ServidorSmtp=
EmailRemetente=
Assunto=
Mensagem=
Usuario=
Senha=
TimeOut=0
EmailDestinatario=
CCo=
CC=
Autenticacao=0
Porta=0
ConteudoHtml=0
Fluxo ideal da emissão da GNRe
Para gerar uma GNRE, é necessário ter o XML Destinatário de uma NF-e ou de um CT-e contendo valores refente a uma ou mais das seguintes receitas: Partilha de ICMS, ST, FCP ou Transporte.
Em alguns casos é necessário também gerar e enviar junto um arquivo TX2 Complementar, que serve para informar dados complementares que são exigidos por alguns estados, e também para informar manualmente dados que normalmente são obtidos do XML da NF-e ou gerados automaticamente. No próximo passo será mostrado mais detalhes de como gerar esse arquivo.
Após ser feito o envio, você deve fazer a consulta por recibo, e, caso seja autorizado, basta fazer a impressão da guia.
Comentários
0 comentário
Por favor, entre para comentar.