Ir para conteúdo
  • Cadastre-se

André Gustavo

Membros
  • Total de ítens

    132
  • Registro em

  • Última visita

Posts postados por André Gustavo

  1. 18 horas atrás, André Ferreira de Moraes disse:

    Verifique os valores informados nos campos:

    ACBrNFe1.Configuracoes.Geral.IdCSC
    ACBrNFe1.Configuracoes.Geral.CSC 

    Funcionou Ricardo,

       Então tenho q colocar o idSCS e CSC no cadastro do emitente para emitir NFC-e, ok? Outra coisa Ricardo, se vc puder me ajudar, qdo ocorre algum erro, tem como parar o SIstema, pois eu coloco try...except, exit, más, o sistema não para de executar, ela já pula para o final, tem como as rotinas que chamam as funções do ACBr, parar e voltar onde está?

    Grato,

    Valeu!

     

  2. Em 14/07/2017 at 14:03, RicardoVoigt disse:

    Depende do que vc quer fazer... se é apenas teste, o recomendado é usar o ambiente de homologação, utilizando o respectivo CSC.

    Att

    Ricardo

    Olá Ricardo,

             Eu enviei um email para o suporte da NFCe da Paraíba e eles me retornaram esse email:

    Verificamos o XML da NFC-e em questão e percebemos que o problema está no código CSC informado que não corresponde ao gerado pela empresa junto à nossa secretaria.
     
       No próprio XML dá para verificar que está sendo informado "cIdToken=000000", quando o código gerado pela empresa não tem nada a ver com isso.
     
       Favor checar o CSC que o contador/sócio gerou para se certificar que é o código apropriado e válido.
     
       Atenciosamente,
       Equipe NAPDF/NF-e
     
    Onde eu verifico este Erro? Estou enviando o cxml que envie e o retorno do webService.
     

    8-pro-lot.xml

    8-env-lot.xml

    25170727891942000163650010000000011772845506-nfe.xml

  3. 57 minutos atrás, André Gustavo disse:

    Pelo Instalador dá esse erro:

    Borland Delphi Version 15.0
    Copyright (c) 1983,2002 Borland Software Corporation
    C:\acbr\Fontes\ACBrDFe\ACBrNFe\DANFE\NFe\Fortes\ACBrNFeDANFeRL.pas(112) Fatal: File not found: 'frce.dcp'
    Compilation failure
    Erro ao compilar o pacote "ACBr_NFeDanfeRL.dpk".

    Abortando... Ocorreram erros na compilação dos pacotes.

     

    Qual a versao do Fortes que o ACBr Utiliza? Para eu Corrigir este erro é só copiar os arquivos do forte para esta pasta?

     

    André

  4. 50 minutos atrás, Juliomar Marchetti disse:

    Se você estiver usando o delphi basta rodar novamente o instalador e ir até o final

    se estiver usando o lazarus basta reconstruir ele  pedindo para limpar tudo antes de reconstruir.

    Pelo Instalador dá esse erro:

    Borland Delphi Version 15.0
    Copyright (c) 1983,2002 Borland Software Corporation
    C:\acbr\Fontes\ACBrDFe\ACBrNFe\DANFE\NFe\Fortes\ACBrNFeDANFeRL.pas(112) Fatal: File not found: 'frce.dcp'
    Compilation failure
    Erro ao compilar o pacote "ACBr_NFeDanfeRL.dpk".

    Abortando... Ocorreram erros na compilação dos pacotes.

     

  5. Em 04/07/2017 at 11:23, André Gustavo disse:

    ok, pode ser isso entao, certo? vou dá uma olhadinha pq está indo três vezes no arquivo xml.

     

    Vlw!

     

    Entrei em contato com o pessoal da Sefaz PE e eles falaram que pode ser a webService que estou enviando. Vou te passar a lista abaixo, neste caso como passo o meu xml na tag <cUF> já que ele usa a SVRS?

    André

    webService_PE.png

  6. 1 hora atrás, Juliomar Marchetti disse:

    Qual o erro que está dando?

    Oi Juliomar,

           Se puder me ajudar te agradeço muito. Vou te passar o erro do meu Sistema e o erro para compilar o Demo. Eu tava falando com outro rapaz do forum, ele falou que tinha q fazer pelo demo para ver o erro para poder ajudar, mas nao consigo compilar o erro. Se vc puder me enviar o exemplo.

    erro emissao nfec.png

    erro compilar exemplo acbr.png

  7. 18 minutos atrás, André Ferreira de Moraes disse:

    Para que possamos descobrir a origem do erro precisamos saber como reproduzi-lo e isso só é possível se vc enviar um passo-a-passo de como reproduzir o problema no demo ou enviar um aplicativo de exemplo com os fontes em que o problema possa ser reproduzido.

    Vou te enviar o q eu estou fazendo para chegar nesse erro:

    procedure TFConfirma2.GerarNFCe(NumNFe: Integer; Loja: Integer; Serie: String);
    var Qry : Tquery;
        aNumIten : Integer;
        wtotalProduto, wTotalNota : Double;
        wtotPis, wTotCofins,wV_II : Double;
        wvlrFrete, wTotalFrete : Double;
        wvlrOutrasDesp, wTotalOutrasDesp : Double;
        wvalorParcela : Double;
        wnumeroFat : String;
        wDesconto_item : double;
        wtotalGeralProduto : double;
        wtotalGeralDesconto : double;
        wbaseIcmsProduto : double;
        wvalorTotalIcms : double;
        w_totIpi : double;
        wProduto : string;
        wtexto : String;
        iNum : Integer;
        wDescProduto : String;
        wlotesProduto : String;
        wNomeXml:String;
        wTotalICMSUFDest, wTotalICMSUFRemet: double;
        wMva_ajustada : double;
        wMva_original : double;
        wvalorBaseICMS, wTotalBaseICMS, wValorICMS, wTotalICMS, wValorBCST, wTotalBCST, wValorICMSST, wtotalICMSST : double;

        worcaVenda : String;
        wPercDescontoItem : double;


    begin

      DM.ConsultaLoja(ploja);

      Query4.Close;
      Query4.Sql.Clear;
      Query4.Sql.Add('Update Venda Set TIPo = :xTIPO');
      Query4.Sql.Add('WHERE (NUMERO = :xNumero)');
      Query4.Sql.Add('AND   (LOJA = :xloja)');
      Query4.ParamByName('xnumero').AsInteger := StrToInt(Edit4.Text);
      Query4.ParamByName('xloja').AsInteger   := Ploja;
      Query4.ParamByName('xTIPO').AsString    := 'X';
      Query4.ExecSQL;


      AtualizaConfigAcBr;

      //DM.ACBrNFe1.NotasFiscais.Clear;
      DM.ACBrNFe1.Configuracoes.Geral.ModeloDF := moNFCe;
      DM.ACBrNFe1.Configuracoes.Geral.VersaoDF := ve310;
      DM.ACBrNFe1.Configuracoes.Geral.IncluirQRCodeXMLNFCe := True;


      with DM.ACBrNFe1.NotasFiscais.Add.NFe do
       begin
         Ide.cNF       := NumNFe; //Caso não seja preenchido será gerado um número aleatório pelo componente
         Ide.natOp     := 'VENDA';
         Ide.indPag    := ipVista;
         Ide.modelo    := 65;
         Ide.serie     := 1;
         Ide.nNF       := NumNFe;
         Ide.dEmi      := now;
         Ide.dSaiEnt   := now;
         Ide.hSaiEnt   := now;
         Ide.tpNF      := tnSaida;
         Ide.tpEmis    := teNormal; // TpcnTipoEmissao(1);
         Ide.tpAmb     := taHomologacao;  //Lembre-se de trocar esta variável quando for para ambiente de produção
         Ide.cUF       := UFtoCUF('RS');

         Ide.cMunFG    := StrToInt('26' + DM.TlojaCODCIDADE.Text);
         Ide.finNFe    := fnNormal;
         Ide.tpImp     := tiNFCe;
         Ide.indFinal  := cfConsumidorFinal;
         Ide.indPres   := pcPresencial;

    //     Ide.dhCont := date;
    //     Ide.xJust  := 'Justificativa Contingencia';

          Emit.CNPJCPF           := DM.TiraPontoCPF(DM.TlojaCGC.Text);
          Emit.IE                := DM.TiraPontoCPF(DM.TlojaINSCRICAOESTADUAL.Text);
          Emit.xNome             := DM.TlojaNOME.Text;
          Emit.xFant             := DM.TlojaNOMEFANTASIA.Text;

          Emit.EnderEmit.fone    := DM.TiraPontoCPF(DM.TlojaTELEFONE.Text);
          Emit.EnderEmit.CEP     := StrToInt(DM.TiraPontoCPF( DM.TlojaCEP.Text ));
          Emit.EnderEmit.xLgr    := DM.TlojaENDERECO.Text;
          Emit.EnderEmit.nro     := DM.TlojaNUMLOGRADOURO.Text;
          Emit.EnderEmit.xCpl    := '';
          Emit.EnderEmit.xBairro := DM.TlojaBAIRRO.Text;
          Emit.EnderEmit.cMun    := StrToInt('26' + DM.TlojaCODCIDADE.Text);
          Emit.EnderEmit.xMun    := DM.TlojaCIDADE.Text;
          Emit.EnderEmit.UF      := DM.TlojaUF.Text;
          Emit.enderEmit.cPais   := 1058;
          Emit.enderEmit.xPais   := 'BRASIL';

          Emit.IEST              := '';
    //      Emit.IM                := '2648800'; // Preencher no caso de existir serviços na nota
    //      Emit.CNAE              := '6201500'; // Verifique na cidade do emissor da NFe se é permitido
                                        // a inclusão de serviços na NFe
          Emit.CRT               := crtRegimeNormal;// (1-crtSimplesNacional, 2-crtSimplesExcessoReceita, 3-crtRegimeNormal)

          If pCpfCnpjContribuinte <> '' then
             Dest.CNPJCPF           := '05481336000137'
          else
             Dest.CNPJCPF           := '';

    //      Dest.IE                := '687138770110'; //NFC-e não aceita IE

          Dest.ISUF              := '';

          If Pcliente > 0 then
          begin
              DM.Tcliente.Close;
              DM.Tcliente.SQL.Clear;
              DM.Tcliente.SQL.Add('Select * from Cliente');
              DM.Tcliente.SQL.Add('Where (Codigo = :xcodigo)');
              DM.Tcliente.ParamByName('xCodigo').AsInteger := pCliente;
              DM.Tcliente.Open;

              Dest.xNome             := TiraCaracterEspecial(DM.TclienteNOME.Text);
              Dest.EnderDest.Fone    := DM.TiraPontoCPF(DM.TclienteFONE.Text);
              Dest.EnderDest.CEP     := StrToInt(DM.TiraPontoCPF(DM.TclienteCEP.Text));
              Dest.EnderDest.xLgr    := TiraCaracterEspecial(DM.TclienteENDERECO.Text);
              Dest.EnderDest.nro     := DM.TclienteNUMLOGRADOURO.Text;
              Dest.EnderDest.xCpl    := '';
              Dest.EnderDest.xBairro := TiraCaracterEspecial(DM.TclienteBAIRRO.Text);
              Dest.EnderDest.cMun    := StrToInt('26' + DM.TclienteCODCIDADE.Text);
              Dest.EnderDest.xMun    := TiraCaracterEspecial(DM.TclienteCIDADE.Text);
              Dest.EnderDest.UF      := DM.TclienteESTADO.Text;
              Dest.EnderDest.cPais   := 1058;
              Dest.EnderDest.xPais   := 'BRASIL';
          end
          else
          begin
              Dest.xNome             := '';
              Dest.EnderDest.Fone    := '';
              Dest.EnderDest.CEP     := 0;
              Dest.EnderDest.xLgr    := '';
              Dest.EnderDest.nro     := '';
              Dest.EnderDest.xCpl    := '';
              Dest.EnderDest.xBairro := '';
              Dest.EnderDest.cMun    := 0;
              Dest.EnderDest.xMun    := '';
              Dest.EnderDest.UF      := '';
              Dest.EnderDest.cPais   := 0;
              Dest.EnderDest.xPais   := '';
          end;

          //Adicionando Produtos
          aNumIten := 0;
          wtotalProduto :=0;
          wTotalNota := 0;
          wtotPis := 0;
          wTotCofins := 0;
          wV_II := 0;
          wtotalGeralProduto  := 0;
          wtotalGeralDesconto := 0;
          wbaseIcmsProduto    := 0;
          wvalorTotalIcms     := 0;
          w_totIpi            := 0;
          wTotalICMSUFDest    := 0;
          wTotalICMSUFRemet   := 0;
          wTotalFrete         := 0;
          wTotalOutrasDesp    := 0;

          wValorBCST          := 0;
          wTotalBCST          := 0;
          wValorICMSST        := 0;
          wtotalICMSST        := 0;

          wvalorBaseICMS      := 0;
          wTotalBaseICMS      := 0;
          wValorICMS          := 0;
          wTotalICMS          := 0;

          pTotImposto := 0;
          DM.Tauxvenda.First;
          While not DM.Tauxvenda.EOF do
          Begin

              If DM.TauxvendaCancelado.Text = 'S' then
              begin
                   DM.Tauxvenda.Next;
                   Continue;
              end;

              Query6.Close;
              Query6.ParamByName('xcodigo').AsString := DM.TauxvendaCodigo.Text;
              Query6.Open;
              inc(aNumIten);
              with Det.Add do
              begin
                 Prod.nItem    :=  aNumIten; ; // Número sequencial, para cada item deve ser incrementado
                 Prod.cProd    := Query6CODIGO.Text;

                 If Query6CODBARRA.text <> '' then
                    Prod.cEAN   := TiraCaracterEspecial (Trim(Query6CODBARRA.Text))
                 else
                    Prod.cEAN := NullAsStringValue;

                 Prod.xProd    := Query6DESCRICAO.Text;
                 Prod.NCM      := Query6NCM.Text; // Tabela NCM disponível em  http://www.receita.fazenda.gov.br/Aliquotas/DownloadArqTIPI.htm
                 Prod.EXTIPI   := '';
                 Prod.CFOP     := '5101';
                 Prod.uCom     := TiraCaracterEspecial(Trim(copy(Query6DESCUNIDADE.Text,1,3)));
                 Prod.qCom     := DM.TauxVendaQuantidade.Value;
                 Prod.vUnCom   := DM.TauxVendaPreco.Value;

                 If not Query6CODBARRA.IsNull then
                    Prod.cEANTrib   := TiraCaracterEspecial(Trim(Query6CODBARRA.Text))
                 else
                    Prod.cEANTrib := NullAsStringValue;

                 Prod.uTrib     := TiraCaracterEspecial(Trim(copy(Query6DESCUNIDADE.Text,1,3)));
                 Prod.qTrib     := DM.TauxVendaQuantidade.Value;
                 Prod.vUnTrib   := DM.TauxVendaPreco.Value;

                 Prod.vOutro    := 0;
                 Prod.vFrete    := 0;
                 Prod.vSeg      := 0;

                 //--Obtendo Percentual de Desconto
                 wPercDescontoItem := RetornaPercDesconto(pDesconto, pTotal + pDesconto);

                 wDesconto_item := (DM.TauxVendaQuantidade.Value * DM.TauxVendaPreco.Value) * wPercDescontoItem / 100;
                 Prod.vDesc     := wDesconto_item;
                 Prod.vProd     := (DM.TauxVendaQuantidade.Value * DM.TauxVendaPreco.Value);

                  If Query6ICMSVENDA.Value > 0 then
                  begin
                     wbaseIcmsProduto := DM.TauxVendaQuantidade.Value * DM.TauxVendaPreco.Value;
                     wvalorTotalIcms := wvalorTotalIcms + (wbaseIcmsProduto * Query6ICMSVENDA.Value / 100 );
                  end;


                 Prod.CEST := Query6CODCEST.Text;

        //         infAdProd      := 'Informação Adicional do Produto';

                 If DM.TlojaTIPOEMPRESA.Text = 'Normal' then
                 begin
                      with Imposto do
                      begin
                          vTotTrib := DM.RetornaValorImposto(Query6NCM.Text, 'N', DM.TauxvendaTotal.Value);
                          with ICMS do
                          begin
                              If Query6TRIBUTADO.Text = 'T' then // Tributado
                              begin
                                  If copy(Query6CST.Text,2,2) = '00' then
                                  begin
                                        CST           := cst00;
                                        CSOSN         := csosn101;

                                        If Copy(Query6CST.Text,1,1) = '0' then
                                           ICMS.orig     := oeNacional
                                        else if Copy(Query6CST.Text,1,1) = '1' then
                                           ICMS.orig     := oeEstrangeiraImportacaoDireta
                                        else if Copy(Query6CST.Text,1,1) = '2' then
                                           ICMS.orig     := oeEstrangeiraAdquiridaBrasil;

                                        ICMS.modBC    := dbiValorOperacao;

                                        wvalorBaseICMS := wbaseIcmsProduto;
                                        If Query6ICMSVENDA.Value > 0 then
                                           ICMS.vBC      := wvalorBaseICMS
                                        else
                                           ICMS.vBC      := 0;

                                        wValorICMS    := ( wbaseIcmsProduto * Query6ICMSVENDA.Value) / 100;
                                        ICMS.pICMS    := Query6ICMSVENDA.Value;
                                        If Query6ICMSVENDA.Value > 0 then
                                           ICMS.vICMS    := wValorICMS
                                        else
                                           ICMS.vICMS    := 0;

                                        ICMS.modBCST  := dbisPrecoTabelado;
                                        ICMS.pMVAST   := 0;
                                        ICMS.pRedBCST := 0;
                                        ICMS.vBCST    := 0;
                                        ICMS.pICMSST  := 0;
                                        ICMS.vICMSST  := 0;
                                        ICMS.pRedBC   := 0;

                                        wTotalBaseICMS := wTotalBaseICMS + wvalorBaseICMS;
                                        wTotalICMS     := wTotalICMS + wValorICMS;
                                  end;
                              end;
                              if Query6TRIBUTADO.Text = 'F' then // Sub. Tributaria
                              begin
                                    //--Origem
                                    If Copy(Query6CST.Text,1,1) = '0' then
                                       ICMS.orig     := oeNacional
                                    else if Copy(Query6CST.Text,1,1) = '1' then
                                       ICMS.orig     := oeEstrangeiraImportacaoDireta
                                    else if Copy(Query6CST.Text,1,1) = '2' then
                                       ICMS.orig     := oeEstrangeiraAdquiridaBrasil;

                                    //--CST
                                    If Copy(Query6CST.Text,2,3) = '10' then
                                       CST := cst10
                                    else
                                       CST := cst60;

                                    //--MODBC
                                    ICMS.modBC    := dbiValorOperacao;
                                    ICMS.pRedBC   := 0;

                                    //---ICMS do Produto
                                    If Copy(Query6CST.Text,2,3) = '10' then
                                    begin
                                        wvalorBaseICMS := wbaseIcmsProduto;
                                        ICMS.vBC       := wvalorBaseICMS;
                                    end
                                    else
                                    begin
                                        wvalorBaseICMS := 0;
                                        ICMS.vBC       := 0;
                                    end;

                                    wValorICMS := Query6ICMSVENDA.Value * wbaseIcmsProduto / 100;
                                    ICMS.pICMS := Query6ICMSVENDA.Value;
                                    ICMS.vICMS := wValorICMS;

                                    //--MVA
                                    ICMS.pMVAST   := 0.0000;

                                    ICMS.pRedBCST := 100;
                                    ICMS.modBCST  := dbisMargemValorAgregado;


                                    //--Calculando o valor da base da Subst Tributaria
                                    wMva_original := 80;

                                    If Copy(Query6CST.Text,2,3) = '10' then
                                    begin
                                        ICMS.vBCST  := wbaseIcmsProduto;
                                        ICMS.pICMSST := 18;

                                        wValorICMSST  := ((wbaseIcmsProduto * 18) / 100) - (  (wbaseIcmsProduto * Query6ICMSVENDA.Value) / 100);
                                        ICMS.vICMSST  := wValorICMSST;
                                    end
                                    else
                                    begin
                                        ICMS.vBCST    := 0;
                                        wValorICMSST  := 0;
                                        ICMS.vICMSST  := 0;
                                    end;

                                   If Copy(Query6CST.Text,2,3) = '10' then
                                      wTotalBCST := wTotalBCST + wbaseIcmsProduto;

                                    wtotalICMSST   := wtotalICMSST + wValorICMSST;
                                    wTotalBaseICMS := wTotalBaseICMS + wvalorBaseICMS;
                                    wTotalICMS     := wTotalICMS + wValorICMS;

                              end;

                              if Query6TRIBUTADO.Text = 'I' then // Isento
                              begin
                                  CST           := cst40;
                                  ICMS.orig     := oeNacional;
                                  ICMS.modBC    := dbiValorOperacao;
                                  ICMS.vBCST  := 0;
                                  ICMS.modBCST  := dbisMargemValorAgregado;
                                  ICMS.pMVAST   := 0;
                                  ICMS.pRedBCST := 0;
                                  ICMS.pICMSST  := 0;
                                  ICMS.vICMSST  := 0;
                                  ICMS.pRedBC   := 0;
                              end;

                              if Query6TRIBUTADO.Text = 'N' then // Não Tributado
                              begin
                                  CST           := cst41;
                                  ICMS.orig     := oeNacional;
                                  ICMS.modBC    := dbiValorOperacao;
                                  ICMS.vBCST  := 0;
                                  ICMS.modBCST  := dbisMargemValorAgregado;
                                  ICMS.pMVAST   := 0;
                                  ICMS.pRedBCST := 0;
                                  ICMS.pICMSST  := 0;
                                  ICMS.vICMSST  := 0;
                                  ICMS.pRedBC   := 0;
                              end;

                          //--- fim icms
                          end;
                          // partilha do ICMS e fundo de probreza
                          with ICMSUFDest do
                          begin
                              vBCUFDest      := 0.00;
                              pFCPUFDest     := 0.00;
                              pICMSUFDest    := 0.00;
                              pICMSInter     := 0.00;
                              pICMSInterPart := 0.00;
                              vFCPUFDest     := 0.00;
                              vICMSUFDest    := 0.00;
                              vICMSUFRemet   := 0.00;
                          end;

                          {with PIS do
                          begin
                             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
                             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 := 1402; // Preencha este campo usando a tabela disponível
                                           // em http://www.planalto.gov.br/Ccivil_03/LEIS/LCP/Lcp116.htm
                           end;}
                      end;
                 end;
              end;

              pTotImposto := pTotImposto + DM.RetornaValorImposto(Query6NCM.Text, 'N', DM.TauxvendaTotal.Value);

              wtotalGeralProduto := wtotalGeralProduto + DM.TauxVendaTotal.Value;
              wtotalGeralDesconto := wtotalGeralDesconto + wDesconto_item;

              DM.TauxVenda.Next;
          end;
          wTotalNota := wtotalGeralProduto - wtotalGeralDesconto;

          //Adicionando Serviços
          {      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 ;
    }

          Total.ICMSTot.vBC     := wTotalBaseICMS;
          Total.ICMSTot.vICMS   := wTotalICMS;
          Total.ICMSTot.vBCST   := wTotalBCST;
          Total.ICMSTot.vST     := wtotalICMSST;
          Total.ICMSTot.vProd   := wtotalGeralProduto;
          Total.ICMSTot.vFrete  := 0;
          Total.ICMSTot.vSeg    := 0;
          Total.ICMSTot.vDesc   := wtotalGeralDesconto;
          Total.ICMSTot.vII     := 0;
          Total.ICMSTot.vIPI    := 0;
          Total.ICMSTot.vPIS    := 0;
          Total.ICMSTot.vCOFINS := 0;
          Total.ICMSTot.vOutro  := 0;
          Total.ICMSTot.vNF     := wTotalNota;

          Total.ICMSTot.vTotTrib := pTotImposto;

          // partilha do icms e fundo de probreza
          Total.ICMSTot.vFCPUFDest   := 0.00;
          Total.ICMSTot.vICMSUFDest  := 0.00;
          Total.ICMSTot.vICMSUFRemet := 0.00;

          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;}

          Transp.modFrete := mfSemFrete; // NFC-e não pode ter FRETE

    {      Cobr.Fat.nFat  := 'Numero da Fatura';
          Cobr.Fat.vOrig := 100 ;
          Cobr.Fat.vDesc := 0 ;
          Cobr.Fat.vLiq  := 100 ;

          with Cobr.Dup.Add do
           begin
             nDup  := '1234';
             dVenc := now+10;
             vDup  := 50;
           end;

          with Cobr.Dup.Add do
           begin
             nDup  := '1235';
             dVenc := now+10;
             vDup  := 50;
           end;
     }


          //---- passando forma de pagamento
          DM.Ttipopaga.Close;
          DM.Ttipopaga.Open;
          DM.Tauxpaga.First;
          While not DM.Tauxpaga.Eof do
          Begin
               DM.Ttipopaga.Locate('codigo', DM.TauxPagaTipo.Value, []);
               with pag.Add do //PAGAMENTOS apenas para NFC-e
               begin
                    If copy(DM.TtipopagaTPNFCE.Text,1,2) = '01' then
                       tPag := fpDinheiro
                    else If copy(DM.TtipopagaTPNFCE.Text,1,2) = '02' then
                       tPag := fpCheque
                    else If copy(DM.TtipopagaTPNFCE.Text,1,2) = '03' then
                       tPag := fpCheque
                    else If copy(DM.TtipopagaTPNFCE.Text,1,2) = '04' then
                       tPag := fpCheque
                    else If copy(DM.TtipopagaTPNFCE.Text,1,2) = '05' then
                       tPag := fpCheque
                    else If copy(DM.TtipopagaTPNFCE.Text,1,2) = '06' then
                       tPag := fpCheque
                    else If copy(DM.TtipopagaTPNFCE.Text,1,2) = '07' then
                       tPag := fpCheque
                    else If copy(DM.TtipopagaTPNFCE.Text,1,2) = '08' then
                       tPag := fpCheque
                    else If copy(DM.TtipopagaTPNFCE.Text,1,2) = '09' then
                       tPag := fpCheque
                    else
                       tPag := fpDinheiro;

                    If copy(DM.TtipopagaTPNFCE.Text,1,2) = '01' then
                       vPag := DM.TauxpagaValor.Value - pTroco
                    else
                       vPag := DM.TauxpagaValor.Value;

               end;
               // valorpago := Trim(DM.TauxpagaValor.text);
               //IRetorno := aCFEfetuarPagamento_NFCe_Daruma(copy(DM.TauxpagaDescricao.Text,1,20), FormatFloat('###0.00',DM.TauxpagaValor.Value));
               //FmensagemNFCe.Repaint;

              DM.Tauxpaga.Next;
          end;

          InfAdic.infAdFisco :=  '';

          DM.ACBrNFe1.DANFE.vTroco := ptroco;

          //---- termina cupom
          mensagem := '';
          If pOrcamento > 0 then
          begin
                worcavenda := inttostr(pOrcamento);
                While Length(worcavenda) < 10 do
                      worcavenda := '0' + worcavenda;

                worcavenda := 'PV' + worcavenda;
                mensagem := mensagem + worcavenda + chr(13) + chr(10);
          end;

          If pNumero > 0 then
          begin
                worcavenda := inttostr(pNumero);
                While Length(worcavenda) < 10 do
                      worcavenda := '0' + worcavenda;

                worcavenda := 'No.Venda: ' + worcavenda;
                mensagem := mensagem + worcavenda + chr(13) + chr(10);
          end;

          mensagem := mensagem + 'MD5:'+MD5Print(MD5file('c:\mercado\identificacao.txt')) + chr(13) + chr(10);

          If Pcliente > 0 then
          begin
                DM.Tcliente.Close;
                DM.Tcliente.ParamByName('xCodigo').AsInteger := Pcliente;
                DM.Tcliente.Open;
                If not DM.Tcliente.Eof then
                begin
                    mensagem := mensagem + DM.TclienteNOME.Text + chr(13) + chr(10);
                    If DM.TclienteENDERECO.Text <> '' then
                       mensagem := mensagem + DM.TclienteENDERECO.Text + chr(13) + chr(10);
                    If DM.TclienteBAIRRO.Text <> '' then
                       mensagem := mensagem + DM.TclienteBAIRRO.Text   + chr(13) + chr(10);
                    If DM.TclienteCIDADE.Text <> '' then
                       mensagem := mensagem + DM.TclienteCIDADE.Text + '-' + DM.TclienteESTADO.Text + chr(13) + chr(10);
                    If Length(DM.TclienteCPF.Text) = 14 then
                       mensagem := mensagem + 'CPF: ' + DM.TclienteCPF.Text + chr(13) + chr(10);
                    If Length(DM.TclienteCGC.Text) = 18 then
                       mensagem := mensagem + 'CNPJ: ' + DM.TclienteCGC.Text + chr(13) + chr(10);
                end;
          end;

          mensagem := mensagem + 'Obrigado e volte sempre!!' + chr(13) + chr(10);

          InfAdic.infCpl :=  mensagem;

    {      with InfAdic.obsCont.Add do
           begin
             xCampo := 'ObsCont';
             xTexto := 'Texto';
           end;

          with InfAdic.obsFisco.Add do
           begin
             xCampo := 'ObsFisco';
             xTexto := 'Texto';
           end; }
       end;

       DM.ACBrNFe1.NotasFiscais.GerarNFe;
       DM.ACBrNFe1.NotasFiscais.Assinar;

       DM.ACBrNFe1.NotasFiscais.Items[0].GravarXML();

       Qry := TQuery.Create(nil);
       Qry.DatabaseName := 'Mercado';
       Qry.Close;
       Qry.SQL.Clear;
       Qry.SQL.Add('Update Venda set xmlnfe = :wxmlnfe');
       Qry.SQL.Add('Where (Numero = :wNumero)');
       Qry.SQL.Add('And   (Loja   = :wLoja)');
       Qry.ParamByName('wNumero').AsInteger      := pNumero;
       Qry.ParamByName('wLoja').AsInteger        := ploja;
       Qry.ParamByName('wxmlnfe').AsString       := DM.ACBrNFe1.NotasFiscais.Items[0].NomeArq;
       Qry.ExecSQL;

      // ValidarXML_NFCe(DM.ACBrNFe1.NotasFiscais.Items[0].NomeArq);

       //EnviarNFCe(DM.ACBrNFe1.NotasFiscais.Items[0].NomeArq);


       Qry.free;
       Qry := Nil;
    end;

     

     

    procedure TFconfirma2.EnviarNFCe();
    var aChaveNfe, aRecibo, aProcolo : String;
        Qry : TQuery;
        werror : Boolean;
        warquivo : String;
        wNumLote : String;
        Sincrono : boolean;
        vSincrono : String;
    begin

         werror := false;

         wnumLote := IntToStr(DM.TparaNUMLOTE_NFCE.Value + 1);
         wnumLote := DM.FiltraNumeroLoteNfce(wnumLote);

         if Trim(wnumLote) = '' then
         begin
             ShowMessage('É necessário informar o numero do lote!');
             exit;
         end;

         try
             If DM.TlojaAmbienteEmissao_nfce.Text = '0' then
                DM.ACBrNFe1.Configuracoes.WebServices.Ambiente := taProducao
             else
                DM.ACBrNFe1.Configuracoes.WebServices.Ambiente := taHomologacao;

             vSincrono := '1';

             if (Trim(vSincrono) = '1') then
                 Sincrono := True
             else
                 Sincrono := False;

             //DM.ACBrNFe1.NotasFiscais.Clear;

             DM.ACBrNFe1.Configuracoes.Geral.ModeloDF := moNFCe;
             DM.ACBrNFe1.Configuracoes.Geral.VersaoDF := ve310;

             GerarNFCe(DM.PegaSequenciaNFCe(ploja),ploja,'001');

             DM.ACBrNFe1.Enviar(wNumLote,True,Sincrono);


             aChaveNfe := DM.ACBrNFe1.WebServices.Retorno.ChaveNFe;
             aProcolo  := DM.ACBrNFe1.WebServices.Retorno.Protocolo;
             aRecibo   := DM.ACBrNFe1.WebServices.Retorno.Recibo;

             DM.ACBrNFe1.NotasFiscais.Clear;

             //         ShowMessage(aProcolo);

             If aChaveNfe <> '' then
             begin
                  Qry := TQuery.Create(nil);
                  Qry.DatabaseName := 'Mercado';
                  Qry.Close;
                  Qry.SQL.Clear;
                  Qry.SQL.Add('Update venda set chaveNfe = :wChaveNfe, lotenfe = :wlotenfe, protocolonfe = :wprotocolonfe, recibonfe = :wrecibonfe');
                  Qry.SQL.Add('Where (Numero = :wNumero)');
                  Qry.SQL.Add('And   (Loja   = :wLoja)');
                  Qry.ParamByName('wNumero').AsInteger      := pNumero;
                  Qry.ParamByName('wLoja').AsInteger        := pLoja;
                  Qry.ParamByName('wChaveNfe').AsString     := aChaveNfe;
                  Qry.ParamByName('wloteNfe').AsString      := wnumLote;
                  Qry.ParamByName('wprotocoloNfe').AsString := aProcolo;
                  Qry.ParamByName('wrecibonfe').AsString    := aRecibo;
                  Qry.ExecSQL;

                  Qry.Free;
                  Qry := Nil;

                  DM.AtualizaLoteNfce();

                  //FnotaFiscalEletronca.GravaArqXML(arqXml);

                  ShowMessage('Enviado com Sucesso, imprima seu documento fiscal (DANFE).');

             end;

          Except
               on E : Exception do
               begin
                   werror := true;
                   ShowMessage(E.ClassName+' Erro ao enviar a NFe.Verifique!!! '+E.Message);
               end;
          end;

    end;

     

    procedure TFConfirma2.AtualizaConfigAcBr;
    var OK : Boolean;
    begin

      DM.ConsultaLoja(ploja);
      // realiza a leidura dos dados do arquivo de configuração
      //DM.LeArqIni;

      // Repassa Dados para componente AcBrNFe
      {$IFDEF ACBrNFeOpenSSL}
        DM.ACBrNFe1.configuracoes.Certificados.Certificado := DM.TlojaPATHCERTIFICADO_NFCE.Text;
        DM.AcBrNFe1.Configuracoes.Certificados.Senha       := DM.TlojaSENHACERTIFICADO_NFCE.Text;
      {$ELSE}
        DM.ACBrNFe1.Configuracoes.Certificados.NumeroSerie := DM.TlojaNUMSERIECERTIFICADO_NFCE.Text;
      {$ENDIF}
      //Geral
       DM.ACBrNFe1.Configuracoes.Geral.FormaEmissao         := StrToTpEmis(OK,IntToStr(0));
       DM.ACBrNFe1.Configuracoes.Geral.Salvar               := True;
       DM.ACBrNFe1.Configuracoes.Arquivos.PathSalvar        := 'c:\mercado\nfce\';
     //WebServices
      DM.ACBrNFe1.Configuracoes.WebServices.UF             := DM.TlojaUF_NFCE.Text;
      DM.ACBrNFe1.Configuracoes.WebServices.Ambiente       := StrToTpAmb(OK,DM.TlojaAMBIENTEEMISSAO_NFCE.Text);
      DM.ACBrNFe1.Configuracoes.WebServices.Visualizar     := True;
      DM.ACBrNFe1.Configuracoes.WebServices.ProxyHost      := DM.TlojaEMAIL_NFCE_HOST.Text;
      DM.ACBrNFe1.Configuracoes.WebServices.ProxyPort      := DM.TlojaEMAIL_NFCE_PORTA.Text;
      DM.ACBrNFe1.Configuracoes.WebServices.ProxyUser      := DM.TlojaEMAIL_NFCE_USUARIO.Text;
      DM.ACBrNFe1.Configuracoes.WebServices.ProxyPass      := DM.TlojaEMAIL_NFCE_SENHA.Text;

      //
      if DM.ACBrNFe1.DANFE <> nil then
      begin
        DM.ACBrNFe1.DANFE.TipoDANFE := StrToTpImp(OK,'1');
        DM.ACBrNFe1.DANFE.Logo      := 'c:\mercado\logotipo.jpg';
      end;

    end;

     

    43170727614808000115650010000000011000000012-nfe.xml

    1-env-lot.xml

×
×
  • 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.