Páginas

terça-feira, 23 de fevereiro de 2010

Versão preliminar do ACBrNFePCN compatível com NFe 2.0 lançada

Está em desenvolvimento a nova versão do ACBrNFePCN compatível com a versão 2.0 da NFe(Manual de Integração 4.01).

Mais informações sobre esta nova versão disponível neste link

sexta-feira, 12 de fevereiro de 2010

Nova versão do ACBrNFeMonitor - 0.5.6a

Nova versão do ACBrNFeMonitor disponível em:
Versão CAPICOM - http://djsystem.sytes.net/ccount/click.php?id=6 (Compatível com A3)
Versão OpenSSL - http://djsystem.sytes.net/ccount/click.php?id=7
Abaixo principais mudanças:
  • Adicionado checkbox "Expandir Logo" na aba DANFE onde quando estiver selecionada o logo configurado no ACBrNFeMonitor será expandido para toda a área do cabeçalho referente aos dados do emitente. Útil para quem quer personalizar os dados impressos no quadro de dados do emitente;
  • Fixado tamanho da fonte Courier New no Quadro Fatura/Duplicatas para o DANFE com RAVE CB. Estava cortando a data de vencimento;
  • Corrigido impressão de numeração de páginas no DANFE Rave CB. (créditos: João Paulo Leão);
  • Corrigido impressão (DANFE RAVE CB) de SÉRIE e FOLHA quando for SCAN (caso 449 MANTIS);
  • Corrigido impressão (DANFE RAVE CB) de dizeres ENTRADA/SAIDA de acordo com o que for a NFe. (caso 457 MANTIS);
  • Incluido campo "Produtos por Página" na aba DANFE. Se propriedade estiver com o valor 0 (zero), o DANFE será impresso normalmente como agora. Se especificar um valor, será impresso a quantidade máxima de produtos por página.
  • Fixado tamanho de fonte no RAVE CB RETRATO para o campo FRETE POR CONTA.
  • Adicionado na aba Monitor o groupbox "Log de Mensagens do Componente ACBrNFePCN", onde caso esteja selecionado irá gravar as mensagens enviadas e recebidas diretamente pelo componente aos WebServices;
  • Modificação para imprimir no corpo da nota o texto "NFe sem Autorização de Uso da SEFAZ", quando não tiver Protocolo de autorizacao de uso.
Em caso de dúvidas sobre esta nova versão utilize o Fórum - http://www.djsystem.com.br/acbr/forum/ e caso encontre algum bug ou queira dar sugestões para a próxima versão usem o Mantis -http://acbr.sourceforge.net/mantis/
Caso queira ver o projeto ACBr cada vez melhor e não tenha tempo ou conhecimento para contribuir com código, efetue uma doação em dinheiro para o projeto. Para isso acesse http://acbr.sourceforge.net/drupal/?q=node/14

Comandos do ACBrNFeMonitor

