-
Total de ítens
38.025 -
Registro em
-
Última visita
-
Days Won
1.075
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Italo Giurizzato Junior postou
-
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.
-
Problema Tag proprietario quando retorna
Italo Giurizzato Junior replied to julianluis's tópico in ACBrCTe
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.
-
CTe Versão 1.04 e placa de veículos estrangeira
Italo Giurizzato Junior replied to ncc.star's tópico in ACBrCTe
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?
-
NFe - Cancelamento - NT2011.007
Italo Giurizzato Junior replied to Kiko Fernandes's tópico in ACBrNFe
Bom dia Janio, Sim, é isso mesmo o prazo passa a ser de 24 horas, contados apartir da data e hora de autorização. Exemplo: se uma NF-e foi autorizada em 29/12/2011 as 09:20, o usuário poderá solicitar o cancelamento da mesma até as 09:20 do dia 30/12/2011. Lembre-se o prazo é de 24 horas e não de 1 dia. Segundo o exemplo após as 09:20 não será mais possível o seu cancelamento. E tem mais apartir de 01/12/2012 o cancelamento deverá ser feito por evento, de uma lida na NT2011.006 -
Bom dia José, Chegei a realizar testes com a minha aplicação em um Note com o Windows 7 32 bits, rodou 100%. Detalhe, SEFAZ-SP e não MG. Como foi dito esses ultimos mês, devido as alterações nos WebServices por conta da nova versão 1.04 do CT-e o SEFAZ-MG esta muito instavel.
-
Boa noite José, De uma olhada no portal nacional do CTe em Disponibilidade de Serviços, note que há vários serviços na situação AMARELO.
-
Número da nota fiscal menor que permitido, ma no xml está...
Italo Giurizzato Junior replied to julianluis's tópico in ACBrCTe
Boa noite Julian, Poste a imagem com a mensagem de erro. -
NFe - Cancelamento - NT2011.007
Italo Giurizzato Junior replied to Kiko Fernandes's tópico in ACBrNFe
Boa tarde Kiko, E tem outra: A NT2011.006 contendo as especificações técnicas para a implementação do cancelamento da NF-e como um evento da NF-e de segunda geração. A adoção desse evento será realizado de forma gradual e as Sefaz têm até 01/07/2012 para implementarem esse processo em suas respectivas aplicações de autorização de NF-e. O Web Service de Cancelamento existente será eliminado em 01/12/2012, permanecendo unicamente a possibilidade de cancelamento da NF-e através do Web Service de Registro de Eventos. -
Erro no CEP do emitente pelo AcbrNFe2RL
Italo Giurizzato Junior replied to onyxsistemas's tópico in ACBrNFe
Boa tarde, Se possível poste o XML. -
Bom dia Wagner, Note que no código do municipio você já esta informando o código da UF no caso 35. Sendo assim, a maneira de alimentar o componente esta correta do jeito que você esta fazendo. Rem.EnderReme.cMun := StrToInt(txtRemeCodCid.Text); Eu já armazeno o código do municipo sem o código da UF ou seja: UF: SP (tabela do IBGE = 35) xMun: Campinas (09502) desta forma tenho que realizar o calculo no momento de alimentar o componente. txtRemeCodUf.Text := '35'; txtRemeCodCid.Text := '09502'; CodigoMunicipio := StrToInt(txtRemeCodUf.Text) * 100000 + StrToInt(txtRemeCodCid.Text); Rem.EnderReme.cMun := CodigoMunicipio;
-
Boa tarde Wagner, Qual é o conteudo de txtRemeCodCid.Text ? No meu sistema utilizo a formula apresentada no post anterior, pois armazeno no banco de dados o código da UF e do Municipio separados. Agora se você armazena os dois juntos, ai tem que ser do seu jeito.
-
Bom dia Wagner, Dica: baixe o MOC - Manual de Orientações do Contribuinte, para eventuais consultas. No que diz respeito ao campo Rem.EnderReme.cMun (Página 95 do MOC 1.03 ou Página 106 do MOC 1.04b), temos que o tamanho desse campo é 7. O código do município (tabela do IBGE) tem tamanho 5, portanto falta 2 para completar os 7 e esses 2 digitos refere-se ao código da UF (tabela do IBGE). Exemplo: UF: SP (tabela do IBGE = 35) xMun: ARARAQUARA (tabela do IBGE = 03208) txtRemeCodUf.Text := '35'; txtRemeCodCid.Text := '03208'; CodigoMunicipio := StrToInt(txtRemeCodUf.Text) * 100000 + StrToInt(txtRemeCodCid.Text); Rem.EnderReme.cMun := CodigoMunicipio; Eu sei, o MOC não deixa claro que tem que ser desta forma. Espero ter ajudado.
-
Boa tarde, Voce deve baixar os fontes da pasta Branches, como Jundiaí utiliza o provedor GINFES, o componente esta preparado para este servidor, portanto vai funcionar.
-
Bom dia John, O provedor SimplISS foi o primeiro que eu vi que exige que seja informado no xml de envio do lote o CNPJ e senha. Todos os provedores exige CNPJ e senha no caso de emitir a NFSe via site, mas via webservice o normal é a utilização do certificado. Até onde sei no xml de envio do lote do provedor GovBR não há necessidade de informar a senha. Outra coisa, para emitir uma NFSe via webservice há necessidade da empresa (prestador de serviço) possuir o certificado digital e a mesma estar credenciada junto a prefeitura a emitir a NFSe, o que eu não sei te responder é, se existe um credenciamento para emitir via site e outro via webservice.
-
Quantas Notas Fiscais podem conter dentro de mesmo CT-e
Italo Giurizzato Junior replied to impactus's tópico in ACBrCTe
Bom dia, O componente impõe um limite de 990 notas emitidas pelo remetente para o mesmo destinatário. No DACTE todas elas vão ser impressas, caso seja necessário o DACTE terá 2 ou mais páginas, para que todas as notas informadas constem no DACTE. -
Boa noite johnbh3, Favor baixar a atualização e testar novamente.
-
Bom dia a todos, Esta disponivel no SVN as alterações no componente, acredito que agora ele esta em conformidade com o novo pacote de liberação PL_104b. Esta faltando a publicação do Manual de Integração Contribuinte - DACTE que vai conter todas as informações necessárias e respectivos Lay-out dos DACTE de cada modal, para que possamos realizar as alterações, vamos aguardar. Desejo a todos um Feliz Natal e um Próspero Ano Novo.
-
Bom dia Josemar, Estude os fragmentos de código disponibilizados juntamente com o programa exemplo, pasta: ...\Exemplos\ACBrCTe Você vai notar que a procedure para envio de Lote é a mesma proposta pelo Janis, e esta funcionando. São fragmentos da minha aplicação que esta rodando em ambiente de produção a mais de 1 ano.
-
Bom dia, Essa mensagem de erro: Ancestor for 'QRNFSe' not found aparece porque o Delphi abre somente o fonte que contem o erro, se ele depende de um fonte PAI ocorre esse erro, até ai tudo bem. O fonte que ele abre deve ser o ACBrNFSeDANFSeQRRetrato, é nele que contem o erro, qual é a linha deste fonte que ele aponta como errada?
-
Boa tarde Josemar, Verifique se a sua rotina não esta limpando o conteudo do componente antes de gerar e enviar.