Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 1603 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Moderadores
9 minutos atrás, cleber_queiroz disse:

Bom dia!

Estou tentando gerar o qr code no acbrmdfe, olhei as dicas aqui do fórum e atualizei o acbr mas

mesmo assim não acho a GERAINFMDFSUPL para mudar para qr code, alguém tem alguma dica?

Desde já obrigado a todos.

Essa propriedade não existe mais, já que a geração do QrCode é obrigatória.

O QrCode é gerado automaticamente no XML assim que ele é assinado.

  • Curtir 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Cleber,

Você esta com todos os fontes de todas as pastas atualizados?

Reinstalou a suíte ACBr com o ACBrInstall_Trunk2 e deixou marcado a opção para apagar os arquivos antigos?

A propriedade de configuração GerarInfMDFeSupl não existe mais.

O grupo InfMDFeSupl só será gerado depois que o XML for assinado.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Boa tarde Italo!

Exatamente o que fiz entrei com o trunk_2, atualizei os fontes, e mandei remover os antigos e ele continua a dar erro 480, reclamando do qr-code.

segue abaixo a linha de código e o xml gerado:

  ACBrMDFe1.Manifestos.Clear;
  ACBrMDFe1.Configuracoes.Certificados.NumeroSerie:=wNUMCERTIF;
  ACBrMDFe1.Configuracoes.Certificados.Senha      :=wSENHACERT;
  if not DirectoryExists(wCAMINHOPDF+formatdatetime('yyyymm',cdsParametros.FieldByName('DTMOV').asdatetime)) then
     CreateDir(wCAMINHOPDF+formatdatetime('yyyymm',cdsParametros.FieldByName('DTMOV').asdatetime));

  ACBrMDFeDAMDFeRL1.PathPDF :=wCAMINHOPDF+formatdatetime('yyyymm',cdsParametros.FieldByName('DTMOV').asdatetime);
  ACBrMDFe1.Configuracoes.Arquivos.PathSalvar:=wCAMINHONFE;
  ACBrMDFe1.Configuracoes.Arquivos.PathMDFe:=wCAMINHONFEBKP;
  ACBrMDFe1.Configuracoes.Arquivos.PathEvento:=wCAMINHONFEBKP;
  ACBrMDFe1.Configuracoes.Geral.GetHashCode;
  ACBrMDFe1.Configuracoes.WebServices.Ambiente   := StrToTpAmb(Ok,IntToStr(rdgamb.ItemIndex+1));
  ACBrMDFeDAMDFeRL1.Logo   :=wCAMINHOLOGO;
  ACBrMDFeDAMDFeRL1.TipoDAMDFe:=tiRetrato;
  ACBrMDFeDAMDFeRL1.NumCopias:=cdsfilial.FieldByName('NVIANFE').AsInteger;
  ACBrMDFe1.Configuracoes.WebServices.UF:=CDSFILIAL.FieldByName('uf').AsString;

  if chkcont.Checked then
     begin
       ACBrMDFe1.Configuracoes.Geral.FormaEmissao := teSCAN;
       ACBrMDFe1.Configuracoes.WebServices.UF:=cbufcont.Text;
     end;

  with ACBrMDFe1.Manifestos.Add.MDFe do
  begin
    Ide.cUF := ACBrMDFe1.Configuracoes.WebServices.UFCodigo;
    case rdgamb.ItemIndex of
      0: Ide.tpAmb := taProducao;
      1: Ide.tpAmb := taHomologacao;
    end;

    Ide.tpEmit  := teTranspCargaPropria;
    Ide.modelo  := '58';
    Ide.serie   := 1;
    Ide.nMDF    := StrToIntDef(EDNOTA1.Text, 0);
    Ide.cMDF    := 1;  // Código Aleatório
    // TMDFeModal = ( moRodoviario, moAereo, moAquaviario, moFerroviario );
    Ide.modal   := moRodoviario;
    Ide.dhEmi   := Now;
    // TpcnTipoEmissao = (teNormal, teContingencia, teSCAN, teDPEC, teFSDA);
    Ide.tpEmis  := teNormal;
    // TpcnProcessoEmissao = (peAplicativoContribuinte, peAvulsaFisco, peAvulsaContribuinte, peContribuinteAplicativoFisco);
    Ide.procEmi := peAplicativoContribuinte;
    Ide.verProc := '3.0.20';
    Ide.UFIni   := cmbufcar.Text;
    Ide.UFFim   := cmbufdescar.Text;
    with Ide.infMunCarrega.Add do
    begin
      cMunCarrega := strtoint(edcodmunc.text);
      xMunCarrega := ednomemunc.text;
    end;
    //
    // Dados do Emitente
    //
    Emit.CNPJCPF := retirachar(cdsFilial.FieldByName('cgc').AsString);
    Emit.IE := retirachar(cdsFilial.FieldByName('insc').AsString); //edtEmitIE.Text;

    Emit.xNome   := cdsFilial.FieldByName('nome').asstring;
    Emit.xFant   := cdsFilial.FieldByName('nome').asstring;

    Emit.EnderEmit.xLgr    := semacento(cdsFilial.fieldbyname('ENDERECO').AsString); //edtEmitLogradouro.Text;
    Emit.EnderEmit.nro     := cdsFilial.fieldbyname('NUMERO').AsString; //edtEmitNumero.Text;
    Emit.EnderEmit.xCpl    := semacento(cdsFilial.fieldbyname('COMPL').AsString); //edtEmitComp.Text;
    Emit.EnderEmit.xBairro := semacento(cdsFilial.fieldbyname('BAIRRO').AsString); //edtEmitBairro.Text;
    Emit.EnderEmit.cMun    := strtoint( retsonum( cdsFilial.FieldByName('CODMUN').AsString )); //StrToInt(edtEmitCodCidade.Text);
    Emit.EnderEmit.xMun    := semacento(cdsFilial.fieldbyname('CIDADE').AsString); //edtEmitCidade.Text;
    Emit.EnderEmit.CEP     := strtoint( retsonum( retirachar(cdsFilial.fieldbyname('CEP').AsString) )); //StrToInt(edtEmitCEP.Text);
    Emit.EnderEmit.UF      := cdsFilial.fieldbyname('UF').AsString; //edtEmitUF.Text;
    if length(trim(cdsFilial.fieldbyname('TEL').AsString))>10 then
       Emit.EnderEmit.fone    := copy(cdsFilial.fieldbyname('TEL').AsString,3,10)
    else
       Emit.EnderEmit.fone    := cdsFilial.fieldbyname('TEL').AsString; //edtEmitFone.Text;
    Emit.enderEmit.email   := cdsfilial.FieldByName('email').asstring;


    rodo.RNTRC := cdsTransp.FieldByName('RNTRC').AsString;
    rodo.CIOT  := cdsTransp.FieldByName('CIOT').AsString;

    rodo.veicTracao.cInt    := cdstransp.fieldbyname('codigo').AsString;
    rodo.veicTracao.placa   := cdstransp.fieldbyname('placa').AsString;
    rodo.veicTracao.RENAVAM := cdstransp.fieldbyname('renavam').AsString;;
    rodo.veicTracao.tara    := cdstransp.fieldbyname('tara').Asinteger;
    rodo.veicTracao.capKG   := cdstransp.fieldbyname('totpeso').Asinteger;
    rodo.veicTracao.capM3   := cdstransp.fieldbyname('totpesom3').Asinteger;

    // TpcteTipoRodado = (trNaoAplicavel, trTruck, trToco, trCavaloMecanico, trVAN, trUtilitario, trOutros);
    // Para o MDF-e não utilizar o trNaoAplicavel.
    if cdstransp.FieldByName('tprod').AsInteger=1 then
       rodo.veicTracao.tpCar := tcNaoAplicavel
    else if cdstransp.FieldByName('tprod').AsInteger=2 then
       rodo.veicTracao.tpRod := trTruck
    else if cdstransp.FieldByName('tprod').AsInteger=3 then
       rodo.veicTracao.tpRod := trToco
    else if cdstransp.FieldByName('tprod').AsInteger=4 then
       rodo.veicTracao.tpRod := trCavaloMecanico
    else if cdstransp.FieldByName('tprod').AsInteger=5 then
       rodo.veicTracao.tpRod := trVAN
    else if cdstransp.FieldByName('tprod').AsInteger=6 then
       rodo.veicTracao.tpRod := trUtilitario
    else if cdstransp.FieldByName('tprod').AsInteger=7 then
       rodo.veicTracao.tpRod := trOutros;

    // TpcteTipoCarroceria = (tcNaoAplicavel, tcAberta, tcFechada, tcGraneleira, tcPortaContainer, tcSider);
    if cdstransp.FieldByName('tpcar').AsInteger=1 then
       rodo.veicTracao.tpCar := tcNaoAplicavel
    else if cdstransp.FieldByName('tpcar').AsInteger=2 then
       rodo.veicTracao.tpCar := tcAberta
    else if cdstransp.FieldByName('tpcar').AsInteger=3 then
       rodo.veicTracao.tpCar := tcFechada
    else if cdstransp.FieldByName('tpcar').AsInteger=4 then
       rodo.veicTracao.tpCar := tcGraneleira
    else if cdstransp.FieldByName('tpcar').AsInteger=5 then
       rodo.veicTracao.tpCar := tcPortaContainer
    else if cdstransp.FieldByName('tpcar').AsInteger=6 then
       rodo.veicTracao.tpCar := tcSider;

    rodo.veicTracao.UF := cdstransp.fieldbyname('ufplaca').AsString;

    with rodo.veicTracao.condutor.Add do
    begin
      xNome := cdstransp.fieldbyname('nome').asstring;
      CPF   := cdstransp.fieldbyname('cgc').asstring;;
    end;

    if cdstransp.FieldByName('placacav').AsString<>'' then
       begin
         with rodo.veicReboque.Add do
         begin
           cInt    := cdstransp.fieldbyname('codigo').AsString;
           placa   := cdstransp.fieldbyname('placacav').AsString;
           RENAVAM := cdstransp.fieldbyname('renavamreb').AsString;;
           tara    := cdstransp.fieldbyname('tarareb').Asinteger;
           capKG   := cdstransp.fieldbyname('totpesoreb').Asinteger;
           capM3   := cdstransp.fieldbyname('totpesom3reb').Asinteger;

           // TpcteTipoCarroceria = (tcNaoAplicavel, tcAberta, tcFechada, tcGraneleira, tcPortaContainer, tcSider);
           if cdstransp.FieldByName('tpcarreb').AsInteger=1 then
              tpCar := tcAberta
           else if cdstransp.FieldByName('tpcarreb').AsInteger=2 then
              tpCar := tcFechada
           else if cdstransp.FieldByName('tpcarreb').AsInteger=3 then
              tpCar := tcGraneleira
           else if cdstransp.FieldByName('tpcarreb').AsInteger=4 then
              tpCar := tcPortaContainer
           else if cdstransp.FieldByName('tpcarreb').AsInteger=5 then
              tpCar := tcSider;

           UF := cdstransp.FieldByName('ufreb').asstring;
         end;
       end;

    qt:=0;
    with infDoc.infMunDescarga.Add do
    begin
      cMunDescarga := strtoint(edcodmund.Text);
      xMunDescarga := ednomemund.Text;
      cdsvendas.First;
      while not cdsvendas.Eof do
        begin
          if cdsvendas.FieldByName('imprime').AsString='S' then
             begin
               infNFe.Add.chNFe:=cdsVendasCHAVENFE.AsString;
               inc(qt);
             end;
          cdsvendas.Next;
        end;

      if trim(edchave1.text)<>'' then
         begin
           infcte.Add.chCTe:=edchave1.Text;
           inc(qt);
         end;
      if trim(edchave2.text)<>'' then
         begin
           infcte.Add.chCTe:=edchave2.Text;
           inc(qt);
         end;
      if trim(edchave3.text)<>'' then
         begin
           infcte.Add.chCTe:=edchave3.Text;
           inc(qt);
         end;
      if trim(edchave4.text)<>'' then
         begin
           infcte.Add.chCTe:=edchave4.Text;
           inc(qt);
         end;
      if trim(edchave5.text)<>'' then
         begin
           infcte.Add.chCTe:=edchave5.Text;
           inc(qt);
         end;
      if trim(edchave6.text)<>'' then
         begin
           infcte.Add.chCTe:=edchave6.Text;
           inc(qt);
         end;
      if trim(edchave7.text)<>'' then
         begin
           infcte.Add.chCTe:=edchave7.Text;
           inc(qt);
         end;
      if trim(edchave8.text)<>'' then
         begin
           infcte.Add.chCTe:=edchave8.Text;
           inc(qt);
         end;


    end;

    tot.qNFe := qt;
    tot.vCarga := retnum(edvalorcarga.Text);
    // UnidMed = (uM3,uKG, uTON, uUNIDADE, uLITROS);
    if cmbunidmed.ItemIndex=0 then
       tot.cUnid  :=  uM3
    else if cmbunidmed.ItemIndex=1 then
       tot.cUnid  :=  uKG
    else if cmbunidmed.ItemIndex=2 then
       tot.cUnid  :=  uTon
    else if cmbunidmed.ItemIndex=3 then
       tot.cUnid  :=  uUNIDADE
    else if cmbunidmed.ItemIndex=4 then
       tot.cUnid  :=  uLITROS;

    tot.qCarga := retnum(edqtdcarga.text);

    infAdic.infCpl     := MEMO1.Text;
    infAdic.infAdFisco := '';
    autXML.Add.CNPJCPF := cdsFilial.FieldByName('cgc').AsString;
  end;

  ACBrMDFe1.Manifestos.Items[0].NomeArq:='Mdfe_'+EDNOTA1.Text;
  ACBrMDFe1.Manifestos.GerarMDFe;
  ACBrMDFe1.Manifestos.Items[0].GravarXML('Mdfe_'+EDNOTA1.Text+'.xml', wCAMINHONFE);
  ACBrMDFe1.Enviar(STRTOINT(EDNOTA1.Text));


  ACBrMDFe1.Manifestos.LoadFromFile(wCAMINHONFE+'Mdfe_'+EDNOTA1.Text+'.xml',true);
  ACBrMDFe1.Manifestos.Assinar;
  ACBrMDFe1.Manifestos.Validar;

  ACBrMDFe1.Consultar;

  LoadXML(MemoResp, WBResposta);

  if (ACBrMDFe1.WebServices.Enviar.cStat=104) or (ACBrMDFe1.WebServices.Enviar.cStat=105) then
     begin
       ShowMessage('Arquivo gerado em: '+ACBrMDFe1.Manifestos.Items[0].NomeArq);
       MemoResp.Lines.LoadFromFile(ACBrMDFe1.Manifestos.Items[0].NomeArq);
       ACBrMDFe1.DAMDFE.ImprimirDAMDFe;
       ACBrMDFe1.damdfe.ImprimirDAMDFePDF;
       cdsFilial.Edit;
       cdsFilial.FieldByName('nummdfe').AsInteger:=StrToInt(EDNOTA1.Text);
       cdsFilial.ApplyUpdates(-1);
       EDNOTA1.Text:=inttostr(cdsfilial.FieldByName('nummdfe').AsInteger+1);
     end;
 