Como o manual do ACBrNFeMonitor disponível em http://acbr.sourceforge.net/drupal/?q=node/40 está meio desatualizado, irei postar abaixo todos os comandos possíveis do ACBrNFeMonitor.
  • NFe.StatusServico
  • NFe.AssinarNFe(cArqXML)
  • NFe.ValidarNFe(cArqXML)
  • NFe.ConsultarNFe(cArqXML)
  • NFe.CancelarNFe(cChaveNFe,cJustificativa)
  • NFe.ImprimirDANFE(cArqXML,[NomeImpressora],[nCopias])
    NomeImpressora - parâmetro opcional com o nome da impressora que deve ser impresso o DANFE.
    nCopias - Parâmetro opcional com o número de cópias a serem impressas do DANFE.
  • NFe.ImprimirDANFEPDF(cArqXML)
  • NFe.InutilizarNFe(cCNPJ,cJustificativa,nAno,nModelo,nSérie,nNumInicial,nNumFinal)
  • NFe.EnviarNFe(cArqXML,nLote,[nAssina],[nImprime],[NomeImpressora])
    nAssina - parâmetro opcional e caso seja passado 1 irá assinar o arquivo XML antes de enviar.
    nImprime - parâmetro opcional e caso seja passado 1 irá imprimir o DANFE caso a nota seja enviada com sucesso.
  • NFe.ReciboNFe(nRecibo) //Consulta status do lote enviado pelo número do recibo
  • NFe.ConsultaCadastro(cUF,nDocumento,[nIE])
    cUF - Sigla do estado do documento a ser consultado
    nDocumento - Número do documento a ser consultado
    nIE - parâmetro opcional e caso seja passado 1 irá consultar pelo documento Inscrição Estadual, caso contrário irá consultar pelo CPF ou CNPJ.
  • NFe.EnviarEmail(cEmailDestino,cArqXML,cEnviaPDF,[cAssunto],[cEmailsCopias])
    cEnviaPDF - indica se deverá ser enviado PDF junto ao Arquivo XML da NFe no email. Deverá ser passado 1 para enviar e 0 para não enviar o PDF.
    cAssunto - parâmetro opcional para mudar o assunto cadastrado no ACBrNFeMonitor.
    cEmailsCopias - parâmetro opcional que poderá conter diversos emails separados por ; para enviar cópia do email enviado ao Email de Destino.
  • NFe.SetCertificado(cCertificado,cSenha) //Versão OpenSSL
    NFe.SetCertificado(cNumCertificado) // Versão CAPICOM
  • NFe.SetAmbiente(nNumAmbiente)
    nNumAmbiente - pode ser passado o valor 1 para Ambiente de Produção ou 2 para Ambiente de Homologação
  • NFe.SetFormaEmissao(nFormaEmissao)
    nFormaEmissao - pode ser passado os seguintes valores:
    1 para Normal, 2 para FS, 3 para SCAN, 4 para DPEC e 5 para FS-DA
  • NFe.LerNFe(cArqXML) - Irá ler o arquivo XML da NFe e retornar no formato INI usado no ACBrNFeMonitor
  • NFe.NFetoTXT(cArqXML,cNomeArqTXT) - Irá ler o arquivo XML da NFe e gerar o arquivo TXT com o nome passado no parâmetro cNomeArqTXT no formato do emissor do governo do SEFAZ de SP
  • NFe.SavetoFile(cNomeArq,cConteudoArq) - Salva um arquivo na máquina que está instalado o ACBrNFeMonitor com o nome passado em cNomeArq com o conteúdo passado em cConteudoArq. Útil para quem utiliza comunicação via Sockets e deseja salvar um arquivo na máquina que está instalado o ACBrNFeMonitor sem precisar mapear a unidade de rede.
  • NFe.LoadfromFile(cNomeArq,nSegundos) - Lê um arquivo na máquina que está instalados o ACBrNFeMonitor e tenta fazer esta leitura conforme o número de segundos que for passado no parâmetro nSegundos. Útil para quem utiliza comunicação via Sockets e deseja ler um arquivo na máquina que está instalado o ACBrNFeMonitor sem precisar mapear a unidade de rede.
  • NFe.LerIni - Le as informações do arquivo ACBrNFeMonitor.ini. Útil para quem muda as configurações do INI por fora da interface do ACBrNFeMonitor e quer que as configurações sejam lidas sem precisar fechar e abrir novamente o programa.
  • NFe.Restaurar - Restaura a tela do ACBrNFeMonitor
  • NFe.Ocultar - Oculta a tela do ACBrNFeMonitor
  • NFe.EncerrarMonitor - Termina a execução do ACBrNFeMonitor
  • NFe.Ativo - Responde com OK caso o ACBrNFeMonitor esteja aberto.
  • NFe.Exit ou NFe.bye ou NFe.fim ou NFe.Sair - Fecha a conexão quanto utilizado via Sockets.
  • NFe.EnviarLoteNFe(nLote)
  • NFe.EnviarDPECNFe(nLote,nImprimeDANFE)
  • NFe.FileExists(cNomeArq) - Verifica se o arquivo passado através do parâmetro cNomeArq existe na máquina em que o ACBrNFeMonitor está instalado. Útil para quem utiliza comunicação via Sockets e deseja verificar a existência de um arquivo na máquina que está instalado o ACBrNFeMonitor sem precisar mapear a unidade de rede.
