Ir para conteúdo
  • Cadastre-se

jom

Membros
  • Total de ítens

    23
  • Registro em

  • Última visita

Posts postados por jom

  1. Boa tarde,

     
    1- Implementação de emissão de NF-e no PAF é obrigatório?
    2- Caso o PAF possua rotinas de integração com importar NF-e, mesmo assim terei necessidade implementar a NF-e?
    3- O que os órgão homologadores dizem sobre isto?
     
    No caso, o utilizador do PAF já possui um sistema de gestão que já tem este serviço.
    Não seria o caso de só fazer a integração com este sistema (através de arquivo)?
     
  2. O log original do ACBr não exibe o erro, então eu acrescentei no método VendeItem código para gravação do log.

    Observe que o primeiro item é vendido com sucesso, aplicando o RoundTo sem erro.

    Já na venda do segundo item, ocorre o erro exatamente na linha citada e com isso o comando não é enviado.

    Acho estranho, mas já li na net de relatos de efeitos indesejáveis usando RoundTo.

    
    --------------------------------------------------------------------------------
    ATIVAR - 06/07/13 15:06:24:682 - Modelo: SwedaSTX - Porta: COM6 - TimeOut: 3
             Device: BAUD=115200 DATA=8 PARITY=N STOP=1 HANDSHAKE= MAXBANDWIDTH=0
    --------------------------------------------------------------------------------
    
    -- 15:06:24:683 RetornaInfoECF(I1)
                    TX -> [STX]+34|I1[ETX][141]
       15:06:24:825 RX <- [STX]+34I0001SWEDA[NUL][ESC].IF ST200[NUL][ESC]+ECF-IF[NUL][NUL]0[ESC]11 [NUL]01.00.01[NUL]E[ETX][166][STX]+34+0000AA[152][208][146][128][128]I1[ETX]x
    -- 15:06:24:826 RetornaInfoECF(H2)
                    TX -> [STX],34|H2[ETX][142]
       15:06:24:964 RX <- [STX],34H0002[NUL][ESC]#001[NUL]SSS[ETX]j[STX],34+0000AA[152][208][146][128][128]H2[ETX]y
    -- 15:06:24:969 RetornaInfoECF(U2)
                    TX -> [STX]-34|U2[ETX][156]
       15:06:25:107 RX <- [STX]-34U00023NN[ETX][127][STX]-34+0000AA[152][208][146][128][128]U2[ETX][135]
    -- 15:06:25:131 RetornaInfoECF(R2)
                    TX -> [STX].34|R2[ETX][154]
       15:06:25:262 RX <- [STX].34R0002EPSON[NUL][ESC]&TM-H6000[NUL][NUL][NUL]TERMICA[NUL][ESC]"B122409170512180180[ESC]%[ETX][168][STX].34+0000AA[152][208][146][128][128]R2[ETX][133]
    -- 15:06:25:283 Estado
                    TX -> [STX]/34[ETX][155]
       15:06:25:408 RX <- [STX]/34+0000AA[152][208][146][128][128][ETX][STX]
                    TX -> [STX]056|[ETX][FS]
    -- 15:06:25:543 Estado
                    TX -> [STX]134[ETX][157]
       15:06:25:677 RX <- [STX]134+0000AA[152][208][146][128][128][ETX][4]
    -- 15:06:25:686 NumSerie
                    TX -> [STX]234|I1[ETX][148]
       15:06:25:817 RX <- [STX]234I0001SWEDA[NUL][ESC].IF ST200[NUL][ESC]+ECF-IF[NUL][NUL]0[ESC]11 [NUL]01.00.01[NUL]E[ETX][173][STX]234+0000AA[152][208][146][128][128]I1[ETX][127]
    -- 15:06:25:819 GrandeTotal
                    TX -> [STX]334|A1[ETX][141]
       15:06:25:984 RX <- [STX]334A00010[ESC]*4378140[ESC]565142[ETX][211][STX]334+0000AA[152][208][146][128][128]A1[ETX]x
    -- 15:06:39:712 Estado
                    TX -> [STX]434[ETX][160]
       15:06:39:822 RX <- [STX]434+0000AA[152][208][146][128][128][ETX][7]
    -- 15:06:43:695 Estado
                    TX -> [STX]534[ETX][161]
       15:06:43:820 RX <- [STX]534+0000AA[152][208][146][128][128][ETX][BS]
    -- 15:06:46:656 Estado
                    TX -> [STX]634[ETX][162]
       15:06:46:797 RX <- [STX]634+0000AA[152][208][146][128][128][ETX][TAB]
    -- 15:06:46:802 LerTotaisAliquota
                    TX -> [STX]734|D4[ETX][151]
       15:06:46:925 RX <- [STX]734D000417000500070010001200[ETX][131][STX]734+0000AA[152][208][146][128][128]D4[ETX][130]
    -- 15:06:46:939 
                    TX -> [STX]834|E4[ETX][153]
       15:06:47:093 RX <- [STX]834E0004[ETX][173][STX]834+0000AA[152][208][146][128][128]E4[ETX][132]
    -- 15:06:47:105 
                    TX -> [STX]934|D2[ETX][151]
       15:06:47:227 RX <- [STX]934D00020[ESC]_[ETX]U[STX]934+0000AA[152][208][146][128][128]D2[ETX][130]
    -- 15:06:47:237 
                    TX -> [STX]:34|E2[ETX][153]
       15:06:47:355 RX <- [STX]:34E0002[ETX][173][STX]:34+0000AA[152][208][146][128][128]E2[ETX][132]
    -- 15:06:47:361 AbreCupom( , ,  )
                    TX -> [STX];01[ETX][161]
             VerificaFimImpressao: Pedindo o Status. Seq:60
             VerificaFimImpressao: ACK = 6, OK... Aguardando Bloco
       15:06:47:580 RX <- [STX];01+0000AC[152][144][146][128][128][ETX][202][STX]<34+0000AC[152][144][146][128][128][ETX][209]
    -- 15:06:47:580 NumCupom
                    TX -> [STX]=34|A4[ETX][154]
       15:06:47:779 RX <- [STX]=34A0004000100010[ESC]#80[ESC]#20[ESC]"450[ESC](650[ESC]-4[ETX][214][STX]=34+0000AC[152][144][146][128][128]A4[ETX]G
    -- 15:06:47:780 NumCCF
                    TX -> [STX]>34|I8[ETX][167]
       15:06:47:940 RX <- [STX]>34I000806/07/2013[NUL]15:06:47[NUL][NUL][ETX]W[STX]>34+0000AC[152][144][146][128][128]I8[ETX]T
    Iniciando venda de item: DecimaisQtd=3; DecimaisPreco=3
    Linha 2430: Aplicando RoundTo
    RoundTo aplicado com sucesso
    -- 15:06:48:023 VendeItem( 100 , Produto de teste 100 , II , 1 , 9,9 , 0 , un , $ , D , -1 )
                    TX -> [STX]?02|1,000|100|9,900|un|I1|Produto de teste 100|T[ETX][ETX]
       15:06:48:797 RX <- [STX]?02+0000AC[152][144][146][128][128][ETX][207]
    -- 15:06:48:860 GrandeTotal
                    TX -> [STX]@34|A1[ETX][154]
       15:06:49:417 RX <- [STX]@34A00010[ESC]*4388040[ESC])990[ESC](66132[ETX][185][STX]@34+0000AC[152][144][146][128][128]A1[ETX]G
    Iniciando venda de item: DecimaisQtd=3; DecimaisPreco=3
    Linha 2430: Aplicando RoundTo
    
  3. Boa dia pessoal.

     

    As vezes tenho recebido o erro de divisão por zero ao tentar efetuar a venda de item.

    O erro o corre no método TACBrECF.VendeItem da unit ACBrECF (linha 2430), onde é usada a função RoundTo.

    Substitui a função RoundTo por SimpleRoundTo e o erro parou de aparecer.

     

    Não seria o caso de trocar todas funções RoundTo por SimpleRoundTo ou RoundABNT? Alguém mais teve este tipo de erro?

     

    Estou utilizando a rev. 5365 do svn, D2010, win7-32.

  4. Régis, suponhamos que eu enviei o comando para abrir o cupom e antes de pegar a dataHora do ECF falte energia ou algo do genero e que demore retornar. Neste caso, quando o sistema voltar a diferença da hora poderá ser muito grande para a hora do cupom, certo?

    Existe alguma forma de se pegar a dataHora do documento aberto?

  5. Pessoal bom dia!

    Qual o método ou propriedade que se obtém o número de ordem do usuário no ACBrECF?

    Pode estar bem na minha cara, mas procurei mas não encontrei.

    Sei que na dll do fabricante tem o método que me retorna isso, por exemplo o da bematech é Bematech_FI_NumeroSubstituicoesProprietario

    No ACBrECF qual seria?

    Obs: Esta informação é necessária para gerar arquivos do PAF. Veja: http://www.bematech.com.br/suporte/tuto ... ml?r06.htm

  6. Bom dia pessoal.

    Estou tendo problemas para emitir NFe aqui no ES, desde ontem a tarde sempre tenho este erro "2261 - Falha ao acessar banco de dados", até mesmo para consulta de nota.

    Alguém mais está passando por isso?

    Qualquer ajuda é bemvinda.

    Desde já agradeço a todos.

  7. Eu fiz um programa de comparação de arquivos e simulei a perda de um XML, movendo-o de pasta e gerando outro pelos dados do bd, o transmitindo para a SEFAZ, recebendo a mensagem de duplicidade de nfe e fazendo uma consulta em cima dele, carregando o XML. Assim foi retornado a mim um XML igual ao que "perdi". Sei disso pq passei o programa de comparação neles, e deu q eram iguais, letra a letra.

    Clever-x, boa noite.

    Você comparou os xml depois de assiná-los?

    Pergunto porque fiz alguns testes (incluse pelo demo do ACBrNFe) e sempre o digest value e a assinatura mudam, nunca é o mesmo. A nota pode ter os mesmos dados, se você mandar assinar mais de uma vez, sempre será criado um novo digest value. Pode fazer um teste, crie uma nota e a assine e salve, depois crie uma outra nota idêntica e a assine novamente e salve novamente, depois compare os digest values.

    Então em minha opnião, acho muito improvável refazer um xml idêntico ao original (aquele que foi autorizado pela sefaz).

    Se você faz backup das requisições e repostas que o componente faz, ainda há possibilidade de se obter um xml idêntico, pois as notas originais estão dentro dos arquivos de envelope de lote (*-env-lot.xml).

  8. Bom dia, pessoal.

    Nos últimos dias estive “brincando” com o Lazarus para conhecê-lo um pouco melhor, e desenvolvi uma ferramenta para criação automática das classes que representam entidades do banco de dados e também classes CRUD.

    Eu testei apenas no Firebird 2.1, mas o componente usado para conexão, o ZeosLib, é multi-banco.

    "Desculpem-me, mas precisei tirar os links de download por motivos técnicos."

    Qualquer sugestão, opnião e crítica será bem-vinda.

    Att,

  9. Bom dia amigos,

    Tenho umas empresas que dão férias coletivas, e nesse períodos não há entradas e nem saídas, desta forma não há movimento fiscal, ao gerar o sintegrar ele é rejeitado pelo validador pois não possui movimento e possui 2 registros tipo 90.

    Observei nos fontes que sempre é gerado 2 registros do tipo 90, então fiz umas alterações nesta rotina para atender minha necessidade, onde somente será gerado mais de um registro 90 quando realmente precisar, ou seja, quando não couber tudo em apenas um registro.

    Segue abaixo minha alteração:

    
    
    procedure TACBrSintegra.GerarRegistros90;
    
    var
    
      wregistro, s: string;
    
      wtotal88, wtotal90, i,p: Integer;
    
    
      procedure _calcTotal90;
    
      begin
    
        wtotal90 := 1;
    
        // +10 do registro 99
    
        if (Length(s)+10)>90 then
    
        begin
    
          wtotal90 := 2;
    
          if (Length(s)+10)>180 then
    
            wtotal90 := 3;
    
        end;
    
      end;
    
    
    begin
    
      s := '';
    
    if Registros50.Count>0 then
    
      s:=s+'50'+TBStrZero(IntToStr(Registros50.Count),8);
    
    if Registros51.Count>0 then
    
      s:=s+'51'+TBStrZero(IntToStr(Registros51.Count),8);
    
    if Registros53.Count>0 then
    
      s:=s+'53'+TBStrZero(IntToStr(Registros53.Count),8);
    
    if Registros54.Count>0 then
    
      s:=s+'54'+TBStrZero(IntToStr(Registros54.Count),8);
    
    if Registros55.Count>0 then
    
      s:=s+'55'+TBStrZero(IntToStr(Registros55.Count),8);
    
    if Registros56.Count>0 then
    
      s:=s+'56'+TBStrZero(IntToStr(Registros56.Count),8);
    
    
    if Registros60M.Count>0 then
    
      s:=s+'60'+TBStrZero(IntToStr(Registros60M.Count+Registros60A.Count+
    
        Registros60D.Count+Registros60I.Count+Registros60R.Count),8);
    
    if Registros61.Count>0 then
    
      s:=s+'61'+TBStrZero(IntToStr(Registros61.Count+Registros61R.Count),8);
    
    if Registros70.Count>0 then
    
      s:=s+'70'+TBStrZero(IntToStr(Registros70.Count),8);
    
    if Registros71.Count>0 then
    
      s:=s+'71'+TBStrZero(IntToStr(Registros71.Count),8);
    
    if Registros74.Count>0 then
    
      s:=s+'74'+TBStrZero(IntToStr(Registros74.Count),8);
    
    if Registros75.Count>0 then
    
      s:=s+'75'+TBStrZero(IntToStr(Registros75.Count),8);
    
    if Registros76.Count>0 then
    
      s:=s+'76'+TBStrZero(IntToStr(Registros76.Count),8);
    
    if Registros77.Count>0 then
    
      s:=s+'77'+TBStrZero(IntToStr(Registros77.Count),8);
    
    
    if Registros85.Count>0 then
    
      s:=s+'85'+TBStrZero(IntToStr(Registros85.Count),8);
    
    if Registros86.Count>0 then
    
      s:=s+'86'+TBStrZero(IntToStr(Registros86.Count),8);
    
    
    //totalizador para registros 88
    
    wtotal88:=0;
    
    if FInforma88EAN then
    
      wtotal88:=wtotal88+Registros88Ean.Count;
    
    
    if Trim(Registro88EC.CRCContabilista) <> '' then
    
      Inc(wtotal88);
    
    if Trim(Registro88SF.FCNPJEmpresa) <> '' then
    
      Inc(wtotal88);
    
    
    if FInforma88SME then
    
      inc(wtotal88);
    
    
    if FInforma88SMS then
    
      inc(wtotal88);
    
    
    if wtotal88>0 then
    
      s:=s+'88'+TBStrZero(IntToStr(wtotal88),8);
    
    
      _calcTotal90;
    
    
      s:=s+'99'+TBStrZero(IntToStr(Registros50.Count+Registros51.Count+
    
        Registros53.Count+Registros54.Count+Registros55.Count+registros56.count+
    
        (Registros60M.Count+Registros60A.Count+Registros60D.Count+Registros60I.Count+Registros60R.Count)+
    
        (Registros61.Count+Registros61R.Count)+Registros70.Count+Registros71.Count+
    
        Registros74.Count+Registros75.Count+Registros76.Count+Registros77.Count+
    
        Registros85.Count+Registros86.Count+wtotal88+
    
         2 + // tipo 10,11
    
         wtotal90 ),8);
    
    
      p := 1;
    
      for i := 1 to wtotal90 do
    
      begin
    
        wregistro:='90'+TBStrZero(TiraPontos(Registro10.CNPJ),14);
    
        wregistro:=wregistro+Padl(TiraPontos(Registro10.Inscricao),14);
    
    
        wregistro:=wregistro+ Copy(s,p,90);
    
        p := p + 90;
    
    
        wregistro:=wregistro+Space(125-length(wregistro))+ IntToStr(wtotal90);
    
        WriteRecord(wregistro);
    
      end;
    
    end;
    
    

  10. Não sei se é teu caso, mas vou te passar o que acontece aqui. Apesar de acabar sobrando para a softhouse, esta consultoria deve ser feita pelo contador da empresa.

    Tenho alguns clientes que estão no Simples Nacional, ou seja, não destacam impostos como ICMS

    Com orientação do contador (aqui há um concenso dos contadores, pelo menos os que vi, todos fazem desta forma) a nota é emitida normalmente sem destaque do ICMS e nas informações complementares se coloca a informação referente aos impostos da nota de compra, ou seja, se você é SN você não pode destacar o ICMS mesmo para devolver ref. a uma nota de compra com ICMS.

  11. Marcelo, bom dia.

    Acredito que o seu caso seja o seguinte...

    - Você emitiu notas com a versão 1 do compontente (NFe 1.10);

    - Você fez a conversão para versão 2;

    - Você enviou a nota feita na versão 1 utilizando o componente da versão 2.

    Fiz um teste aqui desta forma e foi isto que aconteceu.

    O ACBrNFe não está preparado para tratar versões diferentes.

    Se o arquivo da NFe foi alterado, acredito que você possa acertar manualmente(depois verifique a assinatura com o validador).

    Quando for enviar uma nota da versão 1 utilizando o componente, utilize o componente referente a versão 1.

    Espero ter ajudado,

    Att,

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