Mdfe_1.xml

Editado por cleber_queiroz
Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Cleber,

Primeiramente lhe peço para não postar código, procure sempre anexar o mesmo.

Outra coisa que notei que esta errado na sua rotina.

No bloco abaixo para que executar o GerarMDFe e o GravarXML, sendo que o Enviar já faz tudo isso.

ACBrMDFe1.Manifestos.Items[0].NomeArq:='Mdfe_'+EDNOTA1.Text;
ACBrMDFe1.Manifestos.GerarMDFe;   
ACBrMDFe1.Manifestos.Items[0].GravarXML('Mdfe_'+EDNOTA1.Text+'.xml', wCAMINHONFE);
ACBrMDFe1.Enviar(STRTOINT(EDNOTA1.Text)); 

Não faz sentido nesse bloco você executar o Assinar e Validar, visto que eles são executados automaticamente pelo Enviar do bloco assima.
Outra coisa, o parâmetro True no LoadFromFile faz com que o XML seja reconstruido do zero, perdendo assim a assinatura e o protocolo.

ACBrMDFe1.Manifestos.LoadFromFile(wCAMINHONFE+'Mdfe_'+EDNOTA1.Text+'.xml',true);
ACBrMDFe1.Manifestos.Assinar;
ACBrMDFe1.Manifestos.Validar; 
ACBrMDFe1.Consultar; 

Por fim, o que você tem contra o nome padrão do XML definido pela SEFAZ?

<chave do MDF-e>-mdfe.xml

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Cleber,

Existe algum fonte do ACBr que contem uma bolinha vermelha em seu ícone?

Se sim, isso significa que ele foi alterado, quando atualizamos os fontes esse que esta alterado não é atualizado.

Sugiro que você exclua esses fontes que contem a bolinha vermelha, depois atualize os fontes novamente e por fim reinstale os componentes novamente.

Faça um teste usando o programa exemplo.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Boa tarde Italo!

Consegui resolver amigo, entrei removi tudo do acbr e depois baixei como se fosse tudo

zero km ai sim ele trouxe os fontes novos, tentando atualizar pelo trunk2 ele não baixava

os fontes que queria mesmo pedindo para remover os anteriores.

Muito Obrigado pela atenção e as dicas.

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • Consultores

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1603 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.