Ir para conteúdo
  • Cadastre-se

dev botao

Acbrgnre - Problemas Com O Exemplo


Ver Solução Respondido por Juliomar Marchetti,
  • Este tópico foi criado há 3164 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Pessoal, 

 

Boa noite. Tem alguem utilizando o ACBRGNRE com sucesso ? Estou testando o exemplo mas dá um erro como o do anexo

 

post-1819-0-53337300-1414107135.jpg

 

Percebam que mesmo eu configurando que é de SP, configurando os dados do emitente certinho sempre dá esta mensagem (fora o fato de que tenho que entrar no fonte ACBrGNREGuiaFRDM e ignorar uns erros , salvar e compilar o pacote).

 

Se alguém puder dar um auxílio fico grato.

 

Valew,

 

Alexandre Oliveira

CONSULT ATECH

 

  

-- 

Alexandre de Oliveira

Diretor de T.I.

xx16 3811 0155

www.consultatec.com.br - [email protected]

image.png.744a897bbf36127e428c6e687ef05731.png

 

  • Membros Pro
Postado

Juliomar,

 

Boa tarde. Seguinte, só pra comentar sobre a GNRE, é:

 

- 1) Consegui a autorização para uso, tá ok isso;

- 2) Sem que atualizo o ACBr, e tento executar o demo que tem do GNRE acontece isso

  

post-1819-0-62346400-1414517976.jpg

 

Daí, será que tem como alguém entrar no arquivo ACBRNfeDANFEFRDM e dar um ignore all e salvar pra poder acertar os fontes no repositório, porque dá um erro em frxPDFExport.DataOnly, dizendo que esta propriedade não existe. Talvez seja problema na versão do Fortes que o desenvolvedor deste módulo usou.

 

Agradecido,

 

Até mais,

 

 

-- 

Alexandre de Oliveira

Diretor de T.I.

xx16 3811 0155

www.consultatec.com.br - [email protected]

image.png.744a897bbf36127e428c6e687ef05731.png

 

  • Membros Pro
Postado

Pessoal,

 

Bom dia! Depois de vários testes consegui até gerar uma GNRE, porém, posto pra testes no cliente, o mesmo que vende seus itens para os seus cliente da UF favorecida (somos de SP e vendemos pra MG), necessita que saia na informação complementar o nome dele. Então eu estou tentando fazer:

 

      camposExtras.Add.CampoExtra.codigo := 45;
      camposExtras.Add.CampoExtra.tipo := 'T';
      camposExtras.Add.CampoExtra.valor := 'XXXXXXXXXXXXXXXX';
 
Mas está retornando que o conteúdo do campo TIPO é inválido e que deve conter T,N ou D. Portanto, se alguém puder dar uma dica do que estou fazendo errado, fico grato.
 
Já verifiquei as regras de preenchimento da guia para MG e lá diz que posso preencher campo extra pra receita que selecionei. o Código seria 45, o Tipo seria 'T' e o valor/titulo seria caractere.
 
Até mais,

-- 

Alexandre de Oliveira

Diretor de T.I.

xx16 3811 0155

www.consultatec.com.br - [email protected]

image.png.744a897bbf36127e428c6e687ef05731.png

 

  • Membros Pro
Postado

Pessoal,

 

Desconsiderem por favor, como não há nenhum exemplo de uso do campo extra, fui testando novamente as combinações e o jeito correto é:

 

      camposExtras.Add;
      camposExtras.Items[0].campoextra.codigo := 45;
      camposExtras.Items[0].campoextra.tipo := 'T';
      camposExtras.Items[0].campoextra.valor := 'XXXXXXXXXXXXXXXX';
 
É isso, valew e até mais,

-- 

Alexandre de Oliveira

Diretor de T.I.

xx16 3811 0155

www.consultatec.com.br - [email protected]

image.png.744a897bbf36127e428c6e687ef05731.png

 

  • Moderadores
Postado

 

Pessoal,

 

