Ir para conteúdo
  • Cadastre-se

Leao

Membros
  • Total de ítens

    432
  • Registro em

  • Última visita

Tudo que Leao postou

  1. Obrigado, porém, não dar certo, porque a chave no emissor gratuito, a chave é gerada aleatóriamente, e no meu fonte delphi7, é a mesma chave da nf-e. Fiz assim, Importar TXT/XML, ele pega a chave e grava no meu db. DNF.Modifica; DNF.SITUACAO.Conteudo :='AUTORIZADA'; // DNF.RECIBO_NFE.Conteudo := DNF.NUMERO_NFE.Conteudo :=procNFe.chNFe; DNF.NUMERO_PROTOCO.Conteudo:=procNFe.nProt; DNF.HORA_AUTORI.Conteudo :=DateTimeToStr(procNFe.dhRecbto); DNF.CSTAT.Conteudo :='100'; DNF.Salva; Obrigado, Leão
  2. por favor, alguém sabe tirar essa dúvida? Obrigado, Leão
  3. Régis, ao clicar no botão Criar\Enviar, estar ocorrendo a mesma mensagem de erro Na mesma tela mostra o número do certificado e senha e mostra normalmente ShowMessage('Certificado...:'+ACBrNFe1.Configuracoes.Certificados.NumeroSerie+#13+ ' Senha...: '+ACBrNFe1.Configuracoes.Certificados.Senha); Consulta usando o status serviço e mostra em operação normalmente. O que pode ser Obrigado, Leão Peço desculpa, falta enviar... try ACBrNFe1.Enviar(StrToInt(vNumLote)); except on e: Exception do ShowMessage('Falha ao enviar...: '+ e.Message); end; obrigado,
  4. Obrigado pela resposa, pequena dúvida. no cNF, passo a chave completa do certificado ou de 1 até 8 copy(chave,1,8) ? e o digito como passo esse parametro? · cNF - Código Numérico que compõe a Chave de Acesso //Diminuiu um dígito. De 9 passou para 8. · cDV - Dígito Verificador da Chave de Acesso estou usando o NotaUtil.ChaveAcesso para gerar a chave, existe outra forma? Obrigado, Leão
  5. Preciso processar meu db, e criar as chaves de acessos para cada nf-e, estava usando o emissor gratuito do governo, e para criar o sped fiscal precisa da chave, estou usando a função abaixo, tenho uma dúvida: vNumero := NotaUtil.Poem_Zeros(ANumero, 9); é o número da nf vCodigo := NotaUtil.Poem_Zeros(ACodigo, 9); vCodigo a quem refere? Gerei a chave usando os parametros mas deu diferente. Comparo com a emitida pelo emissor do governo gratuito. class function NotaUtil.ChaveAcesso(AUF: Integer; ADataEmissao: TDateTime; ACNPJ: String; ASerie, ANumero, ACodigo: Integer; AModelo: Integer): String; var vUF, vDataEmissao, vSerie, vNumero, vCodigo, vModelo: String; begin vUF := NotaUtil.Poem_Zeros(AUF, 2); vDataEmissao := FormatDateTime('YYMM', ADataEmissao); vModelo := NotaUtil.Poem_Zeros(AModelo, 2); vSerie := NotaUtil.Poem_Zeros(ASerie, 3); vNumero := NotaUtil.Poem_Zeros(ANumero, 9); vCodigo := NotaUtil.Poem_Zeros(ACodigo, 9); Result := vUF+vDataEmissao+ACNPJ+vModelo+vSerie+vNumero+vCodigo; Result := Result+NotaUtil.Modulo11(Result); end; Ou se alguém tiver outra função para criar-la, de já agradeço. Obrigado, Leão Denunciar esta mensagem
  6. Leao

    function NotaUtil.ChaveAcesso

    Preciso processar meu db, e criar as chaves de acessos para cada nf-e, estava usando o emissor gratuito do governo, e para criar o sped fiscal precisa da chave, estou usando a função abaixo, tenho uma dúvida: vNumero := NotaUtil.Poem_Zeros(ANumero, 9); é o número da nf vCodigo := NotaUtil.Poem_Zeros(ACodigo, 9); vCodigo a quem refere? Gerei a chave usando os parametros mas deu diferente. Comparo com a emitida pelo emissor do governo gratuito. class function NotaUtil.ChaveAcesso(AUF: Integer; ADataEmissao: TDateTime; ACNPJ: String; ASerie, ANumero, ACodigo: Integer; AModelo: Integer): String; var vUF, vDataEmissao, vSerie, vNumero, vCodigo, vModelo: String; begin vUF := NotaUtil.Poem_Zeros(AUF, 2); vDataEmissao := FormatDateTime('YYMM', ADataEmissao); vModelo := NotaUtil.Poem_Zeros(AModelo, 2); vSerie := NotaUtil.Poem_Zeros(ASerie, 3); vNumero := NotaUtil.Poem_Zeros(ANumero, 9); vCodigo := NotaUtil.Poem_Zeros(ACodigo, 9); Result := vUF+vDataEmissao+ACNPJ+vModelo+vSerie+vNumero+vCodigo; Result := Result+NotaUtil.Modulo11(Result); end; Ou se alguém tiver outra função para criar-la, de já agradeço. Obrigado, Leão
  7. Olá, Sobre nf-e, cancelada entra no sped fiscal, se sim, como diferenciar? Obrigado, Leão
  8. Régys, Muito obrigado por mais esta. Leão
  9. Régis, obrigado, Agora outra pergunta, o componente ACBrNFe.assinar, pode gerar a chave da nf-e, exatamente igual a das já emitidas? Pois preciso gerar essa chave nos movimento anteriores, meu db não tem essa chave, quais são os parametros para gerar a chave? Obrigado, Leão
  10. Olá, Estou iniciando a gerar o sped fiscal, e estou com uma dúvida, é preciso informar a chave da nf-e, em algum instante da geração do sped fiscal? Uso o emissor gratuito do governo, e não tenho essa informação no meu bd. Obrigado, Leão
  11. sim. Rapaz, na verdade era a sefaz, passei a manhã toda testando, depois descobrir ninguém estava conseguindo enviar-las. Agradeço a todos Obrigado. Leão
  12. Em anexo o .xml NFe sem autorização de Uso da SEFAZ Agradeço e obrigado, Leão 21111005517740000113550010000067061000067063-nfe.xml
  13. Agradeço a todos, mas de fato o meu campo era tipo alfanumerico então : DNF.HORA_AUTORI.Conteudo :=DateToStr(ACBrNFe1.NotasFiscais.Items.NFe.procNFe.dhRecbto); Obrigado, Leão
  14. Espeficamente qual? Realmente o meu campo alfanumerico, então: DNF.HORA_AUTORI.Conteudo :=DateToStr(ACBrNFe1.NotasFiscais.Items.NFe.procNFe.dhRecbto);
  15. Sábado estava emitindo nf-e, normalmente, hoje ao Criar\Enviar, estar ocorrendo essa mensagem O documento XML deve ter um elemento de nível superior A pagina XML nao pode ser exibida Não é possível exibir a entrada XML usando a folha de estilos . Corrija o erro e clique no botao Atualizar ou tente novamente mais tarde. -------------------------------------------------------------------------------- O documento XML deve ter um elemento de nível superior. Erro ao processar o recurso file:///D:/NOVO/Gerente_nfetemp.xml. Ao imprimir a nf-e, a taja informando : NFe sem autorizada pela sefaz de USO da SEFAZ Alguém sabe o que é isto? Agradeço e aguardo Leão
  16. Sábado estava emitindo nf-e, normalmente, hoje ao Criar\Enviar, estar ocorrendo essa mensagem O documento XML deve ter um elemento de nível superior A página XML não pode ser exibida Não é possível exibir a entrada XML usando a folha de estilos . Corrija o erro e clique no botão Atualizar ou tente novamente mais tarde. -------------------------------------------------------------------------------- O documento XML deve ter um elemento de nível superior. Erro ao processar o recurso 'file:///D:/NOVO/Gerente_nfetemp.xml'. Ao imprimir a nf-e, a taja informando : NFe sem autorizada pela sefaz de USO da SEFAZ Alguém sabe o que é isto? Agradeço e aguardo Leão ------------------[ Resolvido ]-------------- Peça desculpa, faltava enviar... try ACBrNFe1.Enviar(StrToInt(vNumLote)); except on e: Exception do ShowMessage('Falha ao enviar...: '+ e.Message); end; Obrigado, Leão
  17. Obrigado, Régis, mas o detalhe é não consta DhRecbto ACBrNFe.WebServices.Cancelamento.DhRecbto; no delhpi7, o que pode ser? Aguardo e obrigado, Leão
  18. Olá, Preciso gravar no db, data de autorização\cancelamento trabalho com delhi7, no componente não existe o dhRecbto 2011-10-03T11:24:25 Alguém tem a solução Obrigado, Leão
  19. Nome estado estava errado cUF obrigado, Leão
  20. Olá, Após gerar o .xml, beleza, ao solicitar para imprimir o danfe, mostra a mensagem: Invalid Project Format, interessante é que usando o próprio demo, funciona certinho e também o ACBrNFeMonitor imprimir. ao clikar no botão para visualizar ou imprimir, ele abri o formulário ACBrNFeDANGERave.pas, na linha 152 with dmDanfe.RvProject.ProjMan do A versão do ACBrNFe = Versão: 0.4.0a A versão do Rave Reports = 5.0 Trabalho com delphi7 O arquivo NotaFiscalEletronica.rav é de 27/09/2011 as 16:21 O arquivo DANFE.FR3 = 13/07/2011 as 16:00 da para D:\Acbr\Exemplos\ACBrNFe2\Delphi\Report e já testei também os da pasta D:\Acbr\Exemplos\ACBrNFe\Delphi\Report Já procurei o fórum, e não encontrei a solução, Agradeço a ajuda dos amigos. Obrigado, Leão ************[ Solução ]******************* Na verdade o erro era: ACBrNFeDANFERave1.RavFile:=Sistema.Pasta; o certo ACBrNFeDANFERave1.RavFile:=Sistema.Pasta+'NotaFiscalEletronica.rav'; Obrigado, Leão
  21. Agradeço ao amigo, mas na verdade era o mod(modelo da nfe), estava fazio.informar 55 agora estar certo. Obrigado, Leão
  22. O problema era o campo cUF, estava vazio... contudo, obrigado, Leão No botão Criar e Enviar, existe este procedimento conforme o demo, inclusive o mesmo não funciona. Creio que falta algo sobre validar, assinar e transmtir. procedure TFormNFe_gerar.btnCriarEnviarClick(Sender: TObject); var vAux, vNumLote : String; begin ACBrNFe1.NotasFiscais.Clear; if DNF.SITUACAO.Conteudo='Autorizada' then begin ShowMessage('NF-e, já autorizada não pode excluir...'); XNumEdit1.SetFocus; end; if DNF.SITUACAO.Conteudo='Cancelada' then begin ShowMessage('NF-e, cancelada não pode re-inviar, faça consulta...'); XNumEdit1.SetFocus; end; if DNF.NUMERO_NFE.Conteudo<>'' then begin ShowMessage('NF-e, contém chave, não pode re-inviar, faça consulta...'); XNumEdit1.SetFocus; end; vAux:=XNumEdit1.Text; vNumLote:='1'; if not(InputQuery('WebServices Enviar', 'Numero da Nota', vAux)) then exit; if not(InputQuery('WebServices Enviar', 'Numero do Lote', vNumLote)) then exit; vNumLote := OnlyNumber(vNumLote); if Trim(vNumLote) = '' then begin MessageDlg('Número do Lote inválido.',mtError,[mbok],0); exit; end; // ACBrNFe1.NotasFiscais.Clear; {ACBrNFe1.NotasFiscais.GerarNFe; ACBrNFe1.NotasFiscais.Assinar; ACBrNFe1.NotasFiscais.Valida; ACBrNFe1.WebServices.Envia(); } // ACBrNFe1.NotasFiscais.GerarNFe(vAux); GerarNFe(vAux); { try ACBrNFe1.NotasFiscais.Assinar; except on e: Exception do ShowMessage('Assinatura inválida! '+ e.Message); end; } // ACBrNFe1.Enviar(1,false); ACBrNFe1.Enviar(vNumLote); // ACBrNFe1.Enviar(StrToInt(vNumLote)); if ACBrNFe1.WebServices.Retorno.cStat = 105 then // Lote em processamento begin repeat Application.MessageBox('Envio da NFE - Lote em processamento.' +#13 + 'Aguarde 5 minutos e Clique em OK !!!', 'Leão Informática', MB_OK); ACBrNFe1.WebServices.Retorno.Recibo := ACBrNFe1.WebServices.Enviar.Recibo; until ACBrNFe1.WebServices.Retorno.Executar; end; if ACBrNFe1.WebServices.Retorno.cStat = 100 then // Autorizado o uso da NF-e begin TabGlobal.DNF.Filtro.Clear; TabGlobal.DNF.Filtro.Add('NF = '+IntToStr(DNF.NF.Conteudo)); TabGlobal.DNF.Filtro.Add('AND MODELO = '+#39+DNF.MODELO.Conteudo+#39); TabGlobal.DNF.Filtro.Add('AND SERIE = '+#39+DNF.SERIE.Conteudo+#39); TabGlobal.DNF.AtualizaSql; if not TabGlobal.DNF.Eof then begin DNF.Modifica; DNF.SITUACAO.Conteudo :='Autorizada'; DNF.RECIBO_NFE.Conteudo :=ACBrNFe1.WebServices.Retorno.Recibo; DNF.NUMERO_NFE.Conteudo :=ACBrNFe1.WebServices.Retorno.ChaveNFe; DNF.NUMERO_PROTOCO.Conteudo:=ACBrNFe1.WebServices.Retorno.Protocolo; DNF.CSTAT.Conteudo :='100'; DNF.Salva; end; TabGlobal.DNF.Filtro.Clear; TabGlobal.DNF.AtualizaSql; end; MemoResp.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Retorno.RetWS); memoRespWS2.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Retorno.RetornoWS); LoadXML(MemoResp, WBResposta); MemoDados.Lines.Add(''); MemoDados.Lines.Add('Envio NFe'); MemoDados.Lines.Add('tpAmb: '+ TpAmbToStr(ACBrNFe1.WebServices.Retorno.TpAmb)); MemoDados.Lines.Add('verAplic: '+ ACBrNFe1.WebServices.Retorno.verAplic); MemoDados.Lines.Add('cStat: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cStat)); MemoDados.Lines.Add('cUF: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cUF)); MemoDados.Lines.Add('xMotivo: '+ ACBrNFe1.WebServices.Retorno.xMotivo); MemoDados.Lines.Add('cMsg: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cMsg)); MemoDados.Lines.Add('xMsg: '+ ACBrNFe1.WebServices.Retorno.xMsg); MemoDados.Lines.Add('Recibo: '+ ACBrNFe1.WebServices.Retorno.Recibo); MemoDados.Lines.Add('Protocolo: '+ ACBrNFe1.WebServices.Retorno.Protocolo); // MemoDados.Lines.Add('cStat: '+ ACBrNFe1.WebServices.Retorno.NFeRetorno); ACBrNFe1.NotasFiscais.Clear; end; Por favor, alguém pode ajudar, Não consigo gerar nem o xml. Obrigado e aguardo Leão **************[ a função GerarNFe - com informações da nf-e]**************** procedure TFormNFe_gerar.GerarNFe(NumNFe : String); var CamposResultado_cliente,CamposResultado_prod,CamposResultado_transp,CamposResultado_cfop:variant; vconte:integer; docnpj1,docnpj2:string; begin { if ComboBox1_pagto.ItemIndex=0 then xforma:='0'; if ComboBox1_pagto.ItemIndex=1 then xforma:='1'; if ComboBox1_pagto.ItemIndex=2 then xforma:='2'; } PTabela(TabGlobal.DClientes,['CODIGO'],[DNF.COD_CLIENTE.Conteudo], ['SUFRAMA','OUTRAS_OBS1'],CamposResultado_cliente); with ACBrNFe1.NotasFiscais.Add.NFe do begin Ide.cNF := StrToInt(NumNFe); //Caso não seja preenchido será gerado um número aleatório pelo componente Ide.natOp := RemoveAcentos(DNF.NOME_CFOP.Conteudo);//'VENDA PRODUCAO DO ESTAB.'; If ComboBox1_pagto.ItemIndex = 0 then Ide.indPag := ipVista Else if ComboBox1_pagto.ItemIndex = 1 then Ide.indPag := ipPrazo Else If ComboBox1_pagto.ItemIndex = 2 then Ide.indPag := ipOutras; Ide.modelo := StrToInt(DNF.MODELO.Conteudo); //55; Ide.serie := StrToInt(DNF.SERIE.Conteudo); //1; Ide.nNF := DNF.NF.Conteudo; //StrToInt(NumNFe); Ide.dEmi := DNF.EMISSAO.Conteudo; //Date; Ide.dSaiEnt := DNF.DATA_SAIDA.Conteudo;// Date; Ide.hSaiEnt := Now; if DNF.SAIDA_ENTRADA.Conteudo='S' then //,'1','0') Ide.tpNF := tnSaida else Ide.tpNF := tnEntrada; if TabGlobal.DConf_NFe.FORMA_EMIS_NF.Conteudo=1 then Ide.tpEmis := teNormal else if TabGlobal.DConf_NFe.FORMA_EMIS_NF.Conteudo=2 then Ide.tpEmis := teContingencia else if TabGlobal.DConf_NFe.FORMA_EMIS_NF.Conteudo=3 then Ide.tpEmis := teSCAN else if TabGlobal.DConf_NFe.FORMA_EMIS_NF.Conteudo=4 then Ide.tpEmis := teDPEC; if TabGlobal.DConf_NFe.IDENTIF_AMBIENTE.Conteudo=1 then Ide.tpAmb := taProducao //Lembre-se de trocar esta variável quando for para ambiente de produção else Ide.tpAmb := taHomologacao; Ide.verProc := '1.0.0.0'; //Versão do seu sistema Ide.cUF := NotaUtil.UFtoCUF(TabGlobal.DConf_NFe.COD_UF.Conteudo);//NotaUtil.UFtoCUF(edtEmitUF.Text); Ide.cMunFG := StrToInt(TabGlobal.DConf_NFe.COD_CIDADE.Conteudo);//StrToInt(edtEmitCodCidade.Text); if TabGlobal.DConf_NFe.FINALIDADE_EMISSAO_NF.Conteudo='1' then Ide.finNFe := fnNormal else if TabGlobal.DConf_NFe.FINALIDADE_EMISSAO_NF.Conteudo='2' then Ide.finNFe := fnComplementar else if TabGlobal.DConf_NFe.FINALIDADE_EMISSAO_NF.Conteudo='3' then Ide.finNFe := fnAjuste; //Para NFe referenciada use os campos abaixo { with Ide.NFref.Add do begin refNFe := ''; //NFe Eletronica RefNF.cUF := 0; // | RefNF.AAMM := ''; // | RefNF.CNPJ := ''; // | RefNF.modelo := 1; // |- NFe Modelo 1/1A RefNF.serie := 1; // | RefNF.nNF := 0; // | RefNFP.cUF := 0; // | RefNFP.AAMM := ''; // | RefNFP.CNPJCPF := ''; // | RefNFP.IE := ''; // |- NF produtor Rural RefNFP.modelo := ''; // | RefNFP.serie := 1; // | RefNFP.nNF := 0; // | RefECF.modelo := ECFModRef2B; // | RefECF.nECF := ''; // |- Cupom Fiscal RefECF.nCOO := ''; // | end; } Emit.CNPJCPF := TabGlobal.DConf_NFe.CNPJ.Conteudo; //edtEmitCNPJ.Text; Emit.IE := TabGlobal.DConf_NFe.INSCR_EMPRESA.Conteudo; //edtEmitIE.Text; Emit.xNome := TabGlobal.DConf_NFe.RAZAO_SOCIAL.Conteudo; //edtEmitRazao.Text; Emit.xFant := TabGlobal.DConf_NFe.NOME_FANTASIA.Conteudo; //edtEmitFantasia.Text; Emit.EnderEmit.fone := TabGlobal.DConf_NFe.TELEFONE.Conteudo; //edtEmitFone.Text; Emit.EnderEmit.CEP := StrToInt(TabGlobal.DConf_NFe.CEP.ValorString); //StrToInt(edtEmitCEP.Text); Emit.EnderEmit.xLgr := TabGlobal.DConf_NFe.ENDERECO.Conteudo; //edtEmitLogradouro.Text; Emit.EnderEmit.nro := TabGlobal.DConf_NFe.END_NR.Conteudo;// edtEmitNumero.Text; Emit.EnderEmit.xCpl := TabGlobal.DConf_NFe.COMPL_ENDE.Conteudo; //edtEmitComp.Text; Emit.EnderEmit.xBairro := TabGlobal.DConf_NFe.BAIRRO.Conteudo; //edtEmitBairro.Text; Emit.EnderEmit.cMun := StrToInt(TabGlobal.DConf_NFe.COD_CIDADE.Conteudo);// StrToInt(edtEmitCodCidade.Text); Emit.EnderEmit.xMun := TabGlobal.DConf_NFe.CIDADE.Conteudo; //edtEmitCidade.Text; Emit.EnderEmit.UF := TabGlobal.DConf_NFe.UF.Conteudo; //edtEmitUF.Text; Emit.enderEmit.cPais := StrToInt(TabGlobal.DConf_NFe.COD_PAIS.conteudo); //1058; Emit.enderEmit.xPais := TabGlobal.DConf_NFe.NOME_PAIS.Conteudo; //'BRASIL'; Emit.IEST := ''; Emit.IM := ''; // Preencher no caso de existir serviços na nota Emit.CNAE := ''; // Verifique na cidade do emissor da NFe se é permitido // a inclusão de serviços na NFe if TabGlobal.DConf_NFe.REGIME_TRIBUTARIO.Conteudo='1' then Emit.CRT := crtSimplesNacional else if TabGlobal.DConf_NFe.REGIME_TRIBUTARIO.Conteudo='2' then Emit.CRT := crtSimplesExcessoReceita else if TabGlobal.DConf_NFe.REGIME_TRIBUTARIO.Conteudo='3' then Emit.CRT := crtRegimeNormal; //Para NFe Avulsa preencha os campos abaixo { Avulsa.CNPJ := ''; Avulsa.xOrgao := ''; Avulsa.matr := ''; Avulsa.xAgente := ''; Avulsa.fone := ''; Avulsa.UF := ''; Avulsa.nDAR := ''; Avulsa.dEmi := now; Avulsa.vDAR := 0; Avulsa.repEmi := ''; Avulsa.dPag := now; } Dest.CNPJCPF := DNF.CNPJ_CPF.Conteudo; //'05481336000137'; Dest.IE := DNF.INSCR_EST.Conteudo;// '687138770110'; if not VarIsNull(CamposResultado_cliente[0]) then Dest.ISUF :=CamposResultado_cliente[0] else Dest.ISUF := ''; Dest.xNome := DNF.NOME_CLIENTE.Conteudo; //'D.J. COM. E LOCAÇÃO DE SOFTWARES LTDA - ME'; Dest.EnderDest.Fone := DNF.FONE.Conteudo; //'1532599600'; Dest.EnderDest.CEP := StrToInt(DNF.CEP.Conteudo); //18270410; Dest.EnderDest.xLgr := ''; //'Praça Anita Costa'; Dest.EnderDest.nro := ''; //0034'; Dest.EnderDest.xCpl := ''; Dest.EnderDest.xBairro := DNF.BAIRRO.Conteudo; //'Centro'; Dest.EnderDest.cMun := StrToInt(DNF.COD_MUNIC.Conteudo);// 3554003; Dest.EnderDest.xMun := DNF.MUNICIPIO.Conteudo; //'Tatuí'; Dest.EnderDest.UF := DNF.UF.Conteudo; //'SP'; Dest.EnderDest.cPais := 1058; Dest.EnderDest.xPais := 'BRASIL'; //Use os campos abaixo para informar o endereço de retirada quando for diferente do Remetente/Destinatário { Retirada.CNPJCPF := ''; Retirada.xLgr := ''; Retirada.nro := ''; Retirada.xCpl := ''; Retirada.xBairro := ''; Retirada.cMun := 0; Retirada.xMun := ''; Retirada.UF := '';} //Use os campos abaixo para informar o endereço de entrega quando for diferente do Remetente/Destinatário { Entrega.CNPJCPF := ''; Entrega.xLgr := ''; Entrega.nro := ''; Entrega.xCpl := ''; Entrega.xBairro := ''; Entrega.cMun := 0; Entrega.xMun := ''; Entrega.UF := '';} vconte:=0; //Adicionando Produtos DNF_ITENS.First; while not DNF_ITENS.Eof do begin with Det.Add do begin vconte:=vconte + 1; Prod.nItem := vconte; //1; // Número sequencial, para cada item deve ser incrementado Prod.cProd := DNF_ITENS.COD_PRODUTO.ValorString; //'123456'; Prod.cEAN := DNF_ITENS.COD_BARRA.ValorString; //'1234567890123'; Prod.xProd := DNF_ITENS.NOME_PRODUTO.Conteudo; //'Descrição do Produto'; Prod.NCM := DNF_ITENS.NCM.Conteudo; //'12345678'; // Tabela NCM disponível em Prod.EXTIPI := ''; Prod.CFOP := DNF_ITENS.COD_CFOP2.ValorString; //'5101'; Prod.uCom := DNF_ITENS.UNID.Conteudo; //'UN'; Prod.qCom := DNF_ITENS.QUANTIDADE.Conteudo; // 1 ; Prod.vUnCom := DNF_ITENS.PRECO_UNITARIO.Conteudo; //100; Prod.vProd := DNF_ITENS.TOTAL.Conteudo; //100 ; Prod.cEANTrib := ''; Prod.uTrib := DNF_ITENS.UNID.Conteudo; //'UN'; Prod.qTrib := DNF_ITENS.QUANTIDADE.Conteudo; //1; Prod.vUnTrib := DNF_ITENS.PRECO_UNITARIO.Conteudo; //100; if (vconte=1) and (DNF.VALOR_FRETE.Conteudo>0) then Prod.vFrete := DNF.VALOR_FRETE.Conteudo else Prod.vFrete :=0; if (vconte=1) and (DNF.VALOR_SEGURO.Conteudo>0) then Prod.vSeg := DNF.VALOR_SEGURO.Conteudo else Prod.vSeg := 0; Prod.vDesc := DNF_ITENS.VALOR_DESC.Conteudo; infAdProd :='';// 'Informação Adicional do Produto'; //Declaração de Importação. Pode ser adicionada várias através do comando Prod.DI.Add { with Prod.DI.Add do begin nDi := ''; dDi := now; xLocDesemb := ''; UFDesemb := ''; dDesemb := now; cExportador := ''; with adi.Add do begin nAdicao := 1; nSeqAdi := 1; cFabricante := ''; vDescDI := 0; end; end; } //Campos para venda de veículos novos { with Prod.veicProd do begin tpOP := toVendaConcessionaria; chassi := ''; cCor := ''; xCor := ''; pot := ''; Cilin := ''; pesoL := ''; pesoB := ''; nSerie := ''; tpComb := ''; nMotor := ''; CMT := ''; dist := ''; RENAVAM := ''; anoMod := 0; anoFab := 0; tpPint := ''; tpVeic := 0; espVeic := 0; VIN := ''; condVeic := cvAcabado; cMod := ''; end; } //Campos específicos para venda de medicamentos { with Prod.med.Add do begin nLote := ''; qLote := 0 ; dFab := now ; dVal := now ; vPMC := 0 ; end; } //Campos específicos para venda de armamento { with Prod.arma.Add do begin nSerie := 0; tpArma := taUsoPermitido ; nCano := 0 ; descr := '' ; end; } //Campos específicos para venda de combustível(distribuidoras) { with Prod.comb do begin cProdANP := 0; CODIF := ''; qTemp := 0; CIDE.qBCprod := 0 ; CIDE.vAliqProd := 0 ; CIDE.vCIDE := 0 ; ICMS.vBCICMS := 0 ; ICMS.vICMS := 0 ; ICMS.vBCICMSST := 0 ; ICMS.vICMSST := 0 ; ICMSInter.vBCICMSSTDest := 0 ; ICMSInter.vICMSSTDest := 0 ; ICMSCons.vBCICMSSTCons := 0 ; ICMSCons.vICMSSTCons := 0 ; ICMSCons.UFcons := '' ; end;} with Imposto do begin with ICMS do begin PTabela(TabGlobal.DProdutos,['CODIGO'],[DNF_ITENS.COD_PRODUTO.Conteudo], ['COD_FABRICA','CLASSIF_FISCAL','ORIGEM_MERC','UNIDADE','PERC_AGREGAR','TRIBUTADO', 'CHASSI','COR_MONTADORA','COR_DESCR','POTENCIA_MOTO','CM3_POTENCIA','SERIAL_MOTOR', 'TIPO_COMB','NUMERO_MOTOR','CMKG','DISTANCIA_EIXO','RENAVAM','ANOMODELO','ANOFABR', 'TIPO_PINTURA','TIPO_VEIC','ESPECIE_VEIC','CONDI_VIN','COND_VEIC','COD_MAR_MOD', 'TIPO_OPER','PESO_LIQUIDO','PESO_BRUTO','TRIB_OUTRO'],CamposResultado_prod); // 25 26 27 28 { Para o Simples Nacional você deve informar o CRT da empresa... Código: Emit.CRT := crtSimplesNacional ... e usar CSOSN (101, 102, 103, 201, 202, 203, 300, 400, 500 ou 900) para os produtos, ao invés do CST... CSOSN := csosn101; Sérgio } //empresa 3-Normal if TabGlobal.DConf_NFe.REGIME_TRIBUTARIO.Conteudo='3' then begin if DNF_ITENS.COD_CST_TRIB.Conteudo='00' then begin CST := cst00; //cst00; if DNF_ITENS.ORIGEM_MERC.Conteudo='0' then ICMS.orig := oeNacional else if DNF_ITENS.ORIGEM_MERC.Conteudo='1' then ICMS.orig := oeEstrangeiraImportacaoDireta else if DNF_ITENS.ORIGEM_MERC.Conteudo='2' then ICMS.orig := oeEstrangeiraAdquiridaBrasil; //Modalidade de determinação BC do ICMS if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='0' then ICMS.modBC := dbiValorOperacao else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='1' then ICMS.modBC := dbiPauta else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='2' then ICMS.modBC := dbiPrecoTabelado else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='3' then ICMS.modBC := dbiValorOperacao; ICMS.vBC := DNF_ITENS.BASE_ICMS.Conteudo; //100; ICMS.pICMS := DNF_ITENS.ALIQ_ICMS.Conteudo; //18; ICMS.vICMS := DNF_ITENS.VALOR_ICMS.Conteudo; //18; ICMS.modBCST := dbisMargemValorAgregado; ICMS.pMVAST := 0; ICMS.pRedBCST:= 0; ICMS.vBCST := 0; ICMS.pICMSST := 0; ICMS.vICMSST := 0; ICMS.pRedBC := 0; end; //fim 00 //cst10 if DNF_ITENS.COD_CST_TRIB.Conteudo='10' then begin CST := cst10; if DNF_ITENS.ORIGEM_MERC.Conteudo='0' then ICMS.orig := oeNacional else if DNF_ITENS.ORIGEM_MERC.Conteudo='1' then ICMS.orig := oeEstrangeiraImportacaoDireta else if DNF_ITENS.ORIGEM_MERC.Conteudo='2' then ICMS.orig := oeEstrangeiraAdquiridaBrasil; //Modalidade de determinação BC do ICMS if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='0' then ICMS.modBC := dbiValorOperacao else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='1' then ICMS.modBC := dbiPauta else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='2' then ICMS.modBC := dbiPrecoTabelado else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='3' then ICMS.modBC := dbiValorOperacao; ICMS.vBC := DNF_ITENS.BASE_ICMS.Conteudo; //100; ICMS.pICMS := DNF_ITENS.ALIQ_ICMS.Conteudo; //18; ICMS.vICMS := DNF_ITENS.VALOR_ICMS.Conteudo; //18; //Mod.Det.BC.ICMS.ST if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS_ST.Conteudo='0' then ICMS.modBCST := dbisPrecoTabelado else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS_ST.Conteudo='1' then ICMS.modBCST := dbisListaNegativa else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS_ST.Conteudo='2' then ICMS.modBCST := dbisListaPositiva else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS_ST.Conteudo='3' then ICMS.modBCST := dbisListaNeutra else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS_ST.Conteudo='4' then ICMS.modBCST := dbisMargemValorAgregado else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS_ST.Conteudo='5' then ICMS.modBCST := dbisPauta; if CamposResultado_prod[4]>0 then ICMS.pMVAST := CamposResultado_prod[4] //0; else ICMS.pMVAST := 0; ICMS.pRedBCST:= TabGlobal.DNF_ITENS.PREDBCST.Conteudo; ICMS.vBCST := DNF_ITENS.BASE_SUBST.Conteudo; ICMS.pICMSST := 0; ICMS.vICMSST := DNF_ITENS.VALOR_SUBST.Conteudo; ICMS.pRedBC := 0; end; //fim cst 10 //cst20 if DNF_ITENS.COD_CST_TRIB.Conteudo='20' then begin CST := cst20; if DNF_ITENS.ORIGEM_MERC.Conteudo='0' then ICMS.orig := oeNacional else if DNF_ITENS.ORIGEM_MERC.Conteudo='1' then ICMS.orig := oeEstrangeiraImportacaoDireta else if DNF_ITENS.ORIGEM_MERC.Conteudo='2' then ICMS.orig := oeEstrangeiraAdquiridaBrasil; //Modalidade de determinação BC do ICMS if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='0' then ICMS.modBC := dbiValorOperacao else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='1' then ICMS.modBC := dbiPauta else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='2' then ICMS.modBC := dbiPrecoTabelado else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='3' then ICMS.modBC := dbiValorOperacao; ICMS.vBC := DNF_ITENS.BASE_ICMS.Conteudo; //100; ICMS.pICMS := DNF_ITENS.ALIQ_ICMS.Conteudo; //18; ICMS.vICMS := DNF_ITENS.VALOR_ICMS.Conteudo; //18; ICMS.modBCST := dbisMargemValorAgregado; ICMS.pMVAST := 0; ICMS.pRedBCST:= 0; ICMS.vBCST := 0; ICMS.pICMSST := 0; ICMS.vICMSST := 0; ICMS.pRedBC := 0; end; //fim 20 //cst 40 if DNF_ITENS.COD_CST_TRIB.Conteudo='40' then begin CST := cst40; //cst00; if DNF_ITENS.ORIGEM_MERC.Conteudo='0' then ICMS.orig := oeNacional else if DNF_ITENS.ORIGEM_MERC.Conteudo='1' then ICMS.orig := oeEstrangeiraImportacaoDireta else if DNF_ITENS.ORIGEM_MERC.Conteudo='2' then ICMS.orig := oeEstrangeiraAdquiridaBrasil; //Modalidade de determinação BC do ICMS ICMS.modBC := dbiValorOperacao; ICMS.vBC := 0; ICMS.pICMS := 0; ICMS.vICMS := 0; ICMS.modBCST := dbisMargemValorAgregado; ICMS.pMVAST := 0; ICMS.pRedBCST:= 0; ICMS.vBCST := 0; ICMS.pICMSST := 0; ICMS.vICMSST := 0; ICMS.pRedBC := 0; end; //fim 40 //cst 41 if DNF_ITENS.COD_CST_TRIB.Conteudo='41' then begin CST := cst41; if DNF_ITENS.ORIGEM_MERC.Conteudo='0' then ICMS.orig := oeNacional else if DNF_ITENS.ORIGEM_MERC.Conteudo='1' then ICMS.orig := oeEstrangeiraImportacaoDireta else if DNF_ITENS.ORIGEM_MERC.Conteudo='2' then ICMS.orig := oeEstrangeiraAdquiridaBrasil; //Modalidade de determinação BC do ICMS ICMS.modBC := dbiValorOperacao; ICMS.vBC := 0; ICMS.pICMS := 0; ICMS.vICMS := 0; ICMS.modBCST := dbisMargemValorAgregado; ICMS.pMVAST := 0; ICMS.pRedBCST:= 0; ICMS.vBCST := 0; ICMS.pICMSST := 0; ICMS.vICMSST := 0; ICMS.pRedBC := 0; end; //fim 41 //cst 50 if DNF_ITENS.COD_CST_TRIB.Conteudo='50' then begin CST := cst50; if DNF_ITENS.ORIGEM_MERC.Conteudo='0' then ICMS.orig := oeNacional else if DNF_ITENS.ORIGEM_MERC.Conteudo='1' then ICMS.orig := oeEstrangeiraImportacaoDireta else if DNF_ITENS.ORIGEM_MERC.Conteudo='2' then ICMS.orig := oeEstrangeiraAdquiridaBrasil; //Modalidade de determinação BC do ICMS ICMS.modBC := dbiValorOperacao; ICMS.vBC := 0; ICMS.pICMS := 0; ICMS.vICMS := 0; ICMS.modBCST := dbisMargemValorAgregado; ICMS.pMVAST := 0; ICMS.pRedBCST:= 0; ICMS.vBCST := 0; ICMS.pICMSST := 0; ICMS.vICMSST := 0; ICMS.pRedBC := 0; end; //fim 50 //cst 51 if DNF_ITENS.COD_CST_TRIB.Conteudo='51' then begin CST := cst51; if DNF_ITENS.ORIGEM_MERC.Conteudo='0' then ICMS.orig := oeNacional else if DNF_ITENS.ORIGEM_MERC.Conteudo='1' then ICMS.orig := oeEstrangeiraImportacaoDireta else if DNF_ITENS.ORIGEM_MERC.Conteudo='2' then ICMS.orig := oeEstrangeiraAdquiridaBrasil; //Modalidade de determinação BC do ICMS if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='0' then ICMS.modBC := dbiValorOperacao else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='1' then ICMS.modBC := dbiPauta else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='2' then ICMS.modBC := dbiPrecoTabelado else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='3' then ICMS.modBC := dbiValorOperacao; ICMS.vBC := DNF_ITENS.BASE_ICMS.Conteudo; //100; ICMS.pICMS := DNF_ITENS.ALIQ_ICMS.Conteudo; //18; ICMS.vICMS := DNF_ITENS.VALOR_ICMS.Conteudo; //18; ICMS.pMVAST := 0; ICMS.pRedBCST:= 0; ICMS.vBCST := 0; ICMS.pICMSST := 0; ICMS.vICMSST := 0; ICMS.pRedBC := 0; end; //fim 51 //cst 60 if DNF_ITENS.COD_CST_TRIB.Conteudo='60' then begin CST := cst60; if DNF_ITENS.ORIGEM_MERC.Conteudo='0' then ICMS.orig := oeNacional else if DNF_ITENS.ORIGEM_MERC.Conteudo='1' then ICMS.orig := oeEstrangeiraImportacaoDireta else if DNF_ITENS.ORIGEM_MERC.Conteudo='2' then ICMS.orig := oeEstrangeiraAdquiridaBrasil; //Modalidade de determinação BC do ICMS if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='0' then ICMS.modBC := dbiValorOperacao else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='1' then ICMS.modBC := dbiPauta else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='2' then ICMS.modBC := dbiPrecoTabelado else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='3' then ICMS.modBC := dbiValorOperacao; ICMS.vBC := DNF_ITENS.BASE_ICMS.Conteudo; //100; ICMS.pICMS := DNF_ITENS.ALIQ_ICMS.Conteudo; //18; ICMS.vICMS := DNF_ITENS.VALOR_ICMS.Conteudo; //18; ICMS.pMVAST := 0; ICMS.pRedBCST:= 0; ICMS.vBCST := DNF_ITENS.BASE_SUBST.Conteudo; ICMS.pICMSST := 0; ICMS.vICMSST := DNF_ITENS.VALOR_SUBST.Conteudo; ICMS.pRedBC := 0; end; //fim 60 //cst 70 if DNF_ITENS.COD_CST_TRIB.Conteudo='70' then begin CST := cst70; if DNF_ITENS.ORIGEM_MERC.Conteudo='0' then ICMS.orig := oeNacional else if DNF_ITENS.ORIGEM_MERC.Conteudo='1' then ICMS.orig := oeEstrangeiraImportacaoDireta else if DNF_ITENS.ORIGEM_MERC.Conteudo='2' then ICMS.orig := oeEstrangeiraAdquiridaBrasil; //Modalidade de determinação BC do ICMS if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='0' then ICMS.modBC := dbiValorOperacao else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='1' then ICMS.modBC := dbiPauta else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='2' then ICMS.modBC := dbiPrecoTabelado else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='3' then ICMS.modBC := dbiValorOperacao; ICMS.vBC := DNF_ITENS.BASE_ICMS.Conteudo; //100; ICMS.pICMS := DNF_ITENS.ALIQ_ICMS.Conteudo; //18; ICMS.vICMS := DNF_ITENS.VALOR_ICMS.Conteudo; //18; if CamposResultado_prod[4]>0 then ICMS.pMVAST := CamposResultado_prod[4] //0; else ICMS.pMVAST := 0; ICMS.pRedBCST:= TabGlobal.DNF_ITENS.PREDBCST.Conteudo; ICMS.vBCST := DNF_ITENS.BASE_SUBST.Conteudo; ICMS.pICMSST := 0; ICMS.vICMSST := DNF_ITENS.VALOR_SUBST.Conteudo; ICMS.pRedBC := 0; end; //fim 70 end; //fim empresa normal //empresa 1-Simples Nacional if TabGlobal.DConf_NFe.REGIME_TRIBUTARIO.Conteudo='1' then begin if DNF_ITENS.COD_CST_SIM_NAC.Conteudo='101' then begin CSOSN := csosn101; if DNF_ITENS.ORIGEM_MERC.Conteudo='0' then orig := oeNacional else if DNF_ITENS.ORIGEM_MERC.Conteudo='1' then orig := oeEstrangeiraImportacaoDireta else if DNF_ITENS.ORIGEM_MERC.Conteudo='2' then orig := oeEstrangeiraAdquiridaBrasil; pCredSN :=DNF_ITENS.PCREDSN.Conteudo; vCredICMSSN :=DNF_ITENS.VCREDICMSSN.Conteudo; end; //fim 101 if DNF_ITENS.COD_CST_SIM_NAC.Conteudo='102' then begin CSOSN := csosn102; if DNF_ITENS.ORIGEM_MERC.Conteudo='0' then orig := oeNacional else if DNF_ITENS.ORIGEM_MERC.Conteudo='1' then orig := oeEstrangeiraImportacaoDireta else if DNF_ITENS.ORIGEM_MERC.Conteudo='2' then orig := oeEstrangeiraAdquiridaBrasil; end; //fim 102 { CSOSN201 - Preencher e calcular os campos: Orig CSOSN modBCST pMVAST pRedBCST vBCST pICMSST vICMSST pCredSN vCredICMSSN CSOSN900 - Preencher e calcular os campos: Orig CSOSN modBC vBC pRedBC pICMS vICMS modBCST pMVAST pRedBCST vBCST pICMSST vICMSST pCredSN vCredICMSST } end; //fim empresa simples nacional end; with IPI do begin if (TabGlobal.DConf_NFe.CST_IPI.Conteudo='00') or (TabGlobal.DConf_NFe.CST_IPI.Conteudo='49') or (TabGlobal.DConf_NFe.CST_IPI.Conteudo='50') or (TabGlobal.DConf_NFe.CST_IPI.Conteudo='99') then begin if (DNF_ITENS.VALOR_IPI.Conteudo>0) and (DNF_ITENS.PRECO_UNITARIO.Conteudo>0) and (DNF_ITENS.ALIQ_IPI.Conteudo>0) and (DNF_ITENS.TOTAL.Conteudo>0) then begin if TabGlobal.DConf_NFe.CST_IPI.Conteudo='00' then CST := ipi00; if TabGlobal.DConf_NFe.CST_IPI.Conteudo='49' then CST := ipi49; if TabGlobal.DConf_NFe.CST_IPI.Conteudo='50' then CST := ipi50; if TabGlobal.DConf_NFe.CST_IPI.Conteudo='99' then CST := ipi99; clEnq := ''; CNPJProd := ''; cSelo := ''; qSelo := 0; cEnq := '999'; //Código de Enquadramento Legal do IPI 999 vBC := DNF_ITENS.TOTAL.Conteudo; qUnid := 0; vUnid := 0; pIPI := DNF_ITENS.ALIQ_IPI.Conteudo; vIPI := DNF_ITENS.VALOR_IPI.Conteudo; end; end; //ipi com valores //ipi sem valores if (TabGlobal.DConf_NFe.CST_IPI.Conteudo='01') or (TabGlobal.DConf_NFe.CST_IPI.Conteudo='02') or (TabGlobal.DConf_NFe.CST_IPI.Conteudo='04') or (TabGlobal.DConf_NFe.CST_IPI.Conteudo='05') or (TabGlobal.DConf_NFe.CST_IPI.Conteudo='51') or (TabGlobal.DConf_NFe.CST_IPI.Conteudo='52') or (TabGlobal.DConf_NFe.CST_IPI.Conteudo='53') or (TabGlobal.DConf_NFe.CST_IPI.Conteudo='54') or (TabGlobal.DConf_NFe.CST_IPI.Conteudo='55') then begin if TabGlobal.DConf_NFe.CST_IPI.Conteudo='01' then CST := ipi01; if TabGlobal.DConf_NFe.CST_IPI.Conteudo='02' then CST := ipi02; if TabGlobal.DConf_NFe.CST_IPI.Conteudo='04' then CST := ipi04; if TabGlobal.DConf_NFe.CST_IPI.Conteudo='05' then CST := ipi05; if TabGlobal.DConf_NFe.CST_IPI.Conteudo='51' then CST := ipi51; if TabGlobal.DConf_NFe.CST_IPI.Conteudo='52' then CST := ipi52; if TabGlobal.DConf_NFe.CST_IPI.Conteudo='53' then CST := ipi53; if TabGlobal.DConf_NFe.CST_IPI.Conteudo='54' then CST := ipi54; if TabGlobal.DConf_NFe.CST_IPI.Conteudo='55' then CST := ipi55; clEnq := ''; CNPJProd := ''; cSelo := ''; qSelo := 0; cEnq := '999'; //Código de Enquadramento Legal do IPI 999 vBC := 0; qUnid := 0; vUnid := 0; pIPI := 0; vIPI := 0; end; { CST := ipi99 ; clEnq := ''; CNPJProd := ''; cSelo := ''; qSelo := 0; cEnq := ''; //Código de Enquadramento Legal do IPI 999 vBC := 0; qUnid := 0; vUnid := 0; pIPI := 0; vIPI := 0; } end; with II do begin vBc := 0; vDespAdu := 0; vII := 0; vIOF := 0; end; with PIS do begin if TabGlobal.DConf_NFe.CST_PIS.Conteudo='01' then begin CST := pis01; //EditPis.Text; // PIS.vBC :=DNF_ITENS.TOTAL.Conteudo; // PIS.pPIS :=TabGlobal.DConf_NFe.ALIQ_PIS.Conteudo; // PIS.vPIS :=iif(TabGlobal.DConf_NFe.ALIQ_PIS.Conteudo>0,((TabGlobal.DConf_NFe.ALIQ_PIS.Conteudo*DNF_ITENS.TOTAL.Conteudo)/100),'0'); // PIS.qBCProd := 0; PIS.vAliqProd := 0; PIS.vPIS := 0; end; if TabGlobal.DConf_NFe.CST_PIS.Conteudo='02' then begin CST := pis02; //EditPis.Text; // PIS.vBC :=DNF_ITENS.TOTAL.Conteudo; // PIS.pPIS :=TabGlobal.DConf_NFe.ALIQ_PIS.Conteudo; // PIS.vPIS :=iif(TabGlobal.DConf_NFe.ALIQ_PIS.Conteudo>0,((TabGlobal.DConf_NFe.ALIQ_PIS.Conteudo*DNF_ITENS.TOTAL.Conteudo)/100),'0'); // PIS.qBCProd := 0; PIS.vAliqProd := 0; PIS.vPIS := 0; end; if TabGlobal.DConf_NFe.CST_PIS.Conteudo='03' then begin CST := pis03; //EditPis.Text; // PIS.vBC :=DNF_ITENS.TOTAL.Conteudo; // PIS.pPIS :=TabGlobal.DConf_NFe.ALIQ_PIS.Conteudo; // PIS.vPIS :=iif(TabGlobal.DConf_NFe.ALIQ_PIS.Conteudo>0,((TabGlobal.DConf_NFe.ALIQ_PIS.Conteudo*DNF_ITENS.TOTAL.Conteudo)/100),'0'); // PIS.qBCProd := 0; PIS.vAliqProd := 0; PIS.vPIS := 0; end; if (TabGlobal.DConf_NFe.CST_PIS.Conteudo='04') or (TabGlobal.DConf_NFe.CST_PIS.Conteudo='06') or (TabGlobal.DConf_NFe.CST_PIS.Conteudo='07') or (TabGlobal.DConf_NFe.CST_PIS.Conteudo='08') or (TabGlobal.DConf_NFe.CST_PIS.Conteudo='09') then begin if TabGlobal.DConf_NFe.CST_PIS.Conteudo='04' then CST:=pis04; //EditPis.Text; // if TabGlobal.DConf_NFe.CST_PIS.Conteudo='06' then CST:=pis06; if TabGlobal.DConf_NFe.CST_PIS.Conteudo='07' then CST:=pis07; if TabGlobal.DConf_NFe.CST_PIS.Conteudo='08' then CST:=pis08; if TabGlobal.DConf_NFe.CST_PIS.Conteudo='09' then CST:=pis09; PIS.vBC :=0; // PIS.pPIS :=0; // PIS.vPIS :=0; // PIS.qBCProd :=0; PIS.vAliqProd :=0; PIS.vPIS :=0; end; if TabGlobal.DConf_NFe.CST_PIS.Conteudo='99' then begin CST:=pis99; //EditPis.Text; // PIS.vBC :=0; // PIS.pPIS :=0; // PIS.vPIS :=0; // PIS.qBCProd :=0; PIS.vAliqProd :=0; PIS.vPIS :=0; end; { CST := pis99; PIS.vBC := 0; PIS.pPIS := 0; PIS.vPIS := 0; PIS.qBCProd := 0; PIS.vAliqProd := 0; PIS.vPIS := 0; } end; with PISST do begin vBc := 0; pPis := 0; qBCProd := 0; vAliqProd := 0; vPIS := 0; end; with COFINS do begin if (TabGlobal.DConf_NFe.CST_COFINS.Conteudo='01') and (TabGlobal.DConf_NFe.ALIQ_COFINS.Conteudo>0) then begin CST :=cof01; COFINS.vBC := DNF_ITENS.TOTAL.Conteudo; COFINS.pCOFINS := TabGlobal.DConf_NFe.ALIQ_COFINS.Conteudo; COFINS.vCOFINS := ((TabGlobal.DConf_NFe.ALIQ_COFINS.Conteudo*DNF_ITENS.TOTAL.Conteudo)/100); COFINS.qBCProd := 0; COFINS.vAliqProd := 0; end; if (TabGlobal.DConf_NFe.CST_COFINS.Conteudo='01') and (TabGlobal.DConf_NFe.ALIQ_COFINS.Conteudo=0) then begin CST :=cof01; COFINS.vBC := 0; COFINS.pCOFINS := 0; COFINS.vCOFINS := 0; COFINS.qBCProd := 0; COFINS.vAliqProd := 0; end; if (TabGlobal.DConf_NFe.CST_COFINS.Conteudo='02') and (TabGlobal.DConf_NFe.ALIQ_COFINS.Conteudo>0) then begin CST :=cof02; COFINS.vBC := DNF_ITENS.TOTAL.Conteudo; COFINS.pCOFINS := TabGlobal.DConf_NFe.ALIQ_COFINS.Conteudo; COFINS.vCOFINS := ((TabGlobal.DConf_NFe.ALIQ_COFINS.Conteudo*DNF_ITENS.TOTAL.Conteudo)/100); COFINS.qBCProd := 0; COFINS.vAliqProd := 0; end; if (TabGlobal.DConf_NFe.CST_COFINS.Conteudo='02') and (TabGlobal.DConf_NFe.ALIQ_COFINS.Conteudo=0) then begin CST :=cof02; COFINS.vBC := 0; COFINS.pCOFINS := 0; COFINS.vCOFINS := 0; COFINS.qBCProd := 0; COFINS.vAliqProd := 0; end; if TabGlobal.DConf_NFe.CST_COFINS.Conteudo='03' then begin CST :=cof03; COFINS.vBC := 0; COFINS.pCOFINS := 0; COFINS.vCOFINS := 0; COFINS.qBCProd := 0; COFINS.vAliqProd := 0; end; if (TabGlobal.DConf_NFe.CST_COFINS.Conteudo='04') or (TabGlobal.DConf_NFe.CST_COFINS.Conteudo='06') or (TabGlobal.DConf_NFe.CST_COFINS.Conteudo='07') or (TabGlobal.DConf_NFe.CST_COFINS.Conteudo='08') or (TabGlobal.DConf_NFe.CST_COFINS.Conteudo='09') then begin if TabGlobal.DConf_NFe.CST_COFINS.Conteudo='04' then CST:=cof04; if TabGlobal.DConf_NFe.CST_COFINS.Conteudo='06' then CST:=cof06; if TabGlobal.DConf_NFe.CST_COFINS.Conteudo='07' then CST:=cof07; if TabGlobal.DConf_NFe.CST_COFINS.Conteudo='08' then CST:=cof08; if TabGlobal.DConf_NFe.CST_COFINS.Conteudo='09' then CST:=cof09; COFINS.vBC := 0; COFINS.pCOFINS := 0; COFINS.vCOFINS := 0; COFINS.qBCProd := 0; COFINS.vAliqProd := 0; end; if TabGlobal.DConf_NFe.CST_COFINS.Conteudo='99' then begin CST :=cof99; COFINS.vBC := 0; COFINS.pCOFINS := 0; COFINS.vCOFINS := 0; COFINS.qBCProd := 0; COFINS.vAliqProd := 0; end; { CST := cof99; COFINS.vBC := 0; COFINS.pCOFINS := 0; COFINS.vCOFINS := 0; COFINS.qBCProd := 0; COFINS.vAliqProd := 0; } end; with COFINSST do begin vBC := 0; pCOFINS := 0; qBCProd := 0; vAliqProd := 0; vCOFINS := 0; end; //Grupo para serviços { with ISSQN do begin vBC := 0; vAliq := 0; vISSQN := 0; cMunFG := 0; cListServ := 0; // Preencha este campo usando a tabela disponível // em http://www.planalto.gov.br/Ccivil_03/LE ... Lcp116.htm end;} end; end ; //deve ser aqui end do nf_itens DNF_ITENS.Next; end; //fim do dnf_itens Total.ICMSTot.vBC := DNF.BASE_ICMS.Conteudo; Total.ICMSTot.vICMS := DNF.VALOR_ICMS.Conteudo; Total.ICMSTot.vBCST := DNF.BASE_SUBST.Conteudo; Total.ICMSTot.vST := DNF.VALOR_SUBST.Conteudo; Total.ICMSTot.vProd := (DNF.VALOR_PRODUTOS.Conteudo+DNF.VALOR_ISS.Conteudo); Total.ICMSTot.vFrete := DNF.VALOR_FRETE.Conteudo; Total.ICMSTot.vSeg := DNF.VALOR_SEGURO.Conteudo; Total.ICMSTot.vDesc := DNF.VALOR_DESCONTO.Conteudo; Total.ICMSTot.vII := 0; Total.ICMSTot.vIPI := DNF.TOTAL_IPI.Conteudo; Total.ICMSTot.vPIS := 0; Total.ICMSTot.vCOFINS := 0; Total.ICMSTot.vOutro := DNF.OUTRAS_DESPESAS.Conteudo; Total.ICMSTot.vNF := DNF.TOTAL_NF.Conteudo; Total.ISSQNtot.vServ := 0; Total.ISSQNTot.vBC := 0; Total.ISSQNTot.vISS := 0; Total.ISSQNTot.vPIS := 0; Total.ISSQNTot.vCOFINS := 0; Total.retTrib.vRetPIS := 0; Total.retTrib.vRetCOFINS := 0; Total.retTrib.vRetCSLL := 0; Total.retTrib.vBCIRRF := 0; Total.retTrib.vIRRF := 0; Total.retTrib.vBCRetPrev := 0; Total.retTrib.vRetPrev := 0; PTabela(TabGlobal.DTransportes,['TRANSP_CODIGO'],[DNF.COD_TRANSP.Conteudo], ['TRANSP_NOME','TRANSP_UF','TRANSP_CNPJ','TRANSP_ENDERECO','TRANSP_MUNICIPIO','TRANSP_MUNICIPIO_UF','TRANSP_INSCRICAO','CARTEIRA_HABILITACAO','NOME_MOTORISTA','END_MOTORISTA','MUNICIPIO_MOTO','UF_MOTORISTA','CPF_MOTORISTA','TRANSP_RNTC','TRANSP_PROPRIETARIO'],CamposResultado_transp); // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 if DNF.FRETE_CONTA.Conteudo='0' then //,'0','1'); //+Separador; // 0=Emitente e 1=Destinatário Transp.modFrete := mfContaEmitente else if DNF.FRETE_CONTA.Conteudo='1' then Transp.modFrete := mfContaDestinatario else if DNF.FRETE_CONTA.Conteudo='2' then Transp.modFrete := mfContaTerceiros; docnpj1:=copy(TrocaString(CamposResultado_transp[2], '.', '', [rfReplaceAll, rfIgnoreCase]),1,15); docnpj2:=copy(TrocaString(docnpj1, '-', '', [rfReplaceAll, rfIgnoreCase]),1,15); //x04 cnpj e x05 cpf do campo cnpj cadastro transportadora transp_cnpj if Length(docnpj2)>13 then begin Transp.Transporta.CNPJCPF :=iif(not VarIsNull(docnpj2),docnpj2,' '); // ou end; //nesse caso foi cadastrado o cpf do motorista if Length(docnpj2)<14 then begin Transp.Transporta.CNPJCPF :=iif(not VarIsNull(docnpj2),docnpj2,' '); // ou end; // Transp.Transporta.CNPJCPF := ''; Transp.Transporta.xNome := iif(not VarIsNull(CamposResultado_transp[14]),RemoveAcentos(CamposResultado_transp[14]),' '); Transp.Transporta.IE := iif(not VarIsNull(CamposResultado_transp[6]),CamposResultado_transp[6],''); Transp.Transporta.xEnder := iif(not VarIsNull(CamposResultado_transp[3]),RemoveAcentos(CamposResultado_transp[3]),''); Transp.Transporta.xMun := iif(not VarIsNull(CamposResultado_transp[4]),RemoveAcentos(CamposResultado_transp[4]),''); Transp.Transporta.UF := iif(not VarIsNull(CamposResultado_transp[5]),CamposResultado_transp[5],' '); Transp.retTransp.vServ := 0; Transp.retTransp.vBCRet := 0; Transp.retTransp.pICMSRet := 0; Transp.retTransp.vICMSRet := 0; Transp.retTransp.CFOP := ''; Transp.retTransp.cMunFG := 0; Transp.veicTransp.placa := DNF.PLACA.Conteudo; Transp.veicTransp.UF := iif(not VarIsNull(CamposResultado_transp[1]),CamposResultado_transp[1],Sistema.UfUsr); Transp.veicTransp.RNTC := iif(not VarIsNull(CamposResultado_transp[13]),CamposResultado_transp[13],' '); //Dados do Reboque { with Transp.Reboque.Add do begin placa := ''; UF := ''; RNTC := ''; end;} with Transp.Vol.Add do begin qVol := StrToInt(dnf.QUANTIDADE.ValorString); esp := RemoveAcentos(DNF.ESPECIE.Conteudo); marca := RemoveAcentos(DNF.MARCA.Conteudo); nVol := DNF.MARCA_NUMERO.Conteudo; pesoL := StrToInt(DNF.PESO_LIQUIDO.ValorString); pesoB := StrToInt(DNF.PESO_BRUTO.ValorString); //Lacres do volume. Pode ser adicionado vários //Lacres.Add.nLacre := ''; end; Cobr.Fat.nFat := DNF.NF.ValorString; //'Numero da Fatura'; Cobr.Fat.vOrig := DNF.VALOR_PRODUTOS.Conteudo; Cobr.Fat.vDesc := DNF.VALOR_DESCONTO.Conteudo; Cobr.Fat.vLiq := DNF.TOTAL_NF.Conteudo; with Cobr.Dup.Add do begin if DNF.DP_VALOR1.Conteudo>0 then begin nDup :=DNF.DUPL1.Conteudo; dVenc :=DNF.VENCTO1.Conteudo; vDup :=DNF.DP_VALOR1.Conteudo; end; if DNF.DP_VALOR2.Conteudo>0 then begin nDup :=DNF.DUPL2.Conteudo; dVenc :=DNF.VENCTO2.Conteudo; vDup :=DNF.DP_VALOR2.Conteudo; end; if DNF.DP_VALOR3.Conteudo>0 then begin nDup :=DNF.DUPL3.Conteudo; dVenc :=DNF.VENCTO3.Conteudo; vDup :=DNF.DP_VALOR3.Conteudo; end; if DNF.DP_VALOR4.Conteudo>0 then begin nDup :=DNF.DUPL4.Conteudo; dVenc :=DNF.VENCTO4.Conteudo; vDup :=DNF.DP_VALOR4.Conteudo; end; if DNF.DP_VALOR5.Conteudo>0 then begin nDup :=DNF.DUPL5.Conteudo; dVenc :=DNF.VENCTO5.Conteudo; vDup :=DNF.DP_VALOR5.Conteudo; end; if DNF.DP_VALOR6.Conteudo>0 then begin nDup :=DNF.DUPL6.Conteudo; dVenc :=DNF.VENCTO6.Conteudo; vDup :=DNF.DP_VALOR6.Conteudo; end; { nDup := '1234'; dVenc := now+10; vDup := 100; } end; if DNF.PESSOA.Conteudo='F' then begin InfAdic.infCpl:= iif(not VarIsNull(CamposResultado_cfop[0]),RemoveAcentos(CamposResultado_cfop[0]),'.')+' '+ iif(not VarIsNull(CamposResultado_cfop[1]),RemoveAcentos(CamposResultado_cfop[1]),'.')+' '+ RemoveAcentos(DNF.OBSERVACAO1.Conteudo)+' '+ RemoveAcentos(DNF.OBSERVACAO2.Conteudo)+' '+ RemoveAcentos(DNF.OBSERVACAO3.Conteudo)+' '+ RemoveAcentos(DNF.OBSERVACAO4.Conteudo)+' '+ RemoveAcentos(DNF.ADICIONAL1.Conteudo)+' '+ RemoveAcentos(DNF.ADICIONAL2.Conteudo)+' '+ iif(DNF.CARGA_NUMERO.Conteudo<>'','NUMERO CARGA: '+RemoveAcentos(DNF.CARGA_NUMERO.Conteudo),' '); end else begin InfAdic.infCpl:= iif(not VarIsNull(CamposResultado_cfop[2]),RemoveAcentos(CamposResultado_cfop[2]),'.')+' '+ iif(not VarIsNull(CamposResultado_cfop[3]),RemoveAcentos(CamposResultado_cfop[3]),'.')+' '+ RemoveAcentos(DNF.OBSERVACAO1.Conteudo)+' '+ RemoveAcentos(DNF.OBSERVACAO2.Conteudo)+' '+ RemoveAcentos(DNF.OBSERVACAO3.Conteudo)+' '+ RemoveAcentos(DNF.OBSERVACAO4.Conteudo)+' '+ RemoveAcentos(DNF.ADICIONAL1.Conteudo)+' '+ RemoveAcentos(DNF.ADICIONAL2.Conteudo)+' '+ iif(DNF.CARGA_NUMERO.Conteudo<>'','NUMERO CARGA: '+DNF.CARGA_NUMERO.Conteudo,' '); end; InfAdic.infAdFisco := ''; with InfAdic.obsCont.Add do begin xCampo := ''; //'ObsCont'; xTexto := ''; //'Texto'; end; with InfAdic.obsFisco.Add do begin xCampo := ''; //'ObsFisco'; xTexto := ''; //'Texto'; end; //Processo referenciado { with InfAdic.procRef.Add do begin nProc := ''; indProc := ipSEFAZ; end; } exporta.UFembarq := '';; exporta.xLocEmbarq := ''; compra.xNEmp := ''; compra.xPed := ''; compra.xCont := ''; end; end;
  23. Olá, Ao clikar no botão Criar e Enviar, onde informo o Número da Nota e em seguida o Número do Lote. Exemplo Nota: Nota 2266 Lote 1 mensamge de erro:is not a valid integer value estar dizendo que é inválida os parametros, o que pode ser esse erro.Já pesquisei no fórum, e não encontrei a resposta, (uso delphi7, banco firebird 2.00xx) estou usando copia do demo, veja o meu fonte abaixo: procedure TFormNFe_gerar.btnCriarEnviarClick(Sender: TObject); var vAux, vNumLote : String; begin //vAux:=XNumEdit1.Text; //vNumLote:='1'; if not(InputQuery('WebServices Enviar', 'Numero da Nota', vAux)) then exit; if not(InputQuery('WebServices Enviar', 'Numero do Lote', vNumLote)) then exit; vNumLote := OnlyNumber(vNumLote); if Trim(vNumLote) = '' then begin MessageDlg('Número do Lote inválido.',mtError,[mbok],0); exit; end; ACBrNFe1.NotasFiscais.Clear; GerarNFe(vAux); // ACBrNFe1.Enviar(vNumLote); Já testei da maneira abaixo, ocorre o mesmo erro. ACBrNFe1.Enviar(StrToInt(vNumLote)); if ACBrNFe1.WebServices.Retorno.cStat = 105 then // Lote em processamento begin repeat Application.MessageBox('Envio da NFE - Lote em processamento.' +#13 + 'Aguarde 5 minutos e Clique em OK !!!', 'Leão Informática', MB_OK); ACBrNFe1.WebServices.Retorno.Recibo := ACBrNFe1.WebServices.Enviar.Recibo; until ACBrNFe1.WebServices.Retorno.Executar; end; if ACBrNFe1.WebServices.Retorno.cStat = 100 then // Autorizado o uso da NF-e begin TabGlobal.DNF.Filtro.Clear; TabGlobal.DNF.Filtro.Add('NF = '+IntToStr(DNF.NF.Conteudo)); TabGlobal.DNF.Filtro.Add('AND MODELO = '+#39+DNF.MODELO.Conteudo+#39); TabGlobal.DNF.Filtro.Add('AND SERIE = '+#39+DNF.SERIE.Conteudo+#39); TabGlobal.DNF.AtualizaSql; if not TabGlobal.DNF.Eof then begin DNF.Modifica; DNF.SITUACAO.Conteudo :='Autorizada'; DNF.RECIBO_NFE.Conteudo :=ACBrNFe1.WebServices.Retorno.Recibo; DNF.NUMERO_NFE.Conteudo :=ACBrNFe1.WebServices.Retorno.ChaveNFe; DNF.NUMERO_PROTOCO.Conteudo:=ACBrNFe1.WebServices.Retorno.Protocolo; DNF.CSTAT.Conteudo :='100'; DNF.Salva; end; TabGlobal.DNF.Filtro.Clear; TabGlobal.DNF.AtualizaSql; end; MemoResp.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Retorno.RetWS); memoRespWS2.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Retorno.RetornoWS); LoadXML(MemoResp, WBResposta); MemoDados.Lines.Add(''); MemoDados.Lines.Add('Envio NFe'); MemoDados.Lines.Add('tpAmb: '+ TpAmbToStr(ACBrNFe1.WebServices.Retorno.TpAmb)); MemoDados.Lines.Add('verAplic: '+ ACBrNFe1.WebServices.Retorno.verAplic); MemoDados.Lines.Add('cStat: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cStat)); MemoDados.Lines.Add('cUF: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cUF)); MemoDados.Lines.Add('xMotivo: '+ ACBrNFe1.WebServices.Retorno.xMotivo); MemoDados.Lines.Add('cMsg: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cMsg)); MemoDados.Lines.Add('xMsg: '+ ACBrNFe1.WebServices.Retorno.xMsg); MemoDados.Lines.Add('Recibo: '+ ACBrNFe1.WebServices.Retorno.Recibo); MemoDados.Lines.Add('Protocolo: '+ ACBrNFe1.WebServices.Retorno.Protocolo); // MemoDados.Lines.Add('cStat: '+ ACBrNFe1.WebServices.Retorno.NFeRetorno); ACBrNFe1.NotasFiscais.Clear; end; De já agradeço o esforço de todos Leão
  24. Pessoal meu software atualmente exporta arquivo .txt para o emissor gratuito da SEFAZ, estou implementanto com o componente ACBr, uso delphi7, banco de dados firebird 2.xx, e estou com uma pequena dúvida? No demo existe dois botões Gerar NFe e Criar e Enviar Em que momento uso o primero e o segundo? *********[ outra dúvida ]*************** No emissor gratuito da SEFAZ, posso exportar para .xml ou .txt é possivel recura-lo, e gravar informação de autorizado no meu banco de dados? Obrigado e aguardo, Leão
  25. Obrigado, Juliana. Fiz conforme orientação, agora surgi outra mensagem: Delhi7 Re-Instalei componente sobre boleto: ACBr_Boleto; ACBr_BoletoFC_Fortes ACBr_BoletoFC_Quick Configurei o path D:\Acbr\Fontes\ACBrBoleto Ao abrir o exemplo do boleto ocorre a seguinte mensagem: Class TACBrBoletoFCQuinck not found. Ignore lhe error and continue? Ignoring the error may cause components to be deleted or property values to be lost. ao ingnorar Error creating form: Class TACBrBoletoFCQuinck not found Ao tentar compilar o delphi informa: Field frmDemo.ACBrBoletoFCQuick1 does not have corresponding component. Remove the declaration? não encontra o ACBrBoletoFCQuick1. Obrigado aguardo Leão
×
×
  • 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.