Ir para conteúdo
  • Cadastre-se

Marcos Gerene

Membros
  • Total de ítens

    514
  • Registro em

  • Última visita

  • Days Won

    1

Posts postados por Marcos Gerene

  1. Boa tarde a todos,

    O meu certificado A1 venceu e desta vez optei pelo A3. Consigo gerar a chave pelo ACBrSign normalmente, mas eu tinha um script para gerar as chaves no meu sistema que facilitava e muito meu processo.

    Este script era basicamente rodar isso no CMD:

    openssl dgst -sha256 -sign cert.pem -out assinatura.bin cnpjs.txt
    openssl enc -base64 -in assinatura.bin -out assinatura.txt

     

    Aonde "cert.pem" seria o certificado A1 convertido em Base64 se não me engano.

     

    A questão é, consigo gerar este arquivo que uso com o certificado A3? Ou existe com o A3 que eu consiga fazer um script parecido?

     

    Obrigado, Marcos.

  2. Bom dia a todos,

    Para não inundar ainda mais este post

     

     

    e para servir de base de conhecimento, quando apenas a luz power do SAT acende e ele não pisca as outras luzes ao plugar o aparelho o mesmo está com defeito.

    No meu caso aconteceu com um aparelho que chegou a 20 dias justamente objeto de troca citado no post anterior.

     

    Infelizmente serão mais 20 dias com o cliente sem SAT.

     

    Att, Marcos

    • Curtir 1
  3. A FS700 é fiscal né?

     

    Se o problema ocorre também com o ACBrMonitorPLUS tudo indica que o problema não está no AcbrFramework e sim na comunicação com a impressora.

     

    Tentou comunicar com algum software de testes fornecido pela fabricante?

     

    Faz um tempo que trabalho com impressoras fiscais, mas ate aonde eu conheço a comunicação ocorre por porta serial ou USB emulando uma Serial, veja se existe algum arquivo de configuração (como a Bematech tem o bemafi.xml) e se a porta COM está correta neste arquivo.

  4. Boa noite a todos,

    Tive um retorno do Sicoob na remessa que mandei de testes que acredito que envolva ajustes também no componente.

    layout sicoob.pdf

    Atualmente eu emitia boleto apenas pelo Bradesco e este está ok.

    Meu código:

    procedure TBoleto.GetBoletos(GerarPDF: boolean);
    var
    qryContasReceber : TZQuery;
    begin
    try
      ACBrBoleto.ListadeBoletos.Clear;
    
      qryContasReceber := TZQuery.Create(nil);
      qryContasReceber.Connection := FrmPrincipal.Conexao;
      qryContasReceber.SQL.Add('SELECT CONTAS_RECEBER.*, CLIENTE.*, CIDADE.* FROM CONTAS_RECEBER');
      qryContasReceber.SQL.Add('INNER JOIN CLIENTE ON CLIENTE.CLI_CODIGO = CONTAS_RECEBER.CLI_CODIGO');
      qryContasReceber.SQL.Add('INNER JOIN CIDADE ON CIDADE.CID_CODIGO = CLIENTE.CID_CODIGO');
      qryContasReceber.SQL.Add('WHERE CONTAS_RECEBER.CR_CODIGO IN ('+FCodigos+')');
      qryContasReceber.Open;
    
      while not qryContasReceber.EOF do
        begin
        if (GerarPDF) then
          ACBrBoleto.ListadeBoletos.Clear;
    
        with ACBrBoleto.CriarTituloNaLista do
          begin
          OcorrenciaOriginal.Tipo := toRemessaRegistrar;
    
          Sacado.NomeSacado := qryContasReceber.FieldByName('CLI_RAZAO').AsString;
          Sacado.CNPJCPF    := qryContasReceber.FieldByName('CLI_CNPJ').AsString;
          if (Length(qryContasReceber.FieldByName('CLI_CNPJ').AsString) = 11) then
             Sacado.Pessoa := pFisica
          else
             Sacado.Pessoa := pJuridica;
          Sacado.Logradouro := qryContasReceber.FieldByName('CLI_LOGRADOURO').AsString;
          Sacado.Numero     := qryContasReceber.FieldByName('CLI_NUMERO').AsString;
          Sacado.Bairro     := qryContasReceber.FieldByName('CLI_BAIRRO').AsString;
          Sacado.Cidade     := qryContasReceber.FieldByName('CID_NOME').AsString;
          Sacado.UF         := qryContasReceber.FieldByName('CID_UF').AsString;
          Sacado.CEP        := qryContasReceber.FieldByName('CLI_CEP').AsString;
          if Length(qryContasReceber.FieldByName('CLI_EMAIL').AsString) > 5 then
            Sacado.Email := qryContasReceber.FieldByName('CLI_EMAIL').AsString;
          if Length(qryContasReceber.FieldByName('CLI_TELEFONE').AsString) > 3 then
            Sacado.Fone := qryContasReceber.FieldByName('CLI_TELEFONE').AsString;
    
          EspecieMod              := 'R$';
          Vencimento              := qryContasReceber.FieldByName('CR_VENCIMENTO').AsDateTime;
          DataDocumento           := qryContasReceber.FieldByName('CR_LANCAMENTO').AsDateTime;
          NumeroDocumento         := qryContasReceber.FieldByName('CR_CODIGO').AsString;
          SeuNumero               := qryContasReceber.FieldByName('CR_CODIGO').AsString;
          NossoNumero             := qryContasReceber.FieldByName('CR_CODIGO').AsString;
          EspecieDoc              := 'DM';
          Aceite                  := atNao;
          Carteira                := FCarteira;
          DataProcessamento       := Now;
          LocalPagamento          := ACBrBoleto.Banco.LocalPagamento;
          ValorDocumento          := qryContasReceber.FieldByName('CR_VALOR').AsFloat;
          PercentualMulta         := FPercentualMulta;
          if (FPercentualMulta > 0) then
            begin
            ValorMoraJuros    := (qryContasReceber.FieldByName('CR_VALOR').AsFloat * FPercentualMulta / 100) / 30;
            DataMoraJuros     := IncDay(Vencimento, 1);
            end;
    
          if (FDiasProtesto > 0) then
            begin
            TipoDiasProtesto := diUteis;
            DataProtesto     := IncDay(Vencimento, FDiasProtesto);
            end;
    
          TipoImpressao := tipNormal;
          end;
    
        if (GerarPDF) then
          begin
          ACBrBoletoRpt := TACBrBoletoFCLazReport.Create(nil);
          ACBrBoleto.ACBrBoletoFC := ACBrBoletoRpt;
    
          ACBrBoletoRpt.DirLogo := diretorio_logotipos;
          ACBrBoletoRpt.NomeArquivo := ACBrBoleto.DirArqRemessa + '\bol_' + FormatFloat('000000000', qryContasReceber.FieldByName('CR_CODIGO').AsInteger) + '.pdf';
          ACBrBoletoRpt.GerarPDF;
    
          ACBrBoleto.ACBrBoletoFC := nil;
          ACBrBoletoRpt.Free;
          end;
    
        qryContasReceber.Next;
        end;
    finally
      qryContasReceber.Free;
    end;
    end; 

     

    Att, Marcos

  5. @BigWings

     

    Obrigado pela atenção, meu script é basicamente um arquivo txt separado por # que rodo no banco.

    ex:

    ALTER TABLE CLIENTE ADD CLI_ID INTEGER NOT NULL;
    #
    ALTER TABLE PRODUTO ADD PROD_ID INTEGER NOT NULL;

    Eu leio isso, faço um split com # executo ação a ação.

     

    Como eu poderia usar o recurso que me falou neste caso, pode me dar um exemplo?

  6. Bom dia a todos,

    Estou fazendo um refatoring no meu software, entre as modificações alguns campos devem ser not null.

    Bem, o que acontece é que sou uma software house, ou seja, tenho vários banco de dados.

    Eu utilizo Firebird, tenho algo em torno de 80% em FB 2.5.x e o restante em 3.0.x.

     

    Bem, meus sistemas se atualizam de forma automatica, tenho uma aplicação que baixa a nova versão e roda um script no banco atualizando tudo, entretanto barrei num problema complexo com o Firebird agora.

    Na versão 3.0 é permitido usar SET NOT NULL, logo posso usar da seguinte forma:

    ALTER TABLE [tabela] ALTER COLUMN [coluna] SET NOT NULL;

    Entretanto na versão 2.5 o código acima não funciona, então tenho que usar desta forma:

    UPDATE RDB$RELATION_FIELDS SET RDB$NULL_FLAG = 1 WHERE (RDB$FIELD_NAME = 'campo') AND (RDB$RELATION_NAME = 'tabela');

    Mas o update em tabelas de sistema não é permitido no FB 3.0.x.

     

    Existe alguma solução para isto que eu possa usar num script. Em ultimo caso vou usar o script da 2.5.x e deixar que o erro aconteça nos clientes que estejam na versão 3.0.x minimizando o problema,

    mas isso vai "quebrar" meus scripts posteriormente.

     

    Att, Marcos

  7. 15 minutos atrás, OldProgramer disse:

    Pra que fique registrado como"história", o desempenho como relatei melhorou muito, mas os problemas com gravações não efetuadas (não usando transactions nem cache updates várias vezes os usuários tem que fechar a aplicação pra efetivar a gravação - fui jogado de volta ao clipper sem os commits) e deadlocks aumentou brutalmente, coisa que com o Zeos não acontecia.

    No Zeos era preto no branco"seu eu dava um update e não tinha concorrência tava gravado e fim de papo.

     

    Fora o bizarro no clássico "while not eof" ao se dar um "next" e ele ultrapassar o rowlimit do fetch gerar um "falso true". Inacreditável.

     

    Agora fiquei entre a cruz e a espada. Ficar caçando uma solução (se existir) em cada propriedade do Firedac, voltar ao Zeos (zero desses problemas mas estagnado no FB2.5 - o 3 tá há séculos em beta) ou migrar para outro frame.

    Conhece o ORMBr? (www.ormbr.com.br) o "pai" da criança se não me engano é o @Isaque Pinheiro e entre os mantenedores está o @Juliomar Marchetti.

    Como eu disse antes estou completamente fora do Pascal, matei na minha ultima release a unica aplicação que eu ainda tinha em Lazarus, nem conheço a ferramenta, mas acredito que vale a pena dar uma conferida.

    • Obrigado 1
  8. 2 minutos atrás, BigWings disse:

    Se tiver o código cStat da rejeição ficaria mais fácil descobrir o motivo.

    Que me lembro somente a consulta de NFe por chave de acesso tem essa restrição.

    O ACBr, por exemplo, tenta fazer a consulta no envio de evento de Cancelamento. Por isso a minha pergunta. Caso você tivesse passado o tipo de evento errado (Cancelamento) poderia retornar essa rejeição.

    Bem, verifique no seu código se por acaso não está sendo chamado o WebService de consulta de NFe por chave de acesso, pode ser esse o problema.

    @BigWings

    O problema não estava no meu código mas sim na versão, a NFe era de um cliente novo, nem no meu sistema a NFe tinha sido emitida, eu ia fazer um micro executavel so pra resolver isso pra ele, foi um "serviço à parte" que vendi pro cliente no momento da implantação.

    De qualquer forma deu certo aqui comigo, muito obrigado pela atenção.

  9. 24 minutos atrás, BigWings disse:

    Você está usando o componente ou o ACBrMonitorPLUS?

    Amigo eu programo em C# e utilizo um componente nativo, atualmente não uso o ACBrNFe, eu apenas utilizo o forum.

    Sobre a emissão eu fiz usando o emissor gratuito versão 2.00.

  10. 2 horas atrás, Jairo Maia disse:

    Olá @Renan Cavalieri,

    Como foi dito pelo @Agnaldo Prates, você precisará sim ter pelo menos noção básica de legislação tributária, e tenha sempre em mente que essa legislação é muito dinâmica, ou seja, você precisa acompanhar sempre porque as coisas mudam com bastante frequência.

    Primeiro, em qual estado você está? Além das normas Nacional, há a legislação própria de cada estado, veja porque:

    1-Há cinco tipos de impostos, a saber: ICMS/ISSQN/IPI/PIS-PASEP e COFINS.
    ICMS = Estadual. Cada estado tem sua legislação própria.
    ISSQN = Municipal (para prestadores de serviço) e cada município tem suas alíquotas e legislação própria.
    IPI = Federal. Usado por fabricantes e importadores
    PIS/PASEP e COFINS = Federal. Esse é para todo mundo...
    Isto para efeito de emissão de nota fiscal. Há outros que são calculados pelo contabilista durante a escrituração e apuração do imposto, que não entram na NF-e, tais como: IRPJ, CSLL e CPP.

    2-Há dois Regimes de apuração do imposto:
    a-Simples Nacional (também conhecido como Regime Especial)
    b-RPA = Regime Periódico de Apuração (também é comum dizer Regime Normal).

    3-No Regime Normal (RPA), há duas Formas de apuração:
    a-Lucro Presumido - Esse tem direito a algumas coisas do Regime Especial, como a alíquota do PIS/PASEP e COFINS por exemplo.
    b-Lucro Real - Lucro Real, é o mais exigente dos regimes, você precisa emitir alguns tipos de notas não obrigatórias para os demais regimes, tal como perda de mercadoria, descartes, doação ou bonificação. A apuração é feita com base no faturamento Bruto menos a somatória das notas de entrada (compras), as despesas permitidas pela legislação, como folha de pagamento, alimentação, transporte, etc., as perdas ou descartes (doação e bonificação não se deduz da base de cálculo), e que resulta no Lucro Real para apuração do imposto a recolher.

    4-Quem usa CST e quem usa CSOSN:
    a-O Simples Nacional usa CSOSN = Código de Situação da Operação no Simples Nacional, e têm 3 dígitos.
    b-Lucro Presumido e Lucro Real usam CST = Código da Situação Tributária, e têm dois dígitos.
    No DANFE, a origem do produto precede o CST e CSOSN, a origem dos produtos pode ser classificadas entre 0 a 8, assim, se um produto tem CST 00 e origem Nacional será impresso no DANFE: 000.

    Cada estado tem seu RICMS. Por exemplo, como estou em SP, para entender como funciona as alíquotas aplicadas a quais produtos, e quais CST/CSOSN usar, precisa conhecer MINIMAMENTE os Artigos:
    52, 54, 54A, 55, 55A, 56C, e os Anexos I (Produtos Isentos) e II (Produtos com Redução Tributária):
    RICMS/2000-SP

    Quanto a entender sobre o regime Simples Nacional, você precisa conhecer minimamente:
    Lei Complementar 123/2006
    Resolução CGSN 94/2011

    Numa leitura de 2 minutos você explicou o que levei anos para entender minimamente. Excelente, eu te daria um abraço se pudesse haha.

    • Haha 1
  11. 31 minutos atrás, Sérgio Assunção disse:

    Você mantendo o certificado antigo vai fazer com que não perca o "vínculo" com as assinaturas geradas com esse certificado, mesmo ele estando vencido.

    Sim, você irá manter os 2 certificados no SGRSAT sem problemas.

    Também não terá problemas com o tipo de certificado que você vai usar, seja o A1 ou A3, desde que você siga os passos para exportar corretamente como você fez da 1a. vez

    Ficou claro ?

    Bom dia,

     

    Sim Sim, as respostas aqui foram claras.

     

    Muito obrigado a todos pela ajuda!

  12. 16 horas atrás, André Ferreira de Moraes disse:

    Se vc precisar vincular um novo equipamento, precisará de um certificado válido.

    @André Ferreira de Moraes

    Boa tarde, obrigado pela atenção.

    Lendo o link que postei anteriormente ficou uma dúvida no ar, no caso de clientes que eu vinculei anteriormente (com o certificado que no caso estaria vencido) eu preciso trocar a chave de ativação ou não existe a necessidade?

  13. Boa noite a todos,

    Recebi um e-mail da empresa que gerou meu certificado (tipo A1) que meu certificado vence em 60 dias.

    A única função do meu certificado é gerar a chave de associação do SAT, logo a renovação só seria feita para esta finalidade.

     

    Sendo assim fiz um teste com o ACBrSign e um certificado também A1 só que vencido de um cliente e o código de associação foi gerado normalmente.

    A questão é, existe a necessidade da renovação do meu certificado para estes fins?

     

    Att, Marcos

    Acredito que achei minhas respostas aqui:

    http://www.afrac.com.br/wp-content/uploads/2016/06/Perguntas-frequentes-de-desenvolvedores-do-SAT.pdf

  14. Bom dia a todos,

    Um cliente meu precisa emitir uma CCe para uma NFe de 2015 para conseguir uma certidão negativa. Em contato com o contador ele me informou que esse processo era possível,

    mas meu retorno quando tentei emitir foi que a data da chave era inferior em mais de 6 meses da data atual.

     

    Alguém já fez este processo e pode me orientar como fazer? Ou pode pelo menos me dizer se é ou não possível isso, nunca tive esse tipo de solicitação.

     

    Obrigado a todos

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