Bom dia! Depois de vários testes consegui até gerar uma GNRE, porém, posto pra testes no cliente, o mesmo que vende seus itens para os seus cliente da UF favorecida (somos de SP e vendemos pra MG), necessita que saia na informação complementar o nome dele. Então eu estou tentando fazer:

 

      camposExtras.Add.CampoExtra.codigo := 45;
      camposExtras.Add.CampoExtra.tipo := 'T';
      camposExtras.Add.CampoExtra.valor := 'XXXXXXXXXXXXXXXX';
 
Mas está retornando que o conteúdo do campo TIPO é inválido e que deve conter T,N ou D. Portanto, se alguém puder dar uma dica do que estou fazendo errado, fico grato.
 
Já verifiquei as regras de preenchimento da guia para MG e lá diz que posso preencher campo extra pra receita que selecionei. o Código seria 45, o Tipo seria 'T' e o valor/titulo seria caractere.
 
Até mais,

 

Boa tarde

a cada Add terá um novo registro então cada um terá uma informação mas nenhum será válido!

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

  • Membros Pro
Postado

Olá,

 

Bom dia! Tens razão Juliomar, a gente faz as coisas meio que na pressa e o dia-dia, a rotina, acaba as vezes nos cegando. Mas analisando com calma verifiquei o jeito certo de fazer depois e postei acima.

 

Uma outra coisa legal seria alterar/completar o exemplo, o que acha?

 

// inicio exemplo

    with ACBrGNRE1.Guias.Add.GNRE do
    begin
      c01_UfFavorecida := 'PR';
      c02_receita := 100099;
      c28_tipoDocOrigem := 10;
      c04_docOrigem := '777777';
      c06_valorPrincipal := 1.00;
      c14_dataVencimento := Now+1;
      c15_convenio := '';
 
      //descomente abaixo caso deseje utilizar c17_inscricaoEstadualEmitente e não por c27_tipoIdentificacaoEmitente /c34_tipoIdentificacaoDestinatario 
      //neste caso ao tirar o comentario da linha da inscricao, comentar as linhas de identificacao emitente/destinatario abaixo
      //c17_inscricaoEstadualEmitente := 'xxxxxxxxxxxxxx';
  
      If(Length(<numero_docto_emitente_destinatario>) <= 11) then
      begin
          c27_tipoIdentificacaoEmitente := 2;   // cpf
          c34_tipoIdentificacaoDestinatario := 2;
      end else
      begin
          c27_tipoIdentificacaoEmitente := 1;  // cnpj
          c34_tipoIdentificacaoDestinatario := 1;
      end;
 
      // emitente
      c03_idContribuinteEmitente := <numero_docto_emitente_destinatario>;
      c16_razaoSocialEmitente  := 'NOME DO EMITENTE_DESTINATARIO';
      c18_enderecoEmitente     := 'RUA DE TESTE, 20';
      c19_municipioEmitente    := '04007'; //código do ibge sem o código da cidade
      c20_ufEnderecoEmitente   := 'PR';
      c21_cepEmitente          := '99999999';
      c22_telefoneEmitente     := '9999999999';
 
      // destinatario
      c35_idContribuinteDestinatario := <numero_docto_emitente_destinatario>;
      c37_razaoSocialDestinatario := 'NOME DO EMITENTE_DESTINATARIO';
      c38_municipioDestinatario := '04007';
 
      c33_dataPagamento := Now+1;
      referencia.mes := '10';
      referencia.ano := 2014;
 
     // caso seja necessario
      camposExtras.Add;
      camposExtras.Items[0].campoextra.codigo := 56;
      camposExtras.Items[0].campoextra.tipo := 'T';
      camposExtras.Items[0].campoextra.valor := 'INFORMACOES ADICIONAIS';
 
      camposExtras.Add;
      camposExtras.Items[1].campoextra.codigo := 57;
      camposExtras.Items[1].campoextra.tipo := 'T';
      camposExtras.Items[1].campoextra.valor := 'INFORMACOES ADICIONAIS 2';
 
    end;
 
{
Para orientações de preenchimento, consultar o site: http://www.gnre.pe.gov.br/gnre/portal/GNRE_ManualLote.jspe nas abas DICIONARIO/REGRAS DE PREENCHIMENTO e ANEXOS consultar as instruções relativas ao estado favorecido do imposto que você está pagando. A aba FORMATO DO ARQUIVO fica a cargo do componente.
}
 

// fim do exemplo

 