Abaixo os comandos para gerar a NFe que utilizam o formato INI descrito neste post: http://anfm.blogspot.com/2009/09/campos-para-criar-uma-nfe-usando-o.html
  • NFe.CriarNFe(cArqINI,nRetornaXML)
    cArqINI - Pode ser passado o path para o arquivo ou o conteúdo do Arquivo INI.
    nRetornaXML - Se passado como 1, irá retornar na resposta do ACBrNFeMonitor o XML gerado a partir do arquivo INI.
  • NFe.CriarEnviarNFe(cArqINI,nLote,nImprimeDANFE)
    nLote - Número do Lote de envio da NFe.
    nImprimeDANFE - Se passado como 1, irá imprimir o DANFE se a NFe for aprovada no SEFAZ.
  • NFe.AdicionarNFe(cArqINI,nLote)
    Adiciona uma nota ao lote nLote para posterior envio com o comando NFe.EnviarLoteNFe ou NFe.EnviarDPECNFe
Abaixo os comandos para gerar a NFe que utilizam o formato do emissor do SEFAZ de SP.
  • NFe.CriarNFeSefaz(cArqTXT,nRetornaXML)
    cArqTXT - Path para o arquivo TXT no formato do SEFAZ
  • NFe.CriarEnviarNFeSefaz(cArqTXT,nLote,nImprimeDANFE)
  • NFe.AdicionarNFeSefaz(cArqTXT,nLote)
Em caso de dúvidas, como sempre, utilizem o Fórum - http://www.djsystem.com.br/acbr/forum/

Nova versão do ACBrNFePCN compatível com o manual 4.01

Quase que diariamente recebo emails perguntando sobre se ACBrNFePCN será ajustado para a nova versão do manual de integração - http://www.nfe.fazenda.gov.br/portal/docs/Manual_Integra%C3%A7%C3%A3o_Contribuinte_vers%C3%A3o_4.01-NT2009.006.pdf

Apesar de outros estados já terem divulgados os novos WebServices, iremos realizar as alterações apenas quando SP divulgar os novos endereços. Após as alterações necessárias serem realizadas no componente ACBrNFePCN, iremos também realizar as atualizações necessárias no ACBrNFeMonitor.

quinta-feira, 11 de fevereiro de 2010

Como funcionam os modos de contingência da NFe

Atualmente, além da emissão normal da NFe, temos mais 3 opções de envio da NFe para uso em caso de problemas. Estes problemas podem acontecer do seu lado ou do lado do SEFAZ, abaixo irei descrever as opções disponíveis e como usá-las no ACBrNFePCN.

SCAN - Sistema de Contingência do Ambiente Nacional
  • Solicitação pela UF interessada, ou seja, você só poderá usar este modo de contingência caso o SEFAZ do seu estado autorize o uso;
  • Alteração série da NF-e (série 900-999);
  • Alteração do Número da NF-e (cada série terá sua própria numeração);
  • Transmissão da NF-e, obtenção da autorização de uso;
  • Impressão do DANFE em papel comum;
  • Lavrar termo de ocorrência no livro RUDFTO (Registro de Utilização de Documentos Fiscais e Termos de Ocorrências).
