Ir para conteúdo
  • Cadastre-se

gutopmc

Membros
  • Total de ítens

    170
  • Registro em

  • Última visita

Posts postados por gutopmc

  1. Agradeço a ajuda Italo!

     

    Para funcionar eu alterei a parte que você me falou para a forma abaixo (em negrito):

     

     

    if NFSe.Competencia <> ''
            then begin
             case FProvedor of
              proPVH,
              proMitra,
              proGovDigital,
              proISSe:    Gerador.wCampoNFSe(tcDat,    '#4', 'Competencia', 10, 10, 1, NFSe.Competencia, DSC_DEMI);
              proGoiania,
              proTecnos:  Gerador.wCampoNFSe(tcDatHor, '#4', 'Competencia', 19, 19, 0, NFSe.Competencia, DSC_DEMI);
              else        Gerador.wCampoNFSe(tcStr,    '#4', 'Competencia', 19, 19, 1, NFSe.Competencia, DSC_DEMI);
             end
            end
            else begin
             if FProvedor in [proPVH, proFreire, proISSe, proFiorilli, proSaatri, proCoplan,
                              proMitra, proVitoria, proGovDigital]
              then Gerador.wCampoNFSe(tcDat,    '#4', 'Competencia', 10, 10, 1, NFSe.DataEmissao, DSC_DEMI)
              else begin
                if not(FProvedor in [proGoiania])
                  then Gerador.wCampoNFSe(tcDatHor, '#4', 'Competencia', 19, 19, 0, NFSe.DataEmissao, DSC_DEMI);

              end;
            end;

     

  2. Alguem teve problemas com a carta de correção no horario de verão? Um cliente me disse que para tirar uma teve que voltar a data do computador para o dia da emissao da nota para conseguir porque estava dando mensagem de data inválida. E antes do horário, tirava no dia seguinte normalmente.

  3. Meu problema é o seguinte, como todo mundo sabe, quando a nota tem frete ele tem que ser rateado nos itens ou somado em um item com a mesma alíquota. No caso o frete tem aliquota de 17% e todos os itens tem aliquota de 12%, ou seja, não tem aonde eu somar o icms do frete de forma que não dê rejeição na comparação com o cabeçalho. Como é que isso pode ser resolvido?

  4. Meu problema é o seguinte, salvo o xml da nota e do protocolo no banco de dados. Na virada do mês , quando o cliente quer salvar o xml de todas as notas para enviar para o contador, ele marca todas e clica no botão salvar. Nesse momento carrego os xml das notas selecionadas para o componente acbbrnfe e salvo. Só que o processo fica tão lento que o cliente acha que o sistema travou. Alguma sugestão de como resolver?

    Segue o procedimento utilizado:

    procedure TDMNFe_ent.SalvarXML;

    function StringToStream(const ANFe, ANFeProt: WideString): TStringStream;

    var

    vXml: WideString;

    begin

    if ANFeProt &lt;&gt; '' then

    begin

    vXml := '&lt;?xml version="1.0" encoding="UTF-8" ?&gt;'+

    ''+

    ANFe+

    ''+

    ANFeProt+

    ''+

    '';

    end

    else

    begin

    vXml := ANFe;

    end;

    Result := TStringStream.Create(vXml);

    end;

    var

    vXML, vXMLProt: WideString;

    vDir: String;

    begin

    cdNotasFiscais.DisableControls;

    DMNFe.ACBrNFe1.NotasFiscais.Clear;

    FChecado.Clear;

    try

    try

    cdNotasFiscais.First;

    while not(cdNotasFiscais.Eof) do

    begin

    if cdNotasFiscais.FieldByName('NFE_SITUACAO').AsString = 'Autorizada' then

    begin

    if cdNotasFiscais.FieldByName('CHECK').AsBoolean then

    begin

    vXML := LoadXML(cdNotasFiscais.FieldByName('NFE_XML_ID').AsInteger);

    vXMLProt := LoadXML(cdNotasFiscais.FieldByName('NFE_PROT_ID').AsInteger);

    DMNFe.ACBrNFe1.NotasFiscais.LoadFromStream(StringToStream(vXML, vXMLProt));

    FChecado.Add(cdNotasFiscais.FieldByName('NUMNOTA').AsString);

    end;

    end;

    cdNotasFiscais.Next;

    end;

    if not(DMNFe.ACBrNFe1.NotasFiscais.Count = 0) then

    begin

    if not(SelectDirectory('Selecionar Diretorio', 'C:\', vDir)) then

    exit;

    DMNFe.ACBrNFe1.Configuracoes.Geral.PathSalvar:=vDir;

    DMNFe.ACBrNFe1.NotasFiscais.SaveToFile();

    cdNotasFiscais.Refresh;

    end;

    except

    on E: Exception do

    begin

    MessageDlg('Erro Salvar XML em arquivo Nota '+cdNotasFiscais.FieldByName('NUMNOTA').AsString+sLineBreak+

    'Original: '+E.Message , mtError,[mbOk], 0);

    end;

    end;

    finally

    cdNotasFiscais.EnableControls;

    end;

  5. Rotina de impressão.

     

     

    procedure TDMNFe.Imprimir;
        function StringToStream(const ANFe, ANFeProt: WideString): TStringStream;
        var
          vXml: WideString;
        begin
          if ANFeProt <> '' then
          begin
            vXml := '<?xml version="1.0" encoding="UTF-8" ?>'+
                    '<nfeProc versao="1.10" xmlns="http://www.portalfiscal.inf.br/nfe">'+
                      ANFe+
                      '<protNFe versao="1.10">'+
                      ANFeProt+
                      '</protNFe>'+
                    '</nfeProc>';
          end
          else
            begin
              vXml := ANFe;
            end;
          Result := TStringStream.Create(vXml);
        end;
    var
      vXML, vXMLProt, vXMLDPEC: WideString;
    begin
        cdNotasFiscais.DisableControls;
     

      ACBrNFe1.NotasFiscais.Clear;
      ACBrNFeDANFERaveCB1.Logo    := NotaFiscalEletronica1.Configuracoes.Report.Logo;
      FChecado.Clear;
      try
        try
          cdNotasFiscais.First;
          while not(cdNotasFiscais.Eof) do
          begin
            if not(cdNotasFiscais.FieldByName('NFE_SITUACAO').AsString = 'Em Digitacao') then
            begin
              if cdNotasFiscais.FieldByName('CHECK').AsBoolean then
              begin
     

                //-Na linha abaixo é carregado o xml da nf23035

                vXML := LoadXML(cdNotasFiscais.FieldByName('NFE_XML_ID').AsInteger);
                

                //-Na linha abaixo é carregado o xml do protocolo

                if not(cdNotasFiscais.FieldByName('NFE_PROT_ID').AsInteger = 0) then
                  vXMLProt := LoadXML(cdNotasFiscais.FieldByName('NFE_PROT_ID').AsInteger);

               

                 //Na linha abaixo o componente recebe os xml

                 ACBrNFe1.NotasFiscais.LoadFromStream(StringToStream(vXML, vXMLProt));

     

                FChecado.Add(cdNotasFiscais.FieldByName('NUMNOTA').AsString);
              end;
            end;
            cdNotasFiscais.Next;
          end;

          if not(ACBrNFe1.NotasFiscais.Count = 0) then
          begin

      
            ACBrNFe1.DANFE.ProtocoloNFe := ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.nProt +' '+ DateTimeToStr

    (ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.dhRecbto); //Ja removi essa linha para teste e imprimiu da mesma forma

            ACBrNFe1.NotasFiscais.Imprimir; // Impressão da(s) nota(s)
     

            cdNotasFiscais.Refresh;
          end;
        except
          on E: Exception do
            begin
              MessageDlg('Erro Ler XML Nota '+cdNotasFiscais.FieldByName('NUMNOTA').AsString+sLineBreak+
                         'Original: '+E.Message , mtError,[mbOk], 0);
            end;
        end;
      finally
        cdNotasFiscais.EnableControls;
      end;
    end;

    protocolo.xml

    nf23035.xml

  6. Outra situação que pode ocorrer é cancelar a nota errada. Quando vou cancelar , carrego no componente o xml da nota e o xml do protocolo. No comando de cancelamento vai a chave correta da nota , porém o protocolo errado, o que faz com que a nota do primeiro protocolo seja cancelada e  a da chave não. Uma solução temporária que criei é enviar uma nota por lote, porém fica lento o envio quando são muitas notas e a reclamação ja veio!

  7. Recebi uma reclamação do cliente que realmente parece que esta aconteçendo. No caso, se o usuário assina 5 notas e transmite as mesmas e elas são autorizadas, no retorno com o protocolo vão constar as 5 notas e seus respectivos protocolos. Aconteçe que na impressão do DANFE esta puxando o protocolo da primeira nota do lote, ou seja, 4 vão imprimir o protocolo errado e somente 1 o certo.

    Alguem confirma isso? Já tem solução?

  8. Depois da ultima compilação no meu emissor esta dando a mensagem de Falha no Schema quando tento transmitir. Coloquei o xml no validador do Sefaz/RS e não retornou nenhum erro. O que pode ser?
    Em anexo o xml da nota

    nf8950.xml

  9. que eu saiba, ainda nao esta habilitado goiania para emissão de nota fiscal de serviço.

    somente pelo site da prefeitura.

    assim que tiver liberado tambem irei fazer o meu, pq tambem preciso

     

    Já está liberado a transmissão via aplicativo do contribuinte sim. A emissão do danfe que só pode ser feita pelo site da prefeitura!

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