Ir para conteúdo
  • Cadastre-se

André Ferreira de Moraes

Moderadores
  • Total de ítens

    6.885
  • Registro em

  • Última visita

  • Days Won

    68

Tudo que André Ferreira de Moraes postou

  1. Ambos os campos existem e ambos são impressos nas informações adicionais. Como falado no meu primeiro post, leia o manual de integração.
  2. Quais os comandos q vc chama antes de salvar?
  3. Não é no mesmo campo, é no campo InfAdic.infCpl.
  4. Pq o campo só aceita 60 caracteres. Leia o manual de integração - http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=qmxgJXfbUhs=
  5. Desculpe, mas não consigo entender seu log. O que posso te afirmar é que o método ACBrNFe.Enviar chama o método de assinar que por sua vez acaba gerando novamente o XML. As demais chamadas vc deve debugar o componente e ver pq está ocorrendo e qual seria a possível solução(algum flag q indique q a NFe já foi gerada).
  6. Estude o demo. with Det.Add do begin Prod.nItem := 1; // Número sequencial, para cada item deve ser incrementado Prod.cProd := '123457'; Prod.cEAN := ''; Prod.xProd := 'Descrição do Serviço'; Prod.NCM := '99'; Prod.EXTIPI := ''; Prod.CFOP := '5933'; Prod.uCom := 'UN'; Prod.qCom := 1 ; Prod.vUnCom := 100; Prod.vProd := 100 ; Prod.cEANTrib := ''; Prod.uTrib := 'UN'; Prod.qTrib := 1; Prod.vUnTrib := 100; Prod.vFrete := 0; Prod.vSeg := 0; Prod.vDesc := 0; infAdProd := 'Informação Adicional do Serviço'; //Grupo para serviços with Imposto.ISSQN do begin cSitTrib := ISSQNcSitTribNORMAL; vBC := 100; vAliq := 2; vISSQN := 2; cMunFG := 3554003; cListServ := '1402'; // Preencha este campo usando a tabela disponível // em http://www.planalto.gov.br/Ccivil_03/LEIS/LCP/Lcp116.htm end; end ;
  7. Seu XML está na versão 2.00, neste caso vc deve seguir a orientação da página 4 da NT 2010.010 - http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=AtaVevRXCIQ=
  8. Para NFe basta informar os campos Det.Add.Imposto.vTotTrib e Total.ICMSTot.vTotTrib. Para CTe pergunte no fórum correto.
  9. Só encontrei uma chamada para a função GerarInfNFe na unit pcnNFeW.pas na linha 269. Talvez passe mais de uma vez, pois qdo vc chama ACBrNFe1.NotasFiscais.Valida; ele já gera a nota(não tem como validar a nota sem antes gerar) e depois vc está chamando novamente a função para gerar as notas(ACBrNFe1.NotasFiscais.GerarNFe; ).
  10. Para usar uma rotina de envio de emails genérica, use o componente ACBrMail. Futuramente iremos migrar a rotina de envio da NFe para utilizar o componente ACBrMail.
  11. Vc está configurando o componente que está no DataModule corretamente(Ambiente, estado, etc)?
  12. Tenho a seguinte rotina de inicialização da comunicação com o ACBrNFeMonitor. Nela descarto a mensagem de boas vindas. ************************************************************************ Function NFE_INIT() // Abre a comunicação com o ACBrNFeMonitor ************************************************************************ Local P, RET := .T., TFIM, IP, PORTA, RESP, WARQ, TEMP WARQ := 'nfe'+strzero(P_TERMINAL,2)+'.rel' if ! file(WARQ) WARQ := 'nfe.rel' if ! file(WARQ) // terminal nao precisa acessar o ACBr. return .t. endif endif if ! empty(sENDER) // Já está aberto... return .t. endif if file(WARQ) if CREL_CABEC(WARQ) sENDER := CREL_LE('ENDERECO') endif CREL_END() else ALERTA('Arquivo NFE.REL ou NFE'+strzero(P_TERMINAL,2)+'.REL|nao encontrado.',,,COR_ERRO) return .F. endif IP := '' PORTA := 0 #ifdef __XHARBOUR__ if ! (PATH_DEL $ sENDER) /// Abrir comunicacao TCP/IP P := at(':',sENDER) if P = 0 P := len(sENDER)+1 endif IP := substr(sENDER,1,P-1) if empty(IP) RET := .F. else PORTA := val(substr(sENDER,P+1)) if PORTA = 0 PORTA := 3436 endif inetinit() RET := .F. TFIM := Seconds() + 5 /// Tenta conectar durante 5 segundos /// do while Seconds() < TFIM .and. ! RET sSOCKET := inetconnect(IP,PORTA) RET := (ineterrorcode(sSOCKET) = 0) MySleep(500) enddo endif if RET InetSetTimeout( sSOCKET, 3000 ) // Timeout de Recepção 3 seg // RESP := InetRecvEndBlock( sSOCKET, ETX ) RET := ('ACBrNFeMonitor' $ RESP ) // Recebeu as boas vindas ? endif endif #endif if PATH_DEL $ sENDER /// Abrir comunicacao TXT if right(sENDER,1) <> PATH_DEL sENDER := sENDER + PATH_DEL endif endif if ! RET sENDER := '' endif return RET
  13. Realmente estava com bug, ele apenas estava verificado se a BC do IPI era maior que 0, e em alguns CSTs o campo BC não é preenchido. Corrigi e enviei para o SVN, aguarde a próxima compilação.
  14. A NFe é o XML. O DANFe é apenas uma representação do XML que não tem nenhuma validade perante o fisco. Caso vc sofra uma fiscalização, serão exigidos os XMLs de entrada e saída, não os papéis impressos. Então, para imprimir um DANFe, basta usar o XML que foi gerado no momento da emissão da nota.
  15. Valide os dados no site http://www.nfe.se.gov.br/portal/portalNoticias.jsp?jsp=barra-menu/servicos/validadorSHA1HEXA.htm Aparentemente é um problema no site do seu estado.
  16. Anexe os dois XMLs.
  17. Vc se refere ao campo B20i? Veja quem é o pai dele.
×
×
  • 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.