DPEC - Declaração Prévia de Emissão em Contingência
  • Envio da Principais Informações (chave de acesso;CNPJ ou CPF do destinatário;UF de localização do destinatário; Valor Total da NF-e; Valor Total do ICMS;Valor Total do ICMS retido por ST);
  • Impressão do DANFE em papel comum;
  • Após o término dos problemas o contribuinte deverá transmitir a NF-e emitida em Contingência Eletrônica;
  • Lavrar termo de ocorrência no livro RUDFTO (Registro de Utilização de Documentos Fiscais e Termos de Ocorrências).
  • Diferentemente do SCAN, pode ser usado quando o usuário desejar, mas necessita de conexão com a internet.
FS ou FS-DA - Formulário de Segurança
  • Único modo que pode ser usado quando o usuário não tem nenhum modo de acesso a internet;
  • Impressão em Formulário de Segurança (papel moeda) em 2 vias;
  • Transmitir as NF-e imediatamente após o término dos problemas;
  • Lavrar termo de ocorrência no livro RUDFTO (Registro de Utilização de Documentos Fiscais e Termos de Ocorrências).
Como utilizar o ACBrNFePCN e os modos de contingência acima
SCAN
Muda a configuração do componente para SCAN:
ACBrNFe1.Configuracoes.Geral.FormaEmis := teSCAN;
Ao gerar a NFe, mude os campos abaixo:
Ide.serie := 900; // (Série entre 900 e 999)
Ide.tpEmis := teSCAN;
....... //Adiciona todos os dados normalmente da NFe
ACBrNFe1.Enviar(NumLote);
DPEC
Muda a configuração do componente para DPEC:
ACBrNFe1.Configuracoes.Geral.FormaEmis := teDPEC;
Ao gerar a NFe, mude os campos abaixo:
Ide.tpEmis := teDPEC;
....... //Adiciona todos os dados normalmente da NFe
ACBrNFe1.WebServices.EnviarDPEC.Executar; // envia apenas resumo das notas.
ACBrNFe1.DANFE.ProtocoloNFe:=ACBrNFe1.WebServices.EnviarDPEC.nRegDPEC+' '+DateTimeToStr(ACBrNFe1.WebServices.EnviarDPEC.DhRegDPEC); //Pega número do protocolo para ser impresso no DANFE.
ACBrNFe1.NotasFiscais.Assinar;
ACBrNFe1.NotasFiscais.Valida;
ACBrNFe1.NotasFiscais.Imprimir; //Imprime o DANFE.
ACBrNFe1.NotasFiscais.SaveToFile(); //Salva os XMLs para posterior envio do XML completo da nota.
Ao retornar ao normal o XML completo deverá ser enviado, para isso utilize os comandos abaixo:
ACBrNFe1.NotasFiscais.Clear;
ACBrNFe1.NotasFiscais.LoadFromFile(NomeArqNFe);
ACBrNFe1.Enviar(NumLote);
FS ou FS-DA
Muda a configuração do componente para FS ou FS-DA:
ACBrNFe1.Configuracoes.Geral.FormaEmis := teFSDA; //ou teContingencia para FS

Ao gerar a NFe, mude os campos abaixo:
Ide.tpEmis := teFSDA; //ou teContingencia para FS
....... //Adiciona todos os dados normalmente da NFe
ACBrNFe1.NotasFiscais.Assinar;
ACBrNFe1.NotasFiscais.Valida;
ACBrNFe1.NotasFiscais.Imprimir; // Imprime o DANFE normalmente
ACBrNFe1.NotasFiscais.SaveToFile(); //Salva os XMLs para posterior envio do XML.

Ao retornar ao normal o XML completo deverá ser enviado, para isso utilize os comandos abaixo:
ACBrNFe1.NotasFiscais.Clear;
ACBrNFe1.NotasFiscais.LoadFromFile(NomeArqNFe);
ACBrNFe1.Enviar(NumLote);
Para mais informações sobre os modos de contingência, veja http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=utnfBbrTewc=
Em caso de dúvidas, utilize o Fórum - http://www.djsystem.com.br/acbr/forum/