Ir para conteúdo
  • Cadastre-se

LIDERNetwork

Membros
  • Total de ítens

    150
  • Registro em

  • Última visita

Posts postados por LIDERNetwork

  1. Olá Parceiro,

     

    De fato podem haver algumas codificações a serem implementadas já que para um CEST tem vários NCMs e até alguns desses NCMs já estão inválidos após 01 de Janeiro de acordo com a nova tabela IBPT com vigência até Junho/2016.

    Como mencionei antes é para um exemplo ou uso a referida tabela mas se puder compartilhar as modificações são bem vindas!

  2. Boa Tarde colegas,

    Não sei se este é o espaço indicado para contribuir mas consegui um arquivo SQL com uma consultoria contábil de um velho amigo contador que me repassou sem custos.

    Esta tabela é para ser usado nos produtos ICMS-ST e preencher a tag prod.CEST apartir de Abril de 2016 conforme nota técnica 003/2015.

    Como forma de contribuição segue em anexo, pode servir como base de uso ou exemplo.

    Espero ter ajudado!

    CEST.SQL

    • Curtir 5
  3. procedure TForm1.ACBrTEFD1AntesFinalizarRequisicao(Req : TACBrTEFDReq);
    begin
       if Req.Header = 'CRT' then
          Req.GravaInformacao(507,001,'1');
       Memo1.Lines.Add('Enviando: '+Req.Header+' ID: '+IntToStr( Req.ID ) );
    end;
    Em 24/02/2016 at 12:20, Daniel Simoes disse:

    Você pode usar o evento... "AntesFinalizarRequisicao"... veja o exemplo do Demo do ACBRTEFD

    
    procedure TForm1.ACBrTEFD1AntesFinalizarRequisicao(Req : TACBrTEFDReq);
    begin
       if Req.Header = 'CRT' then
          Req.GravaInformacao(777,777,'TESTE REDECARD');
       Memo1.Lines.Add('Enviando: '+Req.Header+' ID: '+IntToStr( Req.ID ) );
    end;

     

    Olá Daniel obrigado pelo retorno mas se entendi para passar esse campo que citei seria:

    procedure TForm1.ACBrTEFD1AntesFinalizarRequisicao(Req : TACBrTEFDReq);
    begin
       if Req.Header = 'CRT' then
          Req.GravaInformacao(507,001,'1');
       Memo1.Lines.Add('Enviando: '+Req.Header+' ID: '+IntToStr( Req.ID ) );
    end;

    Seria isso??

  4. Bom dia Colegas,

    Gostaria de uma ajuda de vcs, preciso implementar no TEF_DIAL essa configuração para que os cartões Policard passem no Módulo Client da SITEF pois nossa aplicação está homologada na Software Express usando o módulo Client como TEF_DIAL (Troca de arquivos) e não fizemos nenhuma alteração do ACBRTEFD mas agora acredito que essa implementação do campo seja necessária mas não sei onde implementar sem modificar o fonte original do ACBR para não ficar "diferente" do SVN.

    Na página 23 no item 13.2.5 do manual de integração Policard + Client Modular SITEF diz o seguinte:
     
    "Além desses parâmetros, é necessário que a aplicação envie no arquivo Intpos.001 o campo
    507-001=1."

    Como proceder???

    Segue em anexo o referido manual

    Policard_Guia de Instalação.pdf

  5. Paulo se entendi sua dúvida você poderá testar seu desenvolvimento para NFC-e apenas setando a porta para um arquivo TXT exemplo PORTA=arquivo.txt o ACBr vai criar um arquivo em TXT bloco de notas na pasta do seu EXE com a copia fiel do que deveria ser impresso em uma mini impressora não fiscal térmica. Essa opção é apenas para lhe ajudar no desenvolvimento inicial do seu sistema e não estar gastando com equipamentos até que seu sistema estar "redondo" de inicio e só funciona em EscPos.

    Em modo relatório Fast ou Fortes não funciona.

    Se for usar uma mini impressora sugiro a Epson TM-T20 ou a Daruma DR700 ou DR800 em ambas o ACBR é perfeito!

    Bons códigos!

    • Curtir 1
  6. Apesar do post ser antigo e o mesmo não esta como RESOLVIDO, seguem abaixo minha contribuição a quem interessa a solução, pois passei pelo mesmo problema porém era apenas as configurações da própria balança:

    Comunicação 100% com esta balança Bematech SA-110 ou a ELGIN SA-110 com o Componente ACBrBal

    1 - Ligue a balança e mantenha pressionada a tecla 0 até o display PESO apresentar a opção: 00 FnC.

    2 - Em seguida pressione a tecla CE até a opção 03 rS1 aparecer e em seguida pressione a tecla KG/100g.

    3 - No campo Peso terá a informação rS232 e o display Total terá 1 4 1 0. Se o campo TOTAL tiver valor diferente altere para 1 4 1 0 digitando no display da balança

    4 - Em seguida pressionando o batão KG/100g. Deslige e ligue a balança para finalizar a configuração.

    5 - No componente ACBRBal configure:

    5.1 - Baud = 9600 (Aqui a balança só funcionou nesse config)

    5.2 - Modelo: FILIZOLA

    5.3 - Porta: A sua porta de comunicação

    O cabo utilizado é o original que vem com a própria balança portanto não precisei "pinar".

    Bons códigos!!

    • Curtir 2
  7. Essa tabela de NCM está muito complicada.

    Tenho a situação: 

    NCM 48184090 que no site http://www4.receita.fazenda.gov.br/simulador/PesquisarNCM.jsp?codigo esta como VALIDO

    No IBPT tabela atualizada vigência ate 30/06/2016 TabelaIBPTaxRN16.1.A.csv esse mesmo NCM 48184090 está como VALIDO

    Ao transmitir a NFC-e dá REJEIÇÃO NCM Inexistente ou inválido.

    E agora o que se pode fazer alguém tem alguma solução??

    Tem muitos produtos assim e já nao sei onde pegar a tabela correta que passa na validação...

    Um verdadeiro terror!!

     

    • Curtir 1
  8. 10 minutos atrás, Isaque Pinheiro disse:

    Olhei o código do componente e não encontrei nada de errado, gentileza debugar seu código para detectar.

    Olá Isaque!

    Na verdade já fiz de tudo e no debug nao apresenta nada de errado, o componente esta sendo preenchido corretamente. Por gentileza tem como verificar se estou errando na abertura e fechamento dos blocos dos registros? É que é a primeira vez que ajustei pra gerar o contribuições no entanto estou sentindo mais dificuldades do que o SPED ICMS e também porque sei que alguns registros dependem de outros para que o componente gere o TXT corretamente e eu não sei se estou preenchendo ele do jeito que é pra fazer, se tiver um exemplo so desse bloco e puder compartilhar agradeço!!

  9. Bom dia Colegas, gostaria de saber porque não esta sendo gerado o bloco F500+F525 no TXT gerado com o código da procedure abaixo relacionado, gostaria de saber onde estou errando?

     

     with PisCofins.Bloco_f do
      begin
       with RegistroF001New do
        begin
         with RegistroF010New do
        begin
        CNPJ := sCNPJEmpresa;
        IND_MOV := imComDados;
           if TipoMovimento = 'CAIXA' then
            begin
        if DM.IBTransaction.Active then    //PEGA NOTA NFC-E
           DM.IBTransaction.Commit;
           DM.IBTransaction.StartTransaction;
        BlocoF500.Close;
        BlocoF500.ParamByName('CODEMP').AsInteger := iEmp;
        BlocoF500.ParamByName('DATAINI').AsDate := DATA_INCIO;
        BlocoF500.ParamByName('DATAFIN').AsDate := DATA_Fim;
        BlocoF500.ExecOrOpen;
    
        if not BlocoF500.IsEmpty then begin
        while not BlocoF500.eof do begin
    
           with RegistroF500New do
        begin
            VL_REC_CAIXA := BlocoF500TOTAL.AsCurrency;
            CST_PIS := StrToCstPis(BlocoF500CST_PIS.AsString);
            VL_DESC_PIS := 0;
            VL_BC_PIS := BlocoF500TOTAL.AsCurrency;
            ALIQ_PIS := BlocoF500ALIQUOTA_PIS.AsFloat;
            VL_PIS := BlocoF500TOTALICMSPIS.AsCurrency;
            CST_COFINS := StrToCstCofins(BlocoF500CST_COFINS.AsString);
            VL_DESC_COFINS := 0;
            VL_BC_COFINS := BlocoF500TOTAL.AsCurrency;
            ALIQ_COFINS := BlocoF500ALIQUOTA_COFINS.AsFloat;
            VL_COFINS := BlocoF500TOTALCOFINS.AsCurrency;
             COD_MOD := '65';
             CFOP := StrToInt(BlocoF500CFOP_VENDAS_CF_EST.AsString);
             COD_CTA := '01';
             INFO_COMPL := '';
    
    
        if (CST_PIS = strtocstpis('04')) or (CST_PIS = strtocstpis('05'))
        or (CST_PIS = strtocstpis('06')) or (CST_PIS = strtocstpis('07')) or
           (CST_PIS = strtocstpis('08')) or (CST_PIS = strtocstpis('09')) then begin
             Bloco_M;
        end;
        end;
        BlocoF500.Next;
        end;
        end;
    
    
        BlocoF500NFe.Close;    //PEGA NOTA FISCAIS DE SAIDA NF-E
        BlocoF500NFe.ParamByName('CODEMP').AsInteger := iEmp;
        BlocoF500NFe.ParamByName('DATAINI').AsDate := DATA_INCIO;
        BlocoF500NFe.ParamByName('DATAFIN').AsDate := DATA_Fim;
        BlocoF500NFe.ExecOrOpen;
    
        if not BlocoF500NFe.IsEmpty then begin
         while not BlocoF500NFe.eof do begin
           with RegistroF500New do
        begin
            VL_REC_CAIXA := BlocoF500NFeTOTAL.AsCurrency;
            CST_PIS := StrToCstPis(BlocoF500NFeCST_PIS.AsString);
            VL_DESC_PIS := 0;
            VL_BC_PIS := BlocoF500NFeTOTALBASEPIS.AsCurrency;
            ALIQ_PIS := BlocoF500NFeALIQ_PIS.AsFloat;
            VL_PIS := BlocoF500NFeVALORPIS.AsCurrency;
            CST_COFINS := StrToCstCofins(BlocoF500NFeCST_COFINS.AsString);
            VL_DESC_COFINS := 0;
            VL_BC_COFINS := BlocoF500NFeTOTALBASECOFINS.AsCurrency;
            ALIQ_COFINS := BlocoF500NFeALIQ_COFINS.AsFloat;
            VL_COFINS := BlocoF500NFeVALORCOFINS.AsCurrency;
             COD_MOD := '55';
             CFOP := StrToInt(BlocoF500NFeCFO.AsString);
             COD_CTA := '01';
             INFO_COMPL := '';
    
             if (CST_PIS = strtocstpis('04')) or (CST_PIS = strtocstpis('05'))
        or (CST_PIS = strtocstpis('06')) or (CST_PIS = strtocstpis('07')) or
           (CST_PIS = strtocstpis('08')) or (CST_PIS = strtocstpis('09')) then begin
             Bloco_M;
    
        end;
        end;
          BlocoF500NFe.Next;
      end;
        end;
    
        Bloco525NFCe.Close;    //PEGA TOTAIS BLOCO F525 PARA APURAÇÃO CAIXA
        Bloco525NFCe.ParamByName('CODEMP').AsInteger := iEmp;
        Bloco525NFCe.ParamByName('DATAINI').AsDate := DATA_INCIO;
        Bloco525NFCe.ParamByName('DATAFIN').AsDate := DATA_Fim;
        Bloco525NFCe.ExecOrOpen;
    
        if not Bloco525NFCe.IsEmpty then begin
         while not Bloco525NFCe.eof do begin
           with RegistroF525New do
        begin
           VL_REC := Bloco525NFCeTOTAL.AsCurrency;
           IND_REC := StrToInd_Rec('05');
           CNPJ_CPF := RetiraCaracter(Bloco525NFCeR04_CNPJ_CLIENTE.asstring);
           NUM_DOC := '';
           COD_ITEM := Bloco525NFCeCOD_PRO.Asstring;
           VL_REC_DET := Bloco525NFCeTOTAL.AsCurrency;
           CST_PIS := StrToCstPis(Bloco525NFCeCST_PIS.AsString);
           CST_COFINS := StrToCstCofins(Bloco525NFCeCST_COFINS.AsString);
           INFO_COMPL := '';
           COD_CTA := '01';
        end;
        Bloco525NFCe.Next;
        end;
        end;
    
        Bloco525NFe.Close;    //PEGA TOTAIS BLOCO F525 PARA APURAÇÃO CAIXA
        Bloco525NFe.ParamByName('CODEMP').AsInteger := iEmp;
        Bloco525NFe.ParamByName('DATAINI').AsDate := DATA_INCIO;
        Bloco525NFe.ParamByName('DATAFIN').AsDate := DATA_Fim;
        Bloco525NFe.ExecOrOpen;
    
        if not Bloco525NFe.IsEmpty then begin
         while not Bloco525NFe.eof do begin
           with RegistroF525New do
        begin
           VL_REC := Bloco525NFeTOTAL.AsCurrency;
           IND_REC := StrToInd_Rec('05');
           CNPJ_CPF := RetiraCaracter(Bloco525NFeCNPJ_CLI.asstring);
           NUM_DOC := '';
           COD_ITEM := Bloco525NFeCOD_PRO.Asstring;
           VL_REC_DET := Bloco525NFeTOTAL.AsCurrency;
           CST_PIS := StrToCstPis(Bloco525NFeCST_PIS.AsString);
           CST_COFINS := StrToCstCofins(Bloco525NFeCST_COFINS.AsString);
           INFO_COMPL := '';
           COD_CTA := '01';
        end;
        Bloco525NFe.Next;
        end;
        end;
    
      if DM.IBTransaction.Active then
           DM.IBTransaction.Commit;
           BlocoF500.Close;
           BlocoF500NFe.Close;
           Bloco525NFCe.Close;
           Bloco525NFe.close;
    end;
        end;
        end;
      PisCofins.WriteBloco_F;
    end;

     

  10. Colegas,

    De tanto persistir eis que uma simples ação resolve de vez o problema de conexão na serial com o erro Parametro incorreto 87, então fiz os seguintes passos:

    1 - Instalei a impressora usando o drivers spooler do fabricante

    2 - removi o driver de porta virtual o TMVirtualPortDriver

    3 - compartilhei a impressora no windows com o nome EPSON

    4 - Em porta de comunicação coloquei \\localhost\EPSON

    5 - Usei o PosPrinter na mesma porta do ACBRECF e linkei ao ACBRECF

    6 - Setei a propriedade modelo para ppEscPosEpson

    Agora está imprimindo em EscPos perfeitamente sem cortes e nem atropelos!

    Como o Regys falou é bem mais rápido e perfeita a impressão!

    Agora vou "brincar" mais com a Epson pois baixei a DLL para impressoras não fiscais do fabricante e é muito simples de usar inclusive o pessoal do ACBR poderia implementar no Escpos usando a InterfaceEpsonNF.dll assim como o Daniel fez com a DLL da Epson para impressoras Fiscais, pois as DLLs tem funções para NCF-e nativas e impressões de QRCode

    Bons códigos!

     

  11. Estou ressuscitando o post devido a não ter ainda encontrado solução para o meu caso que é igual para todos em exceção de um detalhe:

    1 - Se uso Fast ou Fortes a margem da esquerda na Epson corta e não tem jeito algum de resolver isso mexendo nas margens seja no driver seja no componente não muda em nada! Problema ainda sem solução de acordo com os vários e vários post aqui do forum.

    Curioso é que se eu gerar o PDF e imprimir sai perfeito...

    2 - Se coloco em modo EscPos dá erro Parametro incorreto: 88 isso está ocorrendo apos atualizar para o trunk2. No trunk funcionava 100%...

    Enfim não tem jeito de usar a Epson em nenhum dos modos pelo menos até a comunidade encontrar uma solução pois eu já tentei de tudo!!

  12. Bom dia Colegas,

     

    Tambem estou com o mesmo problema de corte de margem esquerda e meu trunk2 esta atualizado e tambem nao encontrei essa propriedade, alguem tem como nos ajudar??

    Bom dia Colegas,

     

    Tambem estou com o mesmo problema de corte de margem esquerda e meu trunk2 esta atualizado e tambem nao encontrei essa propriedade, alguem tem como nos ajudar??

    Achei!!

    Danilo vá na propriedade Margin (TRLMargins) clique no sinal + dai vai ter a propriedade leftmargin

    Mas aqui ainda não resolveu...

  13. Bom dia Colegas,

    Com a nota tecnica 2015/002 foi adicionada novas tags para informar dados em relação ao abastecimento como nbomba, nbico, etc... como acontecia antes no ECF. Não se sabe se essa informação será obrigatório para alguns dos estados que a regulamentaram mas gostaria de saber se os desenvolvedores tem conhecimento da obrigatoriedade da informação no NFC-e e quais tags utilizar se já foram implementadas no trunk2?

    Preciso saber se já implementaram caso não, posso adicionar as referidas tags e disponibilizar para subir ao svn e assim contribuir com o projeto.

  14. Boa noite.

    Quanto ao problema na URL da Paraíba, acredito que o pessoal da SEFAZ não tem interesse de padronizar conforme a documentação QR-Code Versão 3.3 conforme a citação nesse tópico, pois já mandei diversos e-mails Dúvidas / Sugestões: E-mail: [email protected] informando que o schema PL008h não reconhece o parâmetro cdFuncao=FIS_1410 que encontrasse na URL do estado, e não obtive êxito. Então fiz a seguinte alteração no fonte para poder resolver o problema e não ficar esperando uma resposta que nunca vem da SEFAZ PB, e acredito que eles não irão mudar a URL e padronizar como são nos outros estados, pois o pessoal é meio fraco e lento.

    OBS: OS FONTES DO ACBR DEVERÃO ESTÁ ATUALIZADOS TRUNCK2, pois os fontes já possui os schemas atualizados. Infelizmente com essa alteração não será possível acessar os dados via QRCode, porem vai passar pela validação do schema e vai transmitir, a consulta vai ficar via site e informado a chave do cupom até eles resolverem o que vão fazer digo a SEFAZ PB.

     então segue o código abaixo:

     

     

    Na Class: ACBrNFe Método: GetURLQRCode

    foi colocado o seguinte código:

    function TACBrNFe.GetURLQRCode(const CUF: integer; const TipoAmbiente: TpcnTipoAmbiente;
      const AChaveNFe, Destinatario: String; const DataHoraEmissao: TDateTime;
      const ValorTotalNF, ValorTotalICMS: currency; const DigestValue: String): String;

    ...

      // Passo 6
      if Pos('?', urlUF) > 0 then
      begin
        if (Pos('cdFuncao=FIS_1410', urlUF) > 0) then
          Result := StringReplace(urlUF, 'cdFuncao=FIS_1410', '', [rfReplaceAll, rfIgnoreCase]) + sEntrada + cIdCSC + '&cHashQRCode=' + cHashQRCode
        else
          Result := urlUF + '&' + sEntrada + cIdCSC + '&cHashQRCode=' + cHashQRCode;
      end
      else
        Result := urlUF + '?' + sEntrada + cIdCSC + '&cHashQRCode=' + cHashQRCode;

    end;

     

     

     

     

    Muito obrigado fernando sua implementação foi aceita na SEFAZ sem erro de schema, eu mesmo tinha modificado o arq ACBrNFeServicos.ini mas sem sucesso. Também entrei em contato com a SEFAZ-PB que não nos deu retorno acredito que eles lá tão mais perdido do que cego em tiroteio com as novas mudanças...

  15. Bom dia colegas,

    Ja li um topico falando a respeito e inclusive no demo tem um exemplo mas estou enfrentando uma grande dificuldade na captura das seguintes informações:

    1 - OPERADORA

    2 - SE CREDITO OU DEBITO

    3 - BANDEIRA

    Essas informações já tentei de todo jeito e so vem em branco. Aqui possuo o teste do SITEF e VSPAGUE e em nenhum dos dois funciona nao retorna  nada vem tudo em branco então não sei se estou colocando os comandos em algum evento errado ou mesmo usando a unit errada!!

    O sistema esta configurado em modo FILE - Gerenciador Padrao - TEF_DIAL e no SITEF uso o Client Modular e para o VSPAGUE uso o gerenciador deles mesmo e todos usam a pasta TEF_dial para a troca de arquivos.

    Preciso da ajuda ou alguma dica dos colegas porque preciso dessas informações para gerar o Registro 1600 do SPED Fiscal que é em relação a vendas no cartão por operadora.

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