Ir para conteúdo
  • Cadastre-se

ROGERIO EDVAR DE SOUZA

Membros
  • Total de ítens

    117
  • Registro em

  • Última visita

Posts postados por ROGERIO EDVAR DE SOUZA

  1. Pela lógica o IDEAL CONCLUI que , segundo explicações do moderador BIGWings

    e confirmado com o Consultor EXCELENTE Deynison da POLIMIG,

    é utilizar SEMPRE, neste CENÁRIO, o cancelamento por substituição, neste cenário de contingência,

    visto que sempre será uma NFCe substituindo a outra NFCe ...

    O Deynison confirmou (no caso de documento que pulou um número por ter contingenciado o próximo número

    por falta de retorno de conexão com o SEFAZ e ao voltar verificar que tinha sido AUTORIZADA a NFCe)

    ...

    Abraços!!!

     

    Segue novamente os passos :

    Então, a explicação de contingência passada pelo consultor Deynison é a seguinte :

    Exemplo de contingência:

    1 - Tenta enviar a 20, não obteve retorno
    2 - Gera a 21 e envia NFCe em contingência offline, marcando no BD que aguarda envio

    3.1 - Ao voltar comunicação, emite a 21 normalmente , sem ser em contingência
     

    3.2 - Se houver algum retorno de erro,
    deixa usuário corrigir e reenvia a mesma 21, com mesma chave (um dos NCM está errado, por exemplo)

    4 - Após autorizar a 21 :
    5 - Caso a 20 tinha sido autorizada mas o sistema não obteve retorno do SEFAZ , CANCELA NFCe
    6 - Caso a 20 NÃO tenha sido NEM autorizada, simplesmente INUTILIZA 

     

    4 minutos atrás, BigWings disse:

    Veja este tópico:

     

    image.thumb.png.0067f7729f050dc888e5843c8d7d9e55.png

  2. 13 minutos atrás, BigWings disse:

    Uma coisa que não está no manual é que provavelmente será necessário usar o cancelamento por substituição nesse cenário que tem o prazo de até 168 horas.

    No cancelamento por substituição além da chave e protocolo de autorização você precisa informar a chave da NFCe substituta que foi emitida em contingência para acobertar a NFCe que está sendo cancelada.

    O prazo de 30 min do cancelamento normal é impraticável nesse cenário.

    E no caso o que escolho aqui :

     with ACBrNFe1.EventoNFe.Evento.Add do
       begin
         infEvento.chNFe := Chave;
         infEvento.CNPJ   := CNPJ;
         infEvento.dhEvento := now;
         infEvento.tpEvento :=  teCancelamento; => aqui escolhi o cancelamento normal, de 30 min
         infEvento.detEvento.xJust := Justificativa;
         infEvento.detEvento.nProt := Protocolo; 
       end;

    ( achei... teCancSubst ... legal! .., SOMENTE não encontrei onde coloca a outra chave )

    E no caso que citou, de cancelamento por substituição, qual opção escolho ? ( Obrigado! )

     

    TpcnTpEvento = (teNaoMapeado, teCCe, teCancelamento, teManifDestConfirmacao,
                      teManifDestCiencia, teManifDestDesconhecimento, teManifDestOperNaoRealizada,
                      teEncerramento, teEPEC, teInclusaoCondutor,
                      teMultiModal, teRegistroPassagem, teRegistroPassagemBRId,
                      teEPECNFe, teRegistroCTe, teRegistroPassagemNFeCancelado,
                      teRegistroPassagemNFeRFID, teCTeCancelado, teMDFeCancelado,
                      teVistoriaSuframa, tePedProrrog1, tePedProrrog2,
                      teCanPedProrrog1, teCanPedProrrog2, teEventoFiscoPP1,
                      teEventoFiscoPP2, teEventoFiscoCPP1, teEventoFiscoCPP2,
                      teRegistroPassagemNFe, teConfInternalizacao, teCTeAutorizado,
                      teMDFeAutorizado, tePrestDesacordo, teGTV, teMDFeAutorizado2,
                      teNaoEmbarque, teMDFeCancelado2,teMDFeAutorizadoComCTe,
                      teRegPasNfeProMDFe, teRegPasNfeProMDFeCte, teRegPasAutMDFeComCte,
                      teCancelamentoMDFeAutComCTe, teAverbacaoExportacao, teAutCteComplementar,
                      teCancCteComplementar,teCTeSubstituicao,teCTeAnulacao,teLiberacaoEPEC,teLiberacaoPrazoCanc,
                      teAutorizadoRedespacho,teautorizadoRedespIntermed,teAutorizadoSubcontratacao,
                      teautorizadoServMultimodal, teCancSubst, teAlteracaoPoltrona);

  3. 1 minuto atrás, Rafael Dias disse:

    NFCe só Pode ser cancelada em no máximo 30 minutos e o procedimento é o mesmo da nfce.

    Sim, perfeito... obrigado!

    Agora, ROGERIO EDVAR DE SOUZA disse:

    Sim, perfeito... obrigado!

    E no caso de NFe :

    o prazo legal de cancelamento de NFe, é de 24hs contado a partir do momento da autorização de uso da mesma.

    4 minutos atrás, BigWings disse:

    Uma coisa que não está no manual é que provavelmente será necessário usar o cancelamento por substituição nesse cenário que tem o prazo de até 168 horas.

    No cancelamento por substituição além da chave e protocolo de autorização você precisa informar a chave da NFCe substituta que foi emitida em contingência para acobertar a NFCe que está sendo cancelada.

    O prazo de 30 min do cancelamento normal é impraticável nesse cenário.

     Não sabia... muitíssimo obrigado...

    Vou ver se o Deynison detalha depois isto pra mim...

    Até!

     

    • Curtir 1
  4. Obrigado, Juliana...

    Deu certo...

    - Faltava PREENCHER o protocolo de autorização... estava indo em branco..

    - O código está 100% correto e funciona de maneira idêntica para cancelamento de NFe,

    somente logicamente o período permitido para cancelamento é totalmente diferente.

     

    Então, a explicação de contingência passada pelo consultor Deynison é a seguinte :

    Exemplo de contingência:

    1 - Tenta enviar a 20, não obteve retorno
    2 - Gera a 21 e envia NFCe em contingência offline, marcando no BD que aguarda envio

    3.1 - Ao voltar comunicação, emite a 21 normalmente , sem ser em contingência
     

    3.2 - Se houver algum retorno de erro,
    deixa usuário corrigir e reenvia a mesma 21, com mesma chave (um dos NCM está errado, por exemplo)

    4 - Após autorizar a 21 :
    5 - Caso a 20 tinha sido autorizada mas o sistema não obteve retorno do SEFAZ , CANCELA NFCe
    6 - Caso a 20 NÃO tenha sido NEM autorizada, simplesmente INUTILIZA 

     

    PODE FECHAR O TÓPICO!... OBRIGADO!!!
     

     

    • Curtir 1
  5. 5 minutos atrás, Juliana Tamizou disse:

    Mas se deu errado, ela não foi registrada, logo caiu na situação 2 (inutilizar o número).

    Att.
     

     

    21 minutos atrás, Juliana Tamizou disse:

    Boa tarde.

    A NFCe em questão foi emitida em contingência? Neste caso o correto seria inutilizar o número.

    Att.

    Por favor, olhe a imagem enviada. Existe este caso que tem que CANCELAR UMA NFCe que foi 

    enviada ao SERVIDOR SEFAZ, recebeu autorização mas não retornou a autorização para o sistema.

    Meu desejo então, é somente saber como fazer o cancelamento da NFCe pela chave, utilizando o ACBrNFe ou outro componente ACBr

    Obrigado ...

    image.thumb.png.658f3121cefda5a57b75766cdcb94796.png

  6. Agora, Juliana Tamizou disse:

    Mas se deu errado, ela não foi registrada, logo caiu na situação 2 (inutilizar o número).

    Att.
     

    Juliana, já conversei com o Deynison, agradeço por estar tentando me auxiliar,  mas este entendimento já obtive com o Deynison

    (pode ser que eu não esteja sabendo lhe explicar, mas o que desejo é somente cancelar pela chave da NFCe. Somente isto,

    para quando cair neste caso)

    (leia a última página do arquivo em questão, se não tiver envio pra você)

    http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=YbZEjEHCuHQ=

    Apenas preciso saber como cancelar uma NFCe pela chave.

    Somente isto, obrigado...

    3 minutos atrás, Juliana Tamizou disse:

    Mas se deu errado, ela não foi registrada, logo caiu na situação 2 (inutilizar o número).

    Att.
     

    Inclusive NEM TEM como INUTILIZAR uma NFCe que se encontra no SERVIDOR da SEFAZ...

    Compreendeu ?

    ( é um caso RARO mas pode ocorrer e o sistema tem que estar preparado, segundo o DEYNISON )

     

  7. 7 minutos atrás, Juliana Tamizou disse:

    Boa tarde.

    A NFCe em questão foi emitida em contingência? Neste caso o correto seria inutilizar o número.

    Att.

     

    BOA tarde, Juliana...

    Segundo o Deynison(nosso consultor) e o próprio manual Manual_de_especificacoes_tecnicas_da_Contingencia_Off-line_versao_2.0.pdf

    após 'voltar a conectar ao SEFAZ', deve-se :

    Consultar a NFCe que "pulou seu número" :

    (1) Caso encontre então a NFCe no servidor SEFAZ, deve-se CANCELAR

    (2) Caso NÃO encontre, deve-se INUTILIZAR

    Já fiz, para efeito de teste :

    - Consulta (deu certo)

    - Inutilização de NFCe que logicamente NÃO foi enviada ao SEFAZ (deu certo)

    - Agora preciso CANCELAR (para efeito de teste) de uma NFCe que já fio enviada ( deu errado )

    (isto seria uma simulação de entrada em contingência pelo SEFAZ não ter retornado mas na

    realidade o SEFAZ recebeu e autorizou a NFCe, mas antes que enviasse que autorizou, deu problema na comunicação)

     

  8. Boa tarde... 

    Não estou conseguindo cancelar uma NFCe pela chave.

    Consigo: Consultar, Inutilizar uma NFCe que não encontra-se no SEFAZ,

    mas CANCELAR uma que não está no SEFAZ não consegui.

    Alguém sabe como fazer ?

    Obrigado!

    Estou até o momento fazendo da mesma forma que faço para NFe:

    procedure TF_NFe_via_ACBr.btnCancelarChaveClick(Sender: TObject);
    var  Chave, idLote, CNPJ, Protocolo, Justificativa : string;
    begin
      if not(InputQuery('WebServices Eventos: Cancelamento', 'Chave da NF-e', Chave)) then
         exit;
      Chave := Trim(OnlyNumber(Chave));
      idLote := '1';

      if not(InputQuery('WebServices Eventos: Cancelamento', 'Identificador de controle do Lote de envio do Evento', idLote)) then
         exit;

      CNPJ := copy(Chave,7,14);
      if not(InputQuery('WebServices Eventos: Cancelamento', 'CNPJ ou o CPF do autor do Evento', CNPJ)) then
         exit;

      Protocolo:='';
      if not(InputQuery('WebServices Eventos: Cancelamento', 'Protocolo de Autorização', Protocolo)) then
         exit;
         
      Justificativa := 'Justificativa do Cancelamento';
      if not(InputQuery('WebServices Eventos: Cancelamento', 'Justificativa do Cancelamento', Justificativa)) then
         exit;

      ACBrNFe1.EventoNFe.Evento.Clear;
      with ACBrNFe1.EventoNFe.Evento.Add do
       begin
         infEvento.chNFe := Chave;      infEvento.CNPJ   := CNPJ;     infEvento.dhEvento := now;

         infEvento.tpEvento := teCancelamento;     infEvento.detEvento.xJust := Justificativa;

         infEvento.detEvento.nProt := Protocolo;
       end;

      ACBrNFe1.EnviarEvento(StrToInt(idLote)); 

      MemoResp.Lines.Text := ACBrNFe1.WebServices.EnvEvento.RetWS;

      memoRespWS.Lines.Text := ACBrNFe1.WebServices.EnvEvento.RetornoWS;

      LoadXML(ACBrNFe1.WebServices.EnvEvento.RetornoWS, WBResposta);

     end;

  9. SOLUÇÃO ABAIXO, explicado por RAFAEL DIAS, podem FECHAR o TÓPICO
     

    - - - -- - - -- - - -- - - -- - - -- - - -- - - -- - - -- - - -- - - -- - - -- - - -- - - -- - - -- - - -
    ACBrECF com NFCe , OBTENDO chave da NFCe mesmo quando NÃO comunica :

    - - - -- - - -- - - -- - - -- - - -- - - -- - - -- - - -- - - -- - - -- - - -- - - -- - - -- - - -- - - -
    (a) ACBrECF1.FechaCupom ;
    - - - -- - - -- - - 
    (b) Abaixo, no Evento : ACBrECFVirtualNFCeQuandoFecharDocumento:

    b.1 => Insere VALORES que NÃO SÃO automáticos nos campos NFe e ACBrNFe,
    como se o ambiente é de homologação, se é Normal ou em contingência, se é à vista, a prazo...

    b.2=> ACBrNFe1.NotasFiscais.Assinar; (faz gerar a chave)

    b.3=> ShowMessage('Deu certo !!! Chave da NFCe GERADA = '+#13+
    'ACBrNFe1.infNFe.ID = '+ Copy(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID,4,44 ));Dúvida SANADA :

    - - - -- - - -- - - -- - - -- - - -- - - -- - - -- - - -- - - -- - - -- - - -- - - -- - - -- - - -- - - -

    • Curtir 3
  10. 9 minutos atrás, Daniel Simoes disse:

    Tópico criado de dúvida do CHAT do SAC Anual, iniciado por: CARLOS ANTONIO FERREIRA DA SILVA

     

    Bom dia...
    - Estou transformando o antigo PAF da nossa empresa, que utilizava ACBrECF para permitir uso de NFCe,
    utilizando ACBrECFVirtualNFCe, confome explicaram.

    Tentei RECUPERAR a chave assim mas somente dá certo se conectar normalmente :
    ( se houver FALHA de conexão, gera o XML normalmente mas a recuperação da chave vem
    com número totalmente diferente do correto )

    ACBrECF1.FechaCupom(Obs, StrToIntDef(IndiceBMP, 0));

    showmessage('exceção : Chave da NFCe GERADA = '+#13+
    'ACBrNFe1.infNFe.ID = '+ Copy(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID,4,44 ));
    ...
    - Segundo nosso consultor Deynison/Polimig, temos que recuperar a CHAVE da NFCe antes de tentar conectar visto que
    MESMO com falha de conexão , devemos ter a chave para poder consultar se a mesma foi autorizada ou não,
    pois APÓS enviarmos contingência offline - O CORRETO é - consultarmos a NFCe anterior
    (a) Se foi autorizada devemos cancelar a NFCe anterior,
    (b) Se NÃO foi autorizada, devemos inutilizar a NFCe anterior.

    Neste caso então , seria ANTES do ACBrECF.FechaCupom.
    Não estou conseguindo fazer esta consulta.
    Após conectar NORMALMENTE até consigo.

    Detalhando melhor :

    Linha abaixo quando utilizada com ACBrECF + NFCe, fecha o CUPOM e tenta comunicar com o servidor e já gera XML
    ACBrECF1.FechaCupom ;

    Linha abaixo mostra a CHAVE da NFCe gerada :
    showmessage('Chave da NFCe GERADA = '+ Copy(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID,4,44 ));

    Dúvida : ( XML sempre gera correto)
    Quando COMUNICA NORMALMENTE , a chave correta é retornada no showmessage .
    Quando NÃO comunica, não é correta. Mas preciso da chave antes de tentar comunicar, então como obtê-la?

  11. 1 hora atrás, EMBarbosa disse:

    Essa propriedade é para imprimir a informação detalhada dos itens. Mas me parece que funciona apenas no Fast Report.

    Pelo que me consta, não há opção de não imprimir os itens numa NFC-e no Fortes Report.

     

    Então, meu caro... tem sim...

    Inclusive já experimentei marcando para não imprimir itens e para imprimir itens, de qualquer forma, imprime...

    ACBrNFeDANFCeFortes1.ImprimeItens := True...... ACBrNFeDANFCeFortes1.ImprimeItens.ImprimeItens:=False....

    NÃO muda nada ... SEMPRE imprime os itens... pelo menos no meu sistema...

    Mas não tem problema não... podem fechar o tópico...

    Decidimos hoje, meu sócio me explicou que tem assistência via chat também,

    vamos começar a pagar o chat ao invés do fórum para ver se conseguimos uma assistência mais rápida...

    +1Vez, Muitíssimo obrigado pelos excelentes componentes que criaram!!!

    image.png.babd8f4be9c7d78225999b83fe017ffe.png

  12. 1 minuto atrás, Italo Jurisato Junior disse:

    Rogerio,

    Relaxa, eu apenas indiquei uma outra solução para impressão, mas como a sua aplicação vai possibilitar o usuário a escolher o que ele deseja, legal.

    Sendo assim é importante verificar o porque a impressão do DANFE NFC-e feito em Fortes Report não esta obedecendo a propriedade.

    É importante também verificar na legislação da UF do emitente da NFC-e se ela aceita a impressão do DANFE NFC-e sem os itens.

    Entendi, obrigado pelo auxílio...

    Quanto ao "cuidado ao escrever" é que devido a problemas que já tive, "escrevendo" via whats e outros meios,

    com cliente, amigo, mulher... rs... procuro ser o MAIS CLARO e EDUCADO POSSÍVEL porque

    ao escrever pode se entender com tom diferente, 

    ao contrário de uma boa conversa "cara a cara" que sabemos a maneira que o outro está falando...

    Vou dar uma parada para fazer uma caminhada...

    ( cuidar um pouco da saúde agora que estou tentando sair do sedentarismo... rs )

    Grato por ajudar... amanhã continuo o trabalho...

    • Curtir 1
  13. 6 minutos atrás, Italo Jurisato Junior disse:

    Boa tarde Rogerio,

    Em vez de usar o DANFE feito em Fortes, porque não usa o que foi feito em EscPos?

    No meu entendimento se tratando de NFC-e cuja impressão é em bobina o EscPos é muito melhor.

    Sem querer ser "mal educado", não foi o que eu perguntei,

    Mesmo assim, obrigado pela opinião, quando estiver em 

    produção será o usuário que irá decidir isto, via parametrização do sistema,

    visto que o próprio componente que criaram me possibilita esta opção...

    Abraços!

    ( inclusive terá casos que creio eu ele preferirá imprimir numa impressora A4,

    principalmente em MATERIAL de CONSTRUÇÃO, para facilitar a "conferência dos itens",

    quando os mesmos forem de ALTO VALOR (revestimento)

    pela experiência que tenho. Antes se tornava "necessário"

    a NFe, agora com a NFCe podemos imprimir em BOBINA ou A4, porque

    não deixarmos então a cargo do usuário poder alternar entre as opções ? )

     

     

  14. Boa tarde...

    Mesmo ajustando a propriedade:

    "ACBrNFeDANFCeFortes1.ImprimeItens" como "false",

    o DANFE emitido pelo componente ACBrNFeDANFCeFortes1

    => Exibiu os ITENS da IMPRESSÃO...

    => Se meu cliente desejar fazer uma DANFe sem itens (acho muito difícil... mas... já que o componente permite)
    como imprimo sem os itens ?

    Obrigado!

     

    ( estou utilizando o "esquema" de ACBrECF x ACBNFCe, conforme o PDF em Anexo... no restante está tudo perfeito

    até agora, fiz testes com servidor de homologação e em contingência hoje ... tudo certinho ... )

     

    Conexão ACBrECF.pdf

  15. Boa tarde...

    Estou fazendo testes no meu sistema,

    então li o texto "Manual_de_especificacoes_tecnicas_da_Contingencia_Off-line_versao_2.0.pdf" e então:

    = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 

    1 - Tentei gerar uma NFCe "simulando contingência offline".

    2 - Os componentes conectaram "normalmente" no servidor, não gerando um DANFE como se estivesse "em contingência"

    3 - Desliguei o wifi para ver se era por estar conectado, daí deu "erro de comunicação"

    (nem era para tentar comunicar, enviei tpEmis=9 / offline)

    4 - Religuei o wifi, fiz novamente uma NFCe e analisei o XML gerado.

    Para minha surpresa o "tpEmis" está como 9, e todos os outros campos conforme exige a lei,

    mas o DANFE sai totalmente errado (não sai "contingência offline)

    = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 

    O que estou fazendo de errado ? (está tendo 2 erros: DANFE não está em contingência e se desligar a internet dá erro de transmissão (não seria para gerar a chave offline?) )

    o texto diz : (e conferi, aparentemente está tudo certo...)

    Anexei abaixo o que o texto "texto "Manual_de_especificacoes_tecnicas_da_Contingencia_Off-line_versao_2.0.pdf"" diz e o xml que minha aplicação gerou...

    (conferi todos campos do xml, está tudo conforme abaixo... )

    "A seguir detalhamos o preenchimento dos campos específicos da NFC-e no caso de emissão em contingência off-line:
     Mod = 65 (NFC-e);
     dhCont = data e hora de entrada em contingência;
     xJust = preencher com a justificativa da entrada em contingência;
     idDest = 1 (operação interna);
     tpEmis = 9 (contingência off-line);
     finfe = 1 (finalidade de emissão normal);
     indFinal =1 (indicador de operação com consumidor final);
     indPres =1 (indicador de presenç do consumidor no estabelecimento);"

    Fonte : Manual_de_especificacoes_tecnicas_da_Contingencia_Off-line_versao_2.0.pdf

    Pág: 7

    = = = = = = = = = = = = = = = = =  = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 

    <?xml version="1.0" encoding="UTF-8"?>
    <NFe xmlns="http://www.portalfiscal.inf.br/nfe">
        <infNFe versao="4.00" Id="NFe31190505258001000154650020000001599000001590">
            <ide>
                <cUF>31</cUF>
                <cNF>00000159</cNF>
                <natOp>VENDA</natOp>
                <mod>65</mod>
                <serie>2</serie>
                <nNF>159</nNF>
                <dhEmi>2019-05-06T16:44:51-03:00</dhEmi>
                <tpNF>1</tpNF>
                <idDest>1</idDest>
                <cMunFG>3128709</cMunFG>
                <tpImp>4</tpImp>
                <tpEmis>9</tpEmis>
                <cDV>0</cDV>
                <tpAmb>2</tpAmb>
                <finNFe>1</finNFe>
                <indFinal>1</indFinal>
                <indPres>1</indPres>
                <procEmi>0</procEmi>
                <verProc>ACBrNFe</verProc>
                <dhCont>2019-05-06T16:44:47-03:00</dhCont>
                <xJust>Erro de conexão ao servidor remoto</xJust>
            </ide>
            <emit>
                <CNPJ>05258001000154</CNPJ>
                <xNome>Ferreira &amp; Souza Informática Ltda</xNome>
                <xFant>Ferreira &amp; Souza Informática Ltda</xFant>
                <enderEmit>
                    <xLgr>Rua Luiz Carvalho da Silva</xLgr>
                    <nro>258</nro>
                    <xCpl>A</xCpl>
                    <xBairro>Agenor de Lima</xBairro>
                    <cMun>3128709</cMun>
                    <xMun>Guaxupé</xMun>
                    <UF>MG</UF>
                    <CEP>37800000</CEP>
                    <cPais>1058</cPais>
                    <xPais>BRASIL</xPais>
                    <fone>3535515173</fone>
                </enderEmit>
                <IE>2871937780023</IE>
                <CRT>1</CRT>
            </emit>
            <det nItem="1">
                <prod>
                    <cProd>111222333</cProd>
                    <cEAN>7896523206646</cEAN>
                    <xProd>NOTA FISCAL EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xProd>
                    <NCM>94051010</NCM>
                    <CEST>1111111</CEST>
                    <CFOP>5102</CFOP>
                    <uCom>UN</uCom>
                    <qCom>1.0000</qCom>
                    <vUnCom>1.0000000000</vUnCom>
                    <vProd>1.00</vProd>
                    <cEANTrib>7896523206646</cEANTrib>
                    <uTrib>UN</uTrib>
                    <qTrib>1.0000</qTrib>
                    <vUnTrib>1.0000000000</vUnTrib>
                    <indTot>1</indTot>
                </prod>
                <imposto>
                    <ICMS>
                        <ICMSSN102>
                            <orig>0</orig>
                            <CSOSN>300</CSOSN>
                        </ICMSSN102>
                    </ICMS>
                    <PIS>
                        <PISOutr>
                            <CST>99</CST>
                            <vBC>0.00</vBC>
                            <pPIS>0.0000</pPIS>
                            <vPIS>0.00</vPIS>
                        </PISOutr>
                    </PIS>
                    <COFINS>
                        <COFINSOutr>
                            <CST>99</CST>
                            <vBC>0.00</vBC>
                            <pCOFINS>0.0000</pCOFINS>
                            <vCOFINS>0.00</vCOFINS>
                        </COFINSOutr>
                    </COFINS>
                </imposto>
            </det>
            <total>
                <ICMSTot>
                    <vBC>0.00</vBC>
                    <vICMS>0.00</vICMS>
                    <vICMSDeson>0.00</vICMSDeson>
                    <vFCP>0.00</vFCP>
                    <vBCST>0.00</vBCST>
                    <vST>0.00</vST>
                    <vFCPST>0.00</vFCPST>
                    <vFCPSTRet>0.00</vFCPSTRet>
                    <vProd>1.00</vProd>
                    <vFrete>0.00</vFrete>
                    <vSeg>0.00</vSeg>
                    <vDesc>0.00</vDesc>
                    <vII>0.00</vII>
                    <vIPI>0.00</vIPI>
                    <vIPIDevol>0.00</vIPIDevol>
                    <vPIS>0.00</vPIS>
                    <vCOFINS>0.00</vCOFINS>
                    <vOutro>0.00</vOutro>
                    <vNF>1.00</vNF>
                </ICMSTot>
            </total>
            <transp>
                <modFrete>9</modFrete>
            </transp>
            <pag>
                <detPag>
                    <tPag>01</tPag>
                    <vPag>1.00</vPag>
                </detPag>
            </pag>
            <infAdic>
                <infCpl>MD-5:12345678901234567890123456789012NF:123456;Trib aprox R$:0,60 Fed, 0,40 Est e 0,23 Mun;Fonte:IBPT/FECOMERCIO (aWd7S8);Desenvolvido e Manutenido pela F&amp;S Informática</infCpl>
            </infAdic>
        </infNFe>
        <infNFeSupl>
            <qrCode>
                <![CDATA[https://nfce.fazenda.mg.gov.br/portalnfce/sistema/qrcode.xhtml?p=31190505258001000154650020000001599000001590|2|2|06|1.00|6E5A5A304F6D63445830576B304676462F704361444961776867303D|1|0B0D13C4484419FB99DBDB9F93A67A83C18EE915]]>
            </qrCode>
            <urlChave>http://hnfce.fazenda.mg.gov.br/portalnfce</urlChave>
        </infNFeSupl>
        <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
            <SignedInfo>
                <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
                <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
                <Reference URI="#NFe31190505258001000154650020000001599000001590">
                    <Transforms>
                        <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
                        <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
                    </Transforms>
                    <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
                    <DigestValue>nZZ0OmcDX0Wk0FvF/pCaDIawhg0=</DigestValue>
                </Reference>
            </SignedInfo>
            <SignatureValue>hX4NyEAKDWQ/gMj6L7RK8LzvgagaiYHQ1tw+H9MZxsMdwbiSQPmeGCSPUHXdWT0GL9f1OhOZms89TkaAfyNAEy3DfQ9P6RD4D8wsXheI1BgdrEiuCnCzwssZ2R3eGW+iD7sHTsDDtRPO8SOPW2FoYLhx9eCmdF8gLsvtmiQoZhbnM4KLKg4NoIozUWB+8uB/qLjM9U0wZoFyk6OeanTQn2fb7v1PqUpyrVIL6CPymdvV1eRa7lHeDto13zfo8TZWDlyeq/HYohOG9VQ2aat0N4B+SuRPgO4Xo4hJQESl3Gcbd3cOsQGhBZqloYrDIsa80TfIp1TYl4z4qpmsVC7fgA==</SignatureValue>
            <KeyInfo>
                <X509Data>
                    <X509Certificate>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</X509Certificate>
                </X509Data>
            </KeyInfo>
        </Signature>
    </NFe>

    image.png

  16. Em 30/04/2019 at 17:26, Daniel Simoes disse:

    Conversei agora pouco com o @EMBarbosa, e faremos um amplo refactoring nos ECFs virtuais

    A ideia principal do refactoring... é que o Documento só seja encaminhado para o componente ACBrNFe ou ACBrSAT, no Fechamento do Cupom...

    Eu acho interessante da forma que está pois temos ajustes que podemos fazer.
    Exemplo
    Quando o cliente é SIMPLESNACIONAL, já estou fazendo vários ajustes

    de CFOP do item da NFCe que já está sendo preenchida,

    e isto está me auxiliando e muito.

    ...

    Se vocês alterarem a forma que está, irá dificultar pra mim e creio

    que para outros programadores

    ...

    Veja este trecho do código, inserindo no evento "ACBrECFVirtualNFCe1QuandoVenderItem(Det: TDetCollectionItem);" :

    ( mas tem VÁRIOS outros trechos 
     

         If V_Eh_SimplesNacional=True then 
          Begin
             // quando o produto estiver no cadastro com o CSOSN = "0102" o CFOP será "5102"
             // quando o produto estiver no cadastro com o CSOSN = "0500' o CFOP será "5405"' +
             // ....
             // E_CSOSNIcms; :TpcnCSOSNIcms // TpcnCSOSNIcms = (csosnVazio,csosn101, csosn102, csosn103,
             // csosn201, csosn202, csosn203, csosn300, csosn400, csosn500,csosn900 );

             If      E_CSOSNIcms=csosn102 then  // CSOSN = "0102" o CFOP será "5102"
             Prod.CFOP     := '5102'
             // ...
             Else If E_CSOSNIcms=csosn500 then  // CSOSN = "0500' o CFOP será "5405"
             Prod.CFOP     := '5405'
          End
          Else
          Begin
             // Explicação para estabelecimento do REGIME NORMAL
             // quando o produto estiver no cadastro com CST = '000' ou '040' ou '041' o CFOP será "5102"
             // quando o produto estiver no cadastro com CST = '060' ou '070' o CFOP será "5405"
             // ...
             // E_CSTIcms : TpcnCSTIcms ;   //  TpcnCSTIcms = (cst00, cst10, cst20, cst30, cst40, cst41, cst45, cst50, cst51,
             //  cst60, cst70, cst80, cst81, cst90, cstPart10, cstPart90,
             //  cstRep41, cstVazio, cstICMSOutraUF, cstICMSSN, cstRep60); //80 e 81 apenas para CTe
             // ... 
             If        (E_CSTIcms=cst00) or (E_CSTIcms=cst40) or (E_CSTIcms=cst41)  then  // CST = '000' ou '040' ou '041' o CFOP será "5102"
             Prod.CFOP     := '5102'
             // ...
             Else  If  (E_CSTIcms=cst60) or (E_CSTIcms=cst70) then  // CST = '060' ou '070' o CFOP será "5405"
             Prod.CFOP     := '5405'
          End ;

    Resumindo,  eu estou achando ótimo da maneira que está e bem mais fácil pois vou corrigindo item a item.

    Caso mude, ao fechar o cupom, teria que passar por TODOS ITENS

    da NFe novamente, reanalisando TUDO e vendo o que teria que alterar.

    Se puderem deixar da forma que está, 

    agradeceríamos MUITO.

    ( tenho vários trechos que estão utilizando estes eventos quandovenderitem e quandofechardocumento )

    Obrigado!

  17. 12 minutos atrás, EMBarbosa disse:

    Eu fiz alterações no componente  TACBrECFVirtualNFCe para poder recuperar os itens do XML e assim resolver o problema que fez você iniciar esse tópico, mas preciso fazer mais testes.

    Me ajudaria muito se você (ou outra pessoa) quiser dar uma olhada e verificar se estaria OK para o que você pretende usar. Seguem os arquivos alterados:

    ACBrECFVirtual.pas 117 kB · 0 downloads ACBrECFVirtualNFCe.pas 32 kB · 0 downloads

    Vou viajar hoje e chego somente segunda à tarde... depois eu faço testes...

    Acabei criando uma função que cria um bkp do .ini,

    cancela e reabre o cupom e através do bkp do .ini

    ele volta o COO e CCF, refaz um NOVO cupom e reinclui os itens, com opção até de retirar os descontos...

    deu tudo certo...

    ( o COO e CCF continuam o mesmo, permite reabrir a venda cancelando os descontos dos itens ou não ... )

     

    • Curtir 1
  18. 19 horas atrás, EMBarbosa disse:

    Olá Rogério,

       A verdade é que o componente não foi feito pra refazer tudo automaticamente. Então se você sofre uma queda de energia, precisaria colocar seu sistema e o componente em estado operacional.

       Isso é relativo de como vai ser feito. Por exemplo, devido a complexidade do PAF-ECF, algumas empresas sempre cancelavam o cupom aberto no caso de quedas de energia. Daí, ao invés de tentar reabrir o cupom, colocam no sistema uma função de recuperar um cupom já emitido que refaz a venda.

       Eu particularmente acho isso mais fácil de fazer e dá menor brecha para erros no sistema.

       Como você percebeu, o arquivo XML não está sendo atualizado a cada item vendido. Isso acontece porque o comando em TACBrECFVirtualNFCeClass.GravaArqINIVirtual não está chamando o comando GerarXML na nota. Ele poderia ser alterado para algo como:

    
    procedure TACBrECFVirtualNFCeClass.GravaArqINIVirtual(ConteudoINI: TStrings);
    begin
      // Se cupom está aberto, deve persistir o CFe //
      if (fpEstado in estCupomAberto) and (fsEhVenda) then
      begin
        fsACBrNFCe.NotasFiscais[0].GerarXML; //<--- alteração
        fsACBrNFCe.NotasFiscais.GravarXML(fsNomeArqTempXML);
      end
      else if (fsNomeArqTempXML <> '') and FileExists(fsNomeArqTempXML) then
        DeleteFile(fsNomeArqTempXML);
    
      inherited GravaArqINIVirtual(ConteudoINI);
    end;

       Mas só essa alteração acima não resolve o problema que fez você abrir este tópico.

       Estou avaliando se e o que é possível fazer para que essa mensagem de erro seja tratada de maneira mais automática pelo componente.

    Ontem criei uma função que, com base no .ini,

    ela cria um BKP no .ini do ACBrECFVirtualNFCe,

    ela CANCELA o CUPOM que está aberto e reabre e revende os itens,

    voltando o "CCF VIRTUAL" e "COO VIRTUAL".

    Estou fazendo mais uns testes mas já está funcionando perfeitamente.

    E um dos parâmetros que coloquei foi a opção de, ao reabrir, retirar o desconto.

    Terminando os testes eu passo para o fórum aqui para auxiliar outros.

    Obrigado por tentar ajudar!

    (isto faz com que a NFCe seja REFEITA com base no ACBrECF e não altera seu COO ou CCF virtuais)

    • Curtir 1
  19. 17 horas atrás, Daniel Simoes disse:

    Vou verificar o caso com calma...

    O mais correto, seria recuperar o carrinho do seu Danco de Dados... e comparar os totais de Itens vendidos e Valor Total do Cupom, com os do ECFVirtual.. Se ambos baterem, seria permitido continuar o cupom...

    Daniel...

    Eu não estou conseguindo...

    Teria que recarregar tudo...

    Será que o erro não está na procedure :

    procedure TACBrECFVirtualClassCupom.LoadFromINI(AIni: TCustomIniFile);

    do ACBrECFVirtual ?

    Mas acho estranho que está passando aparentemente pelos itens do .ini (estou debugando aqui)

    mas ao  subtotalizar, efetuar pagamento e fechar o documento, os itens

    não aparecem gerados no XML ...

    Obrigado!

  20. 17 horas atrás, Daniel Simoes disse:

    Vou verificar o caso com calma...

    O mais correto, seria recuperar o carrinho do seu Danco de Dados... e comparar os totais de Itens vendidos e Valor Total do Cupom, com os do ECFVirtual.. Se ambos baterem, seria permitido continuar o cupom...

    Entendi...

    + Obrigado pela dica, Daniel Simões, tentei aqui e estou conseguindo recarregar o objeto descendente do componente "TACBrNFe"... 

    + Mas o descendente do "TACBrECFVirtualNFCe" ,  

    ainda não consegui recarregar, apenas através deste método ACBrECFVirtualNFCe1.LeArqINI  supracitado ...

    Mas daí os itens não são carregados ...

    Vou tentar mais um pouco, se você tiver o código, poderia me passar , por favor ...?

    (ou é somente eu recarregar o "TACBrNFe" que daria certo o fechamento do "cupom fiscal virtual"...? ) 

    Obrigado mais uma vez...!

     

  21. Boa tarde... Estou programando para transformar minha aplicação ACBrECF em NFCe ...

    - Ao executar o comando : "ACBrECFVirtualNFCe1.LeArqINI ;"

    percebi que releu o .ini corretamente, servindo para se o computador

    "reiniciar" por exemplo, no meio de uma NFCe, dá para continuar onde parou...

    - MAS... não releu os itens, quando foi gerar o XML. (AO FECHAR DOCUMENTO, deu para verificar...)

    DÚVIDA : Como se faz para reler os itens também , do .INI ?

    Obrigado!!!

    Observação : Estamos ajustando para

    criar NFCe utilizando ACBrECF e ACBrECFVirtualNFCe, conforme esquema em anexo 

    image.thumb.png.a34146d2dd2977a9a21c770cacb39638.png

  22. 1 hora atrás, ROGERIO EDVAR DE SOUZA disse:

    Boa tarde... 

    * Estou implementando minha aplicação que utiliza ACBrECF para trabalhar com NFCe,

    para isto estou utilizando os componentes da imagem anexada abaixo (fiz este resumo para facilitar pra mim).

     

    * Só que estou com uma dificuldade: Após simular uma "queda de energia", não consigo recuperar as propriedades da NFCe aberta,

    com seus devidos itens (imagina um CARRINHO de COMPRAS em um SUPERMERCADO com um CAIXA com 100 itens já passados, CAI a ENERGIA e VOLTA,

    e o NOBREAK está com DEFEITO)

     

    * Fiz o seguinte teste, com o programa "C:\ACBR\Exemplos\ACBrSerial\ACBrECF\Delphi\ECFTeste.dpr" que tenho alterado...

    (a) Abri um "cupom" (ACBrECF.AbreCupom) para iniciar a NFCe

    (b) Vendi um ITEM

    (c) AQUI simulo a "queda de energia", então DESATIVEI o ACBrECF e REATIVEI  

    ACBrECF1.Desativar ;  ACBrECF1.Ativar ;

    (d) Tento "Subtotalizar", já ocorre o erro "List Index of Bounds(0)"

    Observação: CASO eu não desative e reative o objeto, funciona tudo PERFEITAMENTE,

     

    posso imprimir a DANFe da NFCe certinho, com desconto, sem desconto no item, com 1 ou mais itens... tudo correto

     

    Abaixo as conexões dos componentes ACBr que fiz no meu sistema :

     

    image.thumb.png.0ae45956e6e83c1a5e28e96a8e206761.png

    Tentei agora a opção

    ACBrECF1.Desativar ;   ACBrECF1.Ativar ;

    ACBrECFVirtualNFCe1.LeArqINI ; 

    Deu parcialmente certo mas, ao fechar documento, dá erro pois, aparentemente,

    não releu os ITENS vindos do .ini. Releu somente o cabeçalho... 

    Será que alguém poderia ajudar? ...

    Obrigado!!!

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

The popup will be closed in 10 segundos...