Ir para conteúdo
  • Cadastre-se

Italo Giurizzato Junior

Consultores
  • Total de ítens

    36.101
  • Registro em

  • Última visita

  • Days Won

    1.001

Posts postados por Italo Giurizzato Junior

  1. Bom dia Thalita,

    Com o demo você não vai conseguir fazer isso, te aconselho você implementar as rotinas em sua aplicação, baseando-se nos fragmentos de códigos em TXT que estão disponiveis junto com o programa exemplo.

  2. Boa noite a todos,

    O componente ACBrNFSe esta disponivel no branches.

    Aconselho criar uma pasta chamada ACBrTeste (por exemplo), configurar o tortoise para baixar os fontes do repositório branches na pasta ACBrTeste.

    Dentro desta pasta vai conter um arquivo TXT com a orientação de como realizar a instalação do componente.

    Quanto ao GINFES o componente segue o padrão Abrasf e algunas de suas variações, inicialmente as rotinas foram implementadas para o servidor GINFES, logo as chances de funcionar para as cidades que se utilização desse servidor são muito grandes.

  3. Bom dia Marcio,

    Sim, existe e ele se encontra no Branches, uma vez que ainda esta em desenvolvimento, e não suporta todas as cidades brasileiras, uma vez que nem todas utilizam o padrão Abrasf.

    Mas nada impede que você o baixe e faz as devidas implementações para que o mesmo suporte a cidade de São Leopoldo.

    Pelo que vi não esta dificil esse implementação.

  4. Bom dia Luis,

    Se você for utilizar o componente na versão 1.03 esses dois campos ( cPais e xPais ) devemos informar.

    Por outro lado se for habilitado a versão 1.04, você nem consegue passar esses dados para o componente.

    Lembre-se que estamos falando do Emitente.

  5. Boa noite Edison,

    Obrigado pelo alerta, você tem toda razão esta errado mesmo, são mais de 400 campos, sempre escapa algum.

    Realizei as correções e já esta disponivel para baixar via SVN.

    Mais uma vez muito obrigado.

  6. Boa noite Thalita,

    Acho melhor você instalar no Delphi 7.

    Por padrão o Delphi 7 vem com o Quick Report 3.0

    Exite uma diretiva de compilação no final do arquivo ACBr.inc dentro da pasta ...\Fontes\ACBrComum que só deve ser descomentada se a versão do Quick Report for posterior a 3.0, essa diretiva quando definida acaba incluido unit que diz respeito a geração de PDF.

    Pela mensagem de erro: qrpdffilt.dcu not found, note que se trata do filtro para gerar pdf do Quick Report: qr pdf filt.dcu

    Acredito que você deve ter descomentado a diretiva, dai ao compilar o componente ele não acha a unit.

    Espero ter ajudado.

  7. Boa Noite Luis,

    Na versão 1.04 do CTe o código e nome do Pais do Emitente não existe mais, as tags foram retiradas do schema, mas do Remetente, Destinatario , Expedidor, Recebedor, continua.

    Motivo, o emitente do CTe deve possuir um CNPJ logo é uma empresa brasileira.

  8. Bom dia Maiko,

    Vamos ao fragmento de código:

    
       DM_CNT.Tabelas.Close;
    
       DM_CNT.Tabelas.SQL.Clear;
    
       DM_CNT.Tabelas.SQL.Add('Select * From Cnt_Tabelas');
    
       DM_CNT.Tabelas.SQL.Add('Where Codigo = :xTabela');
    
       DM_CNT.Tabelas.Params[0].AsString := DM_CNT.Conhec2Tabela.AsString;
    
       DM_CNT.Tabelas.Active := True;
    
       DM_CNT.Tabelas.Open;
    
    
       if DM_CNT.TabelasCST.AsInteger = 41
    
        then compl.xObs := compl.xObs +
    
               ';Documento emitido por ME ou EPP optante pelo Simples Nacional' +
    
               ';Nao gera direito a credito fiscal de ICMS';
    
    
    

    Note que tenho no banco de dados a tabela: Cnt_Tabelas, a minha aplicação permite que seja criada N tabelas para calcular o valor do frete.

    O código dessa tabela armazeno na tabela Cnt_Conhecimentos, campo Tabela.

    Voltando a Tabela Cnt_Tabelas tenho um campo chamado CST que contem o código da Classificação Tributária do Serviço.

    O contator me pediu para que quando CST = 41 (ICMS não tributada) era para constar na observação o seguinte texto: "Documento emitido por ME ou EPP optante pelo Simples Nacional Nao gera direito a credito fiscal de ICMS"

  9. Boa tarde a todos,

    O problema do Danfe em QR no que diz respeito ao PDF é a versão.

    O Delphi 7 vem com o Quick Report versão 3.0, este por sua vez não possui o filtro para gerar o PDF.

    Não impede que você desinstale o QR 3.0 e instale no lugar a versão 4 ou posterior.

    Feito isso existe uma diretiva de compilação no final do arquivo ACBr.inc que deve ser descomentada para quem tem a versão 4 ou posterior do Quick Report.

    Ai basta compilar a sua aplicação novamente usando a opção Build e pronto o componente que imprimi o DANFe em QR vai gerar o PDF.

    Espero ter ajudado.

  10. Maiko,

    Uma dica, no MOC - Manual de Orientação do Contribuinte versão 1.04b você encontra as respostas para as suas perguntas, principalmente no que diz respeito o que é obrigatório e opcional.

    Inclusive sobre a chave do CTe que é composta por 44 digitos.

    Note que temos 2 campos um chamado nCT e o outro cCT.

    O nCT se refere ao numero do conhecimento que deve ser sequencial (1, 2, 3, ...) e o cCT se refere ao código do conhecimento que pode ser um numero aleatório ou pode ser igual ao nCT.

    Na versão 1.04 do CTe o nCT contém 9 digitos e o cCT contém 8 digitos.

    Como eu implementei?

    Quando o usuário lança os dados pertinentes ao transporte da carga, ao clicar no botão para salvar os dados no banco de dados, gero o cCT usando a função Random do Delphi para gerar um numero aleatório com no máximo 8 digitos e salvo tambem no banco de dados (campo: CTChave).

    
       Randomize;
    
       codigoNumerico := Random(99999999);
    
    
    E ao alimentar o componente passo essa informação:
    
       Ide.cCT   := DM_CNT.Conhec2CTChave.AsInteger;  // Código Aleatório
    
    
    (...)
    
    
       Ide.modelo := '57';
    
       Ide.serie  := DM_CNT.Conhec2Serie.AsInteger; 
    
       Ide.nCT    := DM_CNT.Conhec2Numero.AsInteger; // Numero sequencial
    
    

    Espero ter ajudado.

  11. Bom dia Maiko,

    Vamos as respostas:

    Sim, tenho no banco de dados uma tabela que contem os dados para a configuração do componente, logo não utilizo neste caso o arquivo .INI

    A minha aplicação roda com o Capicom.

    Durante 1 ano o meu cliente usou o certificado A1 e depois mudou para o A3 (Cartão + Leitora) sem nenhum problema.

    O nosso colega Janis utiliza o certificado A3 (Tokem) também sem nenhum problema e como mencionado no post dele já chegou a casa dos 100 mil CTe emitidos.

    Quanto a configuração do componente com relação ao certificado, devemos informar somente o numero de serie do mesmo.

    Existe uma propriedade no componente para informar a senha, no caso do A1 não devemos informa-la, recentemente foi realizada uma alteração no componente para que esta propriedade receba a senha (PIN) do certificado A3, caso você não informe, ao ocorrece o primeiro acesso ao WebServices ela sera solicitada.

    Portanto não há necessidade de informar o caminho onde encontra-se o certificado.

    Com relação aos arquivos Schemas:

    A secretaria da fazenda disponibiliza esses arquivos, no decorrer do tempo, a medida que vai surgindo necessidades ou proplemas são detectados a SEFAZ faz as alterações e disponibiliza uma nova versão dos Schemas, atualmente estamos na versão 1.04 do CTe.

    Qual é a finalidade desses arquivos?

    Esses arquivos contem a estrutura de cada elemento, grupo que compõem o arquivo XML do CT-e.

    O componente por sua vez realiza uma "comparação" entre o XML gerado com o Schema.

    Se um elemente tem um tamanho máximo de 40 caracteres (por exemplo) e ao gerar o o XML você passa uma string com 50, ao executar a rotina de validação (comparação entre o XML com o schema) o componente vai parar a sua aplicação e apontar o problema, informando que o referido elemente esta com um tamanho maior do que o permitido.

    Espero ter ajudado.

  12. Boa noite Marcos,

    Os fragmentos de código em TXT são da minha aplicação, o data module DMCTE, você mesmo pode criar um e incluir nele os componentes ACBrCTe e o ACBrCTeDACTEQR.

    Espero ter ajudado.

  13. Bom dia Maiko,

    Qual é o motivo de usar o OpenSSL?

    Caso haja necessidade do uso do OpenSSL, temos que realizar uma alteração no arquivo ACBr.inc que encontra-se na pasta ...\fontes\ACBrComum.

    Padrão:

    
    //{$DEFINE ACBrNFeOpenSSL}  // Para Usar OpenSSL no ACBrNFe em Delphi, descomente essa linha
    
    //{$DEFINE ACBrCTeOpenSSL}
    
    //{$DEFINE CLX}             // Para usar CLX no Windows / Delphi descomente essa linha
    
    
    Alterado para usar o OpenSSL:
    
    //{$DEFINE ACBrNFeOpenSSL}  // Para Usar OpenSSL no ACBrNFe em Delphi, descomente essa linha
    
    {$DEFINE ACBrCTeOpenSSL}
    
    //{$DEFINE CLX}             // Para usar CLX no Windows / Delphi descomente essa linha
    
    
    Quanto as tabelas e respectivos campos que você deve criar no banco de dados, uma dica é o proprio MOC - Manual de Orientação do Contribuinte disponibilizado junto com o programa exemplo (Manual_CTe_v1.04b.PDF). Outra é através do fragmento de código Alimentarcomponente.txt disponibilizado junto com o programa exemplo, nele você encontra os acessos ao banco de dados "Select ...." veja este exemplo:
    
         DM_CTA.PessoaFJ.Close;
    
         DM_CTA.PessoaFJ.SQL.Clear;
    
         DM_CTA.PessoaFJ.SQL.Add('Select * From Sis_PessoaFJ');
    
         DM_CTA.PessoaFJ.SQL.Add('Where CGC = :xCGC');
    
         DM_CTA.PessoaFJ.Params[0].AsString := DM_CNT.Conhec2Remetente.AsString;
    
         DM_CTA.PessoaFJ.Active := True;
    
         DM_CTA.PessoaFJ.Open;
    
    
         Rem.xNome             := DM_CTA.PessoaFJRSocial.AsString;
    
         Rem.xFant             := DM_CTA.PessoaFJFantasia.AsString;
    
         Rem.EnderReme.xLgr    := DM_CTA.PessoaFJEndereco.AsString;
    
         Rem.EnderReme.nro     := DM_CTA.PessoaFJNumero.AsString;
    
         Rem.EnderReme.xCpl    := DM_CTA.PessoaFJComplemento.AsString;
    
         Rem.EnderReme.xBairro := DM_CTA.PessoaFJBairro.AsString;
    
         CodigoMunicipio       := DM_CTA.PessoaFJCodigoEstado.AsInteger * 100000 +
    
                                  DM_CTA.PessoaFJCodigoMunicipio.AsInteger;
    
         Rem.EnderReme.cMun    := CodigoMunicipio;
    
         Rem.EnderReme.xMun    := DM_CTA.PessoaFJCidade.AsString;
    
         Rem.EnderReme.CEP     := StrToIntDef(DM_CTA.PessoaFJCEP.AsString, 0);
    
         Rem.EnderReme.UF      := DM_CTA.PessoaFJEstado.AsString;
    
         Rem.EnderReme.cPais   := DM_CTA.PessoaFJCodigoPais.AsInteger;
    
         Rem.EnderReme.xPais   := DM_CTA.PessoaFJPais.AsString;
    
    
         if copy(DM_CTA.PessoaFJCGC.AsString,10,4) <> '0000'
    
          then begin
    
           Rem.CNPJCPF := Copy(DM_CTA.PessoaFJCGC.AsString, 2, 14);
    
           IE          := DM_CTA.PessoaFJIEstadual.AsString;
    
          end
    
          else begin
    
           Rem.CNPJCPF := Copy(DM_CTA.PessoaFJCGC.AsString, 1, 9) +
    
                          Copy(DM_CTA.PessoaFJCGC.AsString, 14, 2);
    
           IE          := 'ISENTO';
    
          end;
    
    
         Rem.IE   := IE;
    
         Rem.fone := DM_CTA.PessoaFJTelefone.AsString;
    
    
    No exemplo acima estou acessando a tabela Sis_PessoaFJ para ler os dados do Remetente, para alimentar o componente. Rem.xNome := DM_CTA.PessoaFJRSocial.AsString; Note que estou pegando o conteudo do campo RSocial (tabela Sis_PessoaFJ) e atribuindo a propriedade xNome do Remetente. Outra coisa importante é quanto a nova versão 1.04, que devemos habilitar através da diretiva de compilação que tambem encontra-se no arquivo ACBr.inc Padrão:
    
    //------------------------------------------------------------------------------
    
    // Definições para o compomente ACBrCTe
    
    //------------------------------------------------------------------------------
    
    // Define o Pacote de Liberação / Descomente o pacote a ser utilizado 
    
    // Atenção não comente ou descomente as duas definições
    
    {$DEFINE PL_103}
    
    //{$DEFINE PL_104}
    
    
    Alterar para:
    
    //------------------------------------------------------------------------------
    
    // Definições para o compomente ACBrCTe
    
    //------------------------------------------------------------------------------
    
    // Define o Pacote de Liberação / Descomente o pacote a ser utilizado 
    
    // Atenção não comente ou descomente as duas definições
    
    //{$DEFINE PL_103}
    
    {$DEFINE PL_104}
    
    

    Espero ter ajudado.

×
×
  • 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.