Fora isso pessoal, gostaria de mencionar uma coisa sobre o nome do arquivo texto de retorno para geração da guia, se este, ao invés de ter como base aquela 'relação numérica', não poderia seguir a mesma nomenclatura da NFe seguido no final por -gnre.txt mesmo? Ou será que no retorno, tem como pegar o nome do TXT e eu não estou sabendo como fazer?

 

Por enquanto é só, valew e até mais,

 
obs: E viva o ACBR.....ACBR..tanãnã...ACBR...tanãnã.... :geek:

-- 

Alexandre de Oliveira

Diretor de T.I.

xx16 3811 0155

www.consultatec.com.br - [email protected]

image.png.744a897bbf36127e428c6e687ef05731.png

 

  • 1 ano depois...
  • 4 semanas depois ...
Postado (editado)

Bom dia pessoal, estou testando e enviando algumas GNRE para vários estados e testando para ver quais campos são obrigatórios em cada estado.

Estou fazendo os testes para o estado do Maranhão e deparei com um erro no componente na unit ACBrGNREGuiaFRFortes.pas

Na procedure TACBrGNREGuiaFR_Fortes.CarregaDado, esta escrito conforme abaixo, so que o campo vem zerado e esta dando erro de conversão como segue o arquivo em anexo ja da GNRE gerada e validada. Veja que se vc for imprimir utilizando o demo irá dar erro pq o campo DataLimitePagamento esta em preenchido com 00000000 pq não foi preenchido e tambem não é um campo obrigatorio. Para resolver o problema fiz conforme abaixo na linha que estava com problema. Dessa forma se consegue imprimir normal a GNRE. Não achei nenhum tópico referente a esse problema. 

// LINHA ORIGINAL

FieldByName('DataLimitePagamento').AsDateTime := StrToDate(FormatarData(DataLimitePagamento));

// LINHA ALTERADA

if DataLimitePagamento = '00000000' then
   FieldByName('DataLimitePagamento').AsDateTime := FieldByName('DataVencimento').AsDateTime
else
   FieldByName('DataLimitePagamento').AsDateTime := StrToDate(FormatarData(DataLimitePagamento));

858800000008010002991605781300000007033719819004-gnre.txt

Editado por Fernando Rodrigo
Postado
17 minutos atrás, Fernando Rodrigo disse:

Bom dia pessoal, estou testando e enviando algumas GNRE para vários estados e testando para ver quais campos são obrigatórios em cada estado.

Estou fazendo os testes para o estado do Maranhão e deparei com um erro no componente na unit ACBrGNREGuiaFRFortes.pas

Na procedure TACBrGNREGuiaFR_Fortes.CarregaDado, esta escrito conforme abaixo, so que o campo vem zerado e esta dando erro de conversão como segue o arquivo em anexo ja da GNRE gerada e validada. Veja que se vc for imprimir utilizando o demo irá dar erro pq o campo DataLimitePagamento esta em preenchido com 00000000 pq não foi preenchido e tambem não é um campo obrigatorio. Para resolver o problema fiz conforme abaixo na linha que estava com problema. Dessa forma se consegue imprimir normal a GNRE. Não achei nenhum tópico referente a esse problema. 

// LINHA ORIGINAL

FieldByName('DataLimitePagamento').AsDateTime := StrToDate(FormatarData(DataLimitePagamento));

// LINHA ALTERADA

if DataLimitePagamento = '00000000' then
   FieldByName('DataLimitePagamento').AsDateTime := FieldByName('DataVencimento').AsDateTime
else
   FieldByName('DataLimitePagamento').AsDateTime := StrToDate(FormatarData(DataLimitePagamento));

858800000008010002991605781300000007033719819004-gnre.txt

Caminho da unit

Acbr\Fontes\ACBrDFe\ACBrGNRE\GNRE\Fortes

Postado

Olá pessoal,

Primeiramente gostaria de saber qual o subfórum adequado para criar tópicos sobre a GNRE? 

Tenho uma dúvida que caberia a um novo tópico mas como fiquei em dúvida em qual subfórum postar decidi postar aqui.

A duvida é referente a impressão da GNRE. 

