Ir para conteúdo
  • Cadastre-se

EMBarbosa

Consultores
  • Total de ítens

    9.411
  • Registro em

  • Última visita

  • Days Won

    117

Tudo que EMBarbosa postou

  1. está relacionado com isso aqui? http://www.djsystem.com.br/acbr/mantis/view.php?id=949
  2. Mas esse modo de resolver está incorreto. Por favor, faça uma busca no seu computador e verifique se o arquivo ACBrPAFClass.pas existe em algum outro diretório. Verifique que ele também foi atualizado na sua última versão, pois é nele que está declarado Linguagem (linha 193) SistemaOperacional (linha 194) e etc... dentro do objeto (ou classe) TACBrECFInfoPaf
  3. Nesse caso você deve ler o Guia Prático que informa quais são os registros Obrigatórios. Agora, caso tenha um erro específico que esteja com dúvida, poste aí o erro para que outros possam ajudar.
  4. Olá Daniel, Tivemos um pequeno probleminha ao gerar arquivos do zero. Estou tentando identificar o que foi que aconteceu. Assim que tiver uma posição eu volto a postar aqui. Mas fora isso, acredito que vai resolver.
  5. Você possui mais de um Delphi instalado na máquina ou pelo menos possui outras cópias do ACBr no computador?
  6. Use a função do TACBrECF.DescontoAcrescimoItemAnterior
  7. Se já tiver instalado o que o pacote ACBrSerial e não tiver dado certo, tente o seguinte: 1) desinstale todos os pacotes; 1) Atualize os fontes; 3) Faça um Build em todos os pacotes; 4) Reinstale os pacotes que vai utilizar;
  8. Instale os pacotes igual instrui o arquivo LEIAME.TXT
  9. Esse aqui ó: Destaquei o que ao meu ver é algo como a corrupção no arquivo...
  10. Acho que não vai funcionar. Como o aplicativo do fabricante está conectado na COM1 você não conseguirá conectar mais nada nela, nem o hub4com. Baixe o com0com, mais especificamente o hub4com. Configure ele (hub4com) para criar duas portas virtuais (nomeie elas para COM6 e COM7, sei lá...). As portas virtuais vão se comunicar com um programa que só então vai se comunicar com a sua porta física COM1. Configure no programa da catraca para acessar a COM6 e seu programa para acessar a COM7. Problem solved?
  11. Veja: http://www.forumweb.com.br/foruns/topic ... impressor/
  12. Então, você não entendeu bem. Não há como fazer isso no seu aplicativo pois você não pode embutir uma porta nele e fazer o programa da catraca comunicar com o seu programa ao invés de comunicar com uma porta. Os programas vão se comunicar com portas (virtuais ou não, continuam sendo portas) e não com um programa. Assim, a menos que queira reinventar a roda, criar drivers para portas virtuais e refazer o com0com no Delphi, você não deve se preocupar com fazer isso no seu programa. Sobre não depender de terceiros, até onde eu sei, o com0com é gratuito e Open Source. Baixe o com0com, mais especificamente o hub4com. Configure ele para criar duas portas virtuais (nomeie elas para COM6 e COM7, sei lá...) que vão se comunicar com a sua porta física COM1. Configure no programa da catraca para acessar a COM6 e seu programa para acessar a COM7. Problem solved. EDIT: Ainda não sei se fui claro sobre o funcionamento... se não tiver sido pode dizer aí o que você não entendeu...
  13. Acho que você (ou eu) não entendeu bem o seu problema. Qual é o seu objetivo? Por quê você precisa acessar a mesma porta por aplicativos diferentes? O Windows não permite mais de um acesso à mesma porta serial simultaneamente. O que você pode fazer no seu código é fechar a porta sempre que terminar o uso. O que esse tipo de programa faz é criar então várias portas virtuais, que na verdade vão se comunicar com um programa. Esse programa é que faz acesso a porta serial física no seu computador. Isso é feito por meio de drivers. Então para o Windows, os programas sempre estão acessando portas diferentes. Repito: Qual é o seu objetivo? Por quê você precisa acessar a mesma porta por aplicativos diferentes?
  14. Você precisa usar um programa que crie essas portas. Um que provavelmente faça isso é o hub4com que faz parte do projeto com0com. Link para o projeto https://sourceforge.net/projects/com0com/
  15. Olá antoniojr, Você chegou a procurar aqui no forum sobre esses registros?
  16. Pela mensagem de erro eu suspeitaria que é a falta dos zeros: "Aliquota não encontrada: 17". É diferente de "Aliquota não encontrada: 17,00" ou "Aliquota não encontrada: 17.00". Mas não tenho aqui um ECF Daruma para testar no momento.
  17. Você testou com o Demo?
  18. Eu não tive prazo ainda para testar. Mas se puder fazê-lo, altere a seguinte função no arquivo ACBrEPCBloco_0_Class.pas: procedure TBloco_0.WriteRegistro0000; var strCOD_VER: AnsiString; strTIPO_ESCRIT: AnsiString; strIND_SIT_ESP: AnsiString; strIND_NAT_PJ: AnsiString; strIND_ATIV: AnsiString; strNUM_REC_ANTERIOR: AnsiString; begin if Assigned(Registro0000) then begin with Registro0000 do begin case COD_VER of vlVersao100: strCOD_VER := '001'; // Código 001 - Versão 100 ADE Cofis nº 31/2010 de 01/01/2011 vlVersao101: strCOD_VER := '002'; // Código 002 - Versão 101 ADE Cofis nº 34/2010 de 01/01/2011 end; case TIPO_ESCRIT of tpEscrOriginal: strTIPO_ESCRIT := '0'; tpEscrRetificadora: strTIPO_ESCRIT := '1'; end; case IND_SIT_ESP of indSitAbertura: strIND_SIT_ESP := '0'; indSitCisao: strIND_SIT_ESP := '1'; indSitFusao: strIND_SIT_ESP := '2'; indSitIncorporacao: strIND_SIT_ESP := '3'; indSitEncerramento: strIND_SIT_ESP := '4'; indNenhum: strIND_SIT_ESP := ' '; end; case IND_NAT_PJ of indNatPJSocEmpresariaGeral : strIND_NAT_PJ := '00'; //0 - Sociedade empresária geral indNatPJSocCooperativa : strIND_NAT_PJ := '01'; //1 - Sociedade Cooperativa indNatPJEntExclusivaFolhaSal : strIND_NAT_PJ := '02'; //2 - Entidade sujeita ao PIS/Pasep exclusivamente com base na folha de salários end; case IND_ATIV of indAtivIndustrial: strIND_ATIV := '0'; indAtivPrestadorServico: strIND_ATIV := '1'; indAtivComercio: strIND_ATIV := '2'; indAtivoFincanceira: strIND_ATIV := '3'; indAtivoImobiliaria: strIND_ATIV := '4'; indAtivoOutros: strIND_ATIV := '9'; end; if (TIPO_ESCRIT = tpEscrRetificadora) then strNUM_REC_ANTERIOR := LFill( NUM_REC_ANTERIOR, 41 ) else strNUM_REC_ANTERIOR := ''; Check(funChecaCNPJ(CNPJ), '(0-0000) ENTIDADE: O CNPJ "%s" digitado é inválido!', [CNPJ]); Check(funChecaUF(UF), '(0-0000) ENTIDADE: A UF "%s" digitada é inválido!', [UF]); Check(funChecaMUN(COD_MUN), '(0-0000) ENTIDADE: O código do município "%s" digitado é inválido!', [IntToStr(COD_MUN)]); /// Add( LFill( '0000' ) + LFill( strCOD_VER ) + LFill( strTIPO_ESCRIT ) + LFill( strIND_SIT_ESP ) + LFill( strNUM_REC_ANTERIOR ) + LFill( DT_INI ) + LFill( DT_FIN ) + LFill( NOME ) + LFill( CNPJ ) + LFill( UF ) + LFill( COD_MUN, 7 ) + LFill( SUFRAMA, 9 ) + LFill( strIND_NAT_PJ ) + LFill( strIND_ATIV ) ); /// Registro0990.QTD_LIN_0 := Registro0990.QTD_LIN_0 + 1; end; end; end;[/code] Obrigado pelo report.
  19. Sim e Não. O que você copiou do arquivo ACBrEPCBlocos.pas na verdade está fazendo alusão aos valores ordinais do tipo TACBrCodIndIncTributaria. Isso é apenas um comentário e não uma definição: //Codigo indicador da incidencia tributária no período (0110) TACBrCodIndIncTributaria = ( codEscrOpIncNaoCumulativo, // 0 - Escrituração de operações com incidencia exclusivamente no regime não cumulativo codEscrOpIncCumulativo, // 1 - Escrituração de operações com incidencia exclusivamente no regime cumulativo codEscrOpIncAmbos // 2 - Escrituração de operações com incidencia nos regimes cumulativo e não cumulativo ); [/code] Em outras palavras, o valor ordinal de [b]codEscrOpIncNaoCumulativo [/b]é zero. Mas quando o registro [b]0110[/b] vai ser escrito no arquivo texto, ele recebe o valor definido na procedure [b]TBloco_0.WriteRegistro0110[/b] do arquivo [u]ACBrEPCBloco_0_Class.pas[/u] por volta da linha 450. Veja: [code] case COD_INC_TRIB of codEscrOpIncNaoCumulativo: strCOD_INC_TRIB := '1'; codEscrOpIncCumulativo: strCOD_INC_TRIB := '2'; codEscrOpIncAmbos: strCOD_INC_TRIB := '3'; end; Certamente o que lhe confundiu foi que nos outros tipos declarados no arquivo ACBrEPCBlocos.pas os valores nos comentários não são os ordinais e sim os valores no registro final.
  20. Se preocupa não Dante. Relendo agora, acho que minha resposta ficou com um tom um pouco rude, mas sinceramente, não era essa intenção. Era mais um lembrete mesmo...
  21. Seu fonte está desatualizado. Esse erro já foi corrigido há vários dias. Eu sugiro sempre usar o pesquisar do fórum antes de postar um bug. Nesse caso, se você fizer uma busca por "C100" ou por IND_FRT, vai encontrar.
  22. Veja: viewtopic.php?f=5&t=2819&p=12908&hilit=acbrbombas#p12908 Houve até um usuário que ofereceu uma recompensa pelo início do projeto, mas não sei em que pé ficou. Veja: viewtopic.php?f=17&t=2500&p=19558&hilit=acbrbombas#p19558
  23. Exceto no caso do parágrafo único:
  24. Não. Você só não precisa informar o C170 em caso de notas canceladas, denegadas ou inutilizadas. Veja:
  25. Tentou fazer no DEMO?
×
×
  • 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.