Ir para conteúdo
  • Cadastre-se

Rosemir

Membros
  • Total de ítens

    36
  • Registro em

  • Última visita

Posts postados por Rosemir

  1. @hleorj

    Segue PDF e um print mostrando a duplicidade da informação. No caso dessa nota é apenas o endereço de entrega, mas o mesmo se aplica ao endereço de retirada.

    A primeira informação de entrega que aparece é colocada automaticamente pelo componente ACBr. A segunda informação de entrega é montada pelo meu sistema e enviada junto no arquivo xml na TAG infCpl.

    Att.

    Rosemir

    42180876344407000106550020000215641000215640-nfe.pdf

    duplicidade_entrega.jpg

  2. Bom dia a todos...

    Sempre utilizei o fortes no formato retrato para impressão do DANFe, porém, agora um cliente solicitou que fosse impresso no formato paisagem. Fácil configurar, porém me deparei com uma dificuldade.

    Meu sistema controla a geração do endereço de retirada e de entrega nas informações complementares da nota fiscal, ou seja, o sistema gera a informação na TAG "InfAdic.infCpl".

    Para o formato "Retrato" funciona certinho pois é impresso apenas o que está no XML, mas no formato paisagem, há uma implementação que verifica se no arquivo xml tem o endereço de retirada e de entrega preenchido nos campos próprios e preenche novamente o endereço no momento que está gerando o DANFe. Ou seja, imprime as informações complementares diferente do que está no arquivo XML.

    Eu poderia implementar um parâmetro para isso no componente, mas antes de qualquer coisa gostaria da opinião dos demais colegas do fórum:

    1) Remover esta funcionalidade do layout paisagem, sendo que esta informação não foi para o arquivo xml (o que pode ter um agravante pois deve ter alguém que utiliza dessa forma). Aqui ainda fica a dúvida, se alguém utiliza dessa forma, utiliza somente no formato paisagem?

    2) Criar um parâmetro de configuração para o endereço de entrega e de retirada e implementar também no layout retrato para que fique padrão (o que também poderia ter alguns agravantes, pois quem utiliza no formato retrato, talvez já faça como eu, enviar as informações de retirada e de entrega já no arquivo xml, onde a impressão ocorre normalmente e se implementada dessa forma irá duplicar as informações).

    Implementação na unit "ACBrNFeDANFeRLPaisagem.pas" no método "procedure TfrlDANFeRLPaisagem.DadosAdicionais;" onde é chamado os métodos a seguir:

     

    InsereLinhas(EnderecoRetirada, iLimiteCaracteresLinha, rlmDadosAdicionaisAuxiliar);

    InsereLinhas(EnderecoEntrega, iLimiteCaracteresLinha, rlmDadosAdicionaisAuxiliar);

     

    Fico no aguardo da opinião de mais alguém.

    Grato!

     

     

     

     

  3. Fiz algumas alterações nas units "ACBrNFeDANFEClass.pas" e "ACBrNFeDANFeRLClass.pas", (por enquanto somente no Fortes), para resolver a questão 1. Minha sugestão seria criar uma propriedade no componente, para configurar se deseja imprimir agrupado ou não. Por padrão, viria "False", para não alterar o comportamento já existente hoje.

    Agradeceria muito se algum dos moderadores pudessem analisar minhas alterações e sugerir alguma melhoria ou até uma outra forma caso seja necessário.

    Segue em anexo os arquivos alterados.

    Fico no aguardo e espero ter ajudado.

    ACBrNFeDANFEClass.pas

    ACBrNFeDANFeRLClass.pas

  4. Quando realiza a impressão de um lote de NFes, vou adicionando as notas desejadas no componente e executo ACBrNFe.NotasFiscais.Imprimir; ou ACBrNFe.NotasFiscais.ImprimirPDF;

    Dúvidas:

    1) No método "Imprimir", quando é apenas uma cópia, tudo certo, imprime todas as notas na sequencia que adicionei. Quando é 3 copias, por exemplo, as notas são impressas na sequência e se repete quantas cópias foram solicitadas. Veja no exemplo a sequência das notas imprimindo 3 cópias (seria o número delas): 1001, 1002, 1003, 1004... 1001, 1002, 1003, 1004... 1001, 1002, 1003, 1004. Gostaria de saber se tem como imprimir agrupada como no exemplo a seguir: 1001, 1001, 1001... 1002, 1002, 1002... 1003, 1003, 1003... 1004, 1004, 1004.

    2) Outra questão sobre a impressão, é quando utilizo o método "ImprimirPDF", se tem como imprimir várias notas em um mesmo arquivo PDF, pois mesmo adicionando várias notas, são gerados arquivos diferentes.

    Para a maioria dos meus clientes, da forma que está atente perfeitamente, mas se fosse possível configurar diferente para essa minoria de clientes, seria interessante.

    Caso alguém saiba como ajudar agradeço.

     

  5. 10 minutos atrás, fernandocompels disse:

    Eu me recordo que nos meus testes (há algum tempo) eu havia tentado e não havia conseguido também.

    Porém, na época eu estava informando o "vPag" com a "diferença" que não iria ser paga, isto é, com um valor "diferente" de "0.00".

    Tente fazer conforme comentado pelo Leonardo. Informe o "vPag" com o valor "0.00". Mesmo que a soma dos valores das tags "vPag" não bata com o valor da tag "vNF", pode ser que autorize.

     

    6 minutos atrás, RicardoVoigt disse:

    Como o @fernandocompels disse... para o 90-"Sem pagamento" agora deve informar vPag=0

    Att

    Ricardo

    Muito obrigado Fernando e Ricardo

    Realmente funcionou, o problema é que eu estava jogando a diferença no campo vPag.

     

     

  6. Em 30/07/2018 at 15:55, Leonardo Pavanello disse:

    Boa tarde pessoal, só relatando o que a SEFAZ RS instruiu.

    Se uma parte do valor da nota não corresponde a um pagamento, então a orientação é incluir um segundo item no quadro de pagamentos, com a opção “90 – Sem pagamento”.

    Dessa maneira consegui enviar as notas que estavam trancadas com esse problema, meus clientes não queriam emitir duas notas.

    Até quando isso será possível? Não sei, mas momentaneamente até o SEFAZ  barrar de vez funcionou!

    Em anexo o XML caso queiram ver.

    Espero que ajude!

    Editado Funcionou.xml

    Voltei a fazer o teste com o a opção 90 - Sem Pagamentos, mas não autorizou, a rejeição é a "904 - Informado indevidamente campo valor de pagamento". Só estou conseguindo autorizar se informar a opção 99 - Outros.

    Só testei em ambiente de homologação, alguém mais conseguiu autorizar utilizando o 90?

     

  7. Estava acompanhando este tópico e havia resolvido por uns dias, até que hoje me deparei com uma nova dificuldade:

    904 - Rejeição: Informado indevidamente campo valor de pagamento

    "Informado o campo Meio de Pagamento igual a sem pagamento  (tag:tPag=90, id:YA02) e informado campo Valor do Pagamento diferente de zero (tag:vPag<>0, id:YA03)."

    O cenário é o seguinte: tenho uma nota fiscal com 2 itens, um deles cfop 5902 (remessa industrializado) e o outro 5124 (cobrança).

    Já a dias atrás tentei sugerir ao nosso cliente a emissão de notas fiscais separadas, mas não aceitou (acho que deve ser muito pesado pro caminhão levar 2 notas, rsssss). A rejeição 904 está ocorrendo devido a uma alternativa sugerida aqui mesmo neste tópico: acrescentar a forma de pagamento "90 - Sem Pagamentos" com o valor da diferença entre o total da nota fiscal e o valor do item de cobrança (cfop 5124). Resolveu por uns dias, mas agora estou em busca de uma outra alternativa.

    Para resolver de imediato e poder liberar o caminhão, alterei para ao invés de utilizar o "90 - Sem Pagamentos", utilizar então o "99 - Outros" para jogar no xml a diferença e não ocorrer a rejeição "865 - Rejeicao: Total dos pagamentos menor que o valor total da nota".

    Alguém dos colegas está tendo esta mesma dificuldade?

    Alguma outra sugestão que não seja emitir 2 notas?

     

     

  8. 44 minutos atrás, Italo Jurisato Junior disse:

    Bom dia Rosemir,

    Acredito que os seus fontes estão desatualizados, veja:

        if Leitor.rExtrai(2, 'toma4') <> '' then
        begin
          (*B29*)CTe.Ide.Toma4.toma    := StrToTpTomador(ok, Leitor.rCampo(tcStr, 'toma'));
                 CTe.Ide.Toma03.Toma   := CTe.Ide.Toma4.toma;

    Como você pode ver se existe o grupo <toma4> o campo Toma de Toma03 recebe o mesmo valor do camppo Toma de Toma4.

    O que eu não entendo é esse procedimento de muitos em gerar o XML, salvar e depois carrega-lo para poder enviar.

    Por que não gera, assina, valida só no momento do envio?

    Sim, na verdade eles estavam desatualizados... O que aconteceu foi que eu atualizei e não testei antes de fazer a minha alteração, achei que a minha alteração é que havia resolvido o problema. Está correto, realmente não precisa alterar nada.

    Desculpa pelo transtorno e agradeço pela explicação @Italo Jurisato Junior

     

  9. 19 horas atrás, Italo Jurisato Junior disse:

    Bom dia Rosemir,

    A minha sugestão é quando o tomador for outros devemos também:

    CTe.ide.Toma03.Toma := tmOutros;

    Bom dia @Italo Jurisato Junior

    Sim, sem problemas fazer isso quando estiver gerando o XML, mas quando faz o LoadFromFile ou LoadFromStream, "CTe.ide.Toma03.Toma" acaba ficando sempre como "tmRemetente", pois no xml não tem a TAG "Toma3" e não há tratamento quando não encontra. A minha sugestão seria nesse caso, apenas atribuir "tmOutros" quando não encontrada a TAG "Toma3".

    Eu entendo que referente ao problema desse post, apenas passando True no segundo parâmetro resolve, mas a propriedade fica como "tmRemetente" e no XML é "tmOutros".

    A correção seria referente ao método " LerXml";

     

     

  10. Estou com o mesmo problema, tentando autorizar um CTe onde o tomador é um terceiro (tmOutros).

    Estou gerando o xml, assinando e na hora de transmitir o arquivo, utilizo o "ACBrCTe.Conhecimentos.LoadFromFile()" sem colocar como False no segundo parâmetro.

    Quando gero o XML a TAG <IE> do remetente está no arquivo, quando faço o LoadFromFile a TAG some. Isto acontece porque na hora de gerar o arquivo novamente existe uma verificação lá na unit "pcteCTeW", no método "GerarRem" verificando o seguinte:

          if (Trim(CTe.Rem.IE) <> '') then
          begin
            if (CTe.infCTe.versao >= 3) then
            begin
              if (CTe.ide.Toma03.Toma = tmRemetente) then
              begin
                if (CTe.ide.indIEToma <> inNaoContribuinte) then
                  GeraIE;
              end
              else
                GeraIE;
            end
            else
              GeraIE;
          end;

    O problema é que "CTe.ide.Toma03.Toma" está igual a "tmRemetente" e no meu ponto de vista deveria estar "tmOutros".

    No momento que gera o XML tem como atribuir "tmOutros" para "Toma03.Toma", mas no LoadFromFile não tem como.

    Minha sugestão é alterar a leitura do arquivo XML.

    Unit -> pcteCTeR

    Método -> function TCTeR.LerXml: Boolean;

    De

      (* Grupo da TAG <ide><toma03> ***********************************************)
      if Leitor.rExtrai(1, 'ide') <> '' then
      begin
        if (Leitor.rExtrai(2, 'toma03') <> '') or (Leitor.rExtrai(2, 'toma3') <> '') then
        begin
          (*B29*)CTe.Ide.Toma03.Toma := StrToTpTomador(ok, Leitor.rCampo(tcStr, 'toma'));
        end;
      end;

    Para

      (* Grupo da TAG <ide><toma03> ***********************************************)
      if Leitor.rExtrai(1, 'ide') <> '' then
      begin
        if (Leitor.rExtrai(2, 'toma03') <> '') or (Leitor.rExtrai(2, 'toma3') <> '') then
        begin
          (*B29*)CTe.Ide.Toma03.Toma := StrToTpTomador(ok, Leitor.rCampo(tcStr, 'toma'));
        end else begin
          (*B29*)CTe.Ide.Toma03.Toma := tmOutros;
        end;
      end;

    Ou seja, se não encontrou a TAG "Toma3" então define "Toma3.Toma" como "tmOutros". Isto poderia evitar outros problemas do gênero, pois se existe a TAG "Toma4", ou ainda, se não encontrou a TAG "Toma3", então "Toma3.Toma" também poderia estar como "tmOutros" e não como "tmRemetente" que é o valor default.

    Nesse caso poderia fazer o LoadFromFile gerando novamente o arquivo XML sem nenhum problema.

    Claro que aguardo uma opinião dos moderadores, caso tenham um ponto de vista diferente.

     

     

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