-
Total de ítens
36.101 -
Registro em
-
Última visita
-
Days Won
1.001
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por Italo Giurizzato Junior
-
-
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.
-
Boa noite Thalita,
Na pasta ...\exemplos\ACBrCTe, você vai encontrar alguns arquivos TXT que são fragmentos de código da minha aplicação, estude eles.
-
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.
-
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.
-
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.
-
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.
-
Boa tarde Cesar,
Os fontes disponiveis do ACBrCTeDACTeQR utilizam a versão 3 do Quick Report, mas pode ser utilizado com versões posteriores.
-
Boa tarde,
Você poderia informar quais os problemas encontrado no DANFE do Quick Report?
Desta forma podemos melhora-lo.
-
Bom dia Daleffe,
Essas questões tributárias eu peço socorro ao contador da transportadora.
-
Boa tarde Graça,
Favor baixar a atualização do fonte pcteCTeR.pas e realize o teste novamente.
-
Boa noite Moroni,
A versão em Rave também esta com o mesmo problema?
No caso do Rave e Fortes, não tenho como realizar as correções, pois não tenho o Fortes instalado e não detenho conhecimento suficiente em Rave para realizar as alterações.
-
Bom dia Moroni,
Obrigado por detectar essa falha, a correção já foi providenciada no DANFE e DACTE versão em Quick Report, como não tenho o Fortes não realizei as alterações.
Quanto a versão Quick Report já esta disponivel para baixar.
-
Boa noite Rodrigo,
Os CTe que vão ser complementados são todos do mesmo remetente para o mesmo destinatário?
Se não for, acredito que você vai ter que fazer uma CTe complementar para cada um.
-
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.
-
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"
-
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.
-
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.
-
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.
-
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.
-
Boa tarde Julian,
Informe somente neste caso o CPF, deixe o CNPJ em branco, ou seja não informe zeros.
-
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.
-
Boa tarde Jeferson,
Já existe um componente ACBrCLe no repositório branches.
-
Bom dia ncc,
Se a placa de um veículo estrangeiro é xxx999, ao informar inclua um ZERO para ficar no formato 3 letras e 4 numeros, por exemplo:
Placa do veículo: ABC-432
Informar da seguinte forma: ABC0432, resolva desta forma até que a sefaz disponibilize um novo schema.
-
Bom dia,
Para qual cidade você esta emitindo a NFSe?
Implantar projeto CTe
em ACBrCTe
Postado
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.