Estou começando a utilizar o componente, já consegui enviar GNRE, mas onde estou com dificuldade é na parte da impressão.

Após realizar o envio da nota é criado o arquivo .TXT (Resultado do envio) no diretório configurado na propriedade Configurações.pathSalvar,  certo?

O nome desse arquivo e salvo com uma parte da string do mesmo:

RepresentacaoNumerica := Copy(SL.Strings[i], 979, 48);

A questão seria:

Tem como eu salvar esse arquivo com outro nome? Pois quando vou realizar a rotina de preencher o objeto TGuiasRetorno com esses dados fica complicado para pegar o nome do arquivo.

AcbrGNRE.GuiasRetorno.LoadFromFile() // Maneira na qual me refiro para carregar os dados do arquivo

 

Uma outra dúvida é:

Quando é setado a propriedade (Configuracções.pathSalvar) para true, é salvo os TXT e os XML's.

É possível salvar somente os arquivos .TXT's  sem os arquivos XML?

Utilizo a rotina de salvar XML somente em casos de manutenção, já a rotina de salvar os TXT's preciso em produção. 

 

Muito obrigado.

Postado

rotina para pegar enviar e pegar o txt e fazer a impressão em seguida

 

    if ACBrGNRE1.Enviar(False) then
    begin
      ACBrGNRE1.GuiasRetorno.Clear;
      ACBrGNRE1.GuiasRetorno.LoadFromFile(ACBrGNRE1.Configuracoes.Arquivos.PathSalvar + ACBrGNRE1.WebServices.Retorno.GNRERetorno.resGuia[0].RepresentacaoNumerica + '-gnre.txt');
      ACBrGNRE1.GuiasRetorno.Imprimir;
    end;

  • Curtir 1
Postado
10 minutos atrás, joaomiler disse:

Boa Fernando, Resolveu meu problema com o nome do arquivo.

Referente a questão de salvar somente o TXT sabes a respeito?

Novamente, muito obrigado.

acho que não tem como, a não ser que vc faça a alteração no componente, o que eu não aconselho 

Postado

Bom dia a todos,

Realizei algumas alterações básicas, mas bem útil no componente para que possa haver a possibilidade de salvar somente os arquivos TXT's em uma pasta exclusiva. 

Alterações:

1° Adicionado 2 propriedades na classe TArquivosConfGNRE:

    FPathArqTXT:String;
    FSalvarTXT:Boolean;

	property PathArqTXT: String read FPathArqTXT  write FPathArqTXT ;
    property SalvarTXT: Boolean read FSalvarTXT write FSalvarTXT default false;

 Configurado para quando realizar a rotina de salvar o TXT ler as configurações dessas propriedades:

if FPConfiguracoesGNRE.Arquivos.SalvarTXT then
            SLAux.SaveToFile(PathWithDelim(FPConfiguracoesGNRE.Arquivos.PathArqTXT)+RepresentacaoNumerica+'-gnre.txt');

Dessam maneira é possível salvar os XML's em uma pasta separada em um determinado momento e salvar os arquivos TXT's em uma outra pasta e em outro determinado momento.

 

Units em anexo, se puderem analisar e subir fico agradecido.

ACBrGNREConfiguracoes.pas

ACBrGNREWebServices.pas

Postado

Em alguns estados é obrigatório vc informar a chave da nota fiscal e uma observação conforme abaixo, so que quando é impresso os dados não são impressos corretamente conforme anexo.

Vi que na configuração existe um | de separação so que não esta funcionando.

Como irei fazer para fazer a impressão corretamente uma informado abaixo da outra e não truncado

 

            camposExtras.Add;
            camposExtras.Items[0].campoextra.codigo := 57;
            camposExtras.Items[0].campoextra.tipo   := 'T';
            camposExtras.Items[0].campoextra.valor  := 'JOAOZINHO DE SOUZA';

            camposExtras.Add;
            camposExtras.Items[1].campoextra.codigo := 57;
            camposExtras.Items[1].campoextra.tipo   := 'T';
            camposExtras.Items[1].campoextra.valor  := 'XXXXXXXXXXXXXXXX'; // ID da nf-e
 

 

 

Sem título.png

  • Este tópico foi criado há 3164 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.

The popup will be closed in 10 segundos...