-
Total de ítens
9.338 -
Registro em
-
Última visita
-
Days Won
117
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que EMBarbosa postou
-
Você testou com o Demo?
-
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.
-
Tipo TACBrCodIndIncTributaria declarado incorretamente
EMBarbosa replied to lazarinr's tópico in ACBrSPEDPisCofins
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. -
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...
-
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.
-
Componente Acbr para comunicação com bombas de combustível
EMBarbosa replied to Wilton's tópico in ACBrDiversos
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 -
Sefaz RJ Decreto 43.437 PAF-ECF
EMBarbosa replied to tchuck's tópico in Legislação Fiscal e Tributária
Exceto no caso do parágrafo único: -
Não. Você só não precisa informar o C170 em caso de notas canceladas, denegadas ou inutilizadas. Veja:
-
Tentou fazer no DEMO?
-
Função para conversão de STRING para Tipos
EMBarbosa replied to lazarinr's tópico in ACBrSPEDPisCofins
Não sei o porquê, mas não tinha visto essa mensagem... Bem, você não entendeu o método errado não. É isso mesmo. Achei que você queria retornar o valor do tipo e não o valor do campo SPED. Na verdade, no momento penso que a melhor opção pra armazenar esse tipo de campo é armazenando a string do tipo (ex. stpisValorAliquotaNormal). Isso impede o problema de quando o SPED muda os valores por ventura de uma nova versão, como já aconteceu com alguns campos. -
Problemas no Registro G apos atualização dos fontes de hj
EMBarbosa replied to ThiagoDornelas's tópico in ACBrSPEDFiscal
Ederson, Correto. Muito obrigado. Só para futuras referências, o erro dos registros G110, G125 e G126 estava relacionado à correção do erro do seguinte tópico Bloco E Registro E116 não gera. -
Não consigo instalar o componente ACBR Diversos DELPHI 2010
EMBarbosa replied to Davi's tópico in Dúvidas Gerais sobre o ACBr
Você não precisa fazer add de nada disso. Já estão lá no código. Veja: interface uses ACBrBase, ACBrUtil, {Units da ACBr} SysUtils , Classes; (.....) implementation {$IFDEF COMPILER6_UP} uses Variants , Math, StrUtils;[/code] EDIT: Será que o seu Delphi não está identificando a diretiva de compilação corretamente? -
Problemas no Registro G apos atualização dos fontes de hj
EMBarbosa replied to ThiagoDornelas's tópico in ACBrSPEDFiscal
Olá Thiago, Muito obrigado. Você tem razão. Já corrigi. Revisão 3196. -
Alteração da geração do registro 0110
EMBarbosa replied to manoel_totall's tópico in ACBrSPEDPisCofins
Você deve seguir o modo que o Guia Prático informar. O PVA é usado para garantir que está fazendo igual ao Guia Prático pede, principalmente em pontos ambíguos. Mas acontece de o PVA estar desatualizado. Pelo menos foi o que entendi... -
Que tutorial?
-
Não consigo instalar o componente ACBR Diversos DELPHI 2010
EMBarbosa replied to Davi's tópico in Dúvidas Gerais sobre o ACBr
Faz um revert nesse arquivo ACBrValidador.pas -
Sintegra - Registro "88STES" e "88STITNF"
EMBarbosa replied to camargu's tópico in ACBrSintegra/ACBrPAF
Olá, Muito obrigado. Já está disponível na revisão 3192. Favor testar. -
Oi Regys, Fiquei um pouco confuso. Posso usar só o método IdentificaPAF ou preciso mesmo testar se o ECF é MFD?
-
C170 valor nulo nos campos 26, 27, 32 e 33
EMBarbosa replied to EMBarbosa's tópico in ACBrSPEDPisCofins
Não. Você por acaso notou que o guia prático o registro C170 diz que esses campos devem ter 4 casas Decimais? Você tentou informar só uma das alíquotas? Veja novamente a mensagem de erro: "É obrigatório informar a alíquota em reais ou a alíquota em percentual". -
Não está não. É isso mesmo. Que função você usou para tentar pegar a Data do Soft Básico?
-
Função para conversão de STRING para Tipos
EMBarbosa replied to lazarinr's tópico in ACBrSPEDPisCofins
Olá, Desde que o Delphi incluiu RTTI, dá pra fazer isso usando os métodos GetEnumName e GetEnumValue. Não sei se funciona no Lazarus... Mas é algo como: uses TypeInfo //...... var aTACBrSituacaoTribPIS : TACBrSituacaoTribPIS; campodoBD: string; begin //imagine que campodoBD é o campo do BD... então salvar seria como campodoBD := GetEnumName(TypeInfo(TACBrSituacaoTribPIS), integer(stpisValorAliquotaNormal)) ; //imagine que aTACBrSituacaoTribPIS é o campo do componte que você está lendo do BD. Pra simplificar vou usar a mesma variável campodoBD aTACBrSituacaoTribPIS := TACBrSituacaoTribPIS(GetEnumValue(TypeInfo(TACBrSituacaoTribPIS), campodoBD); // Mas poderia ser o abaixo // aTACBrSituacaoTribPIS := TACBrSituacaoTribPIS(GetEnumValue(TypeInfo(TACBrSituacaoTribPIS), 'stpisValorAliquotaNormal'); [/code] Como não sei se o Lazarus faz isso, talvez seja uma boa ideia implementar outros métodos. -
No validador no Sped PIS COFINS esta dando erro
EMBarbosa replied to Pedro_Manoel's tópico in ACBrSPEDPisCofins
Não. No código mostrado, você só vai tirar do M600. Vou explicar o motivo. Você pode observar no Guia Prático que o M600 tem ocorrência 1. Então o componente já cria uma instância automaticamente e você só precisa chamar a instância criada por meio do RegistroM600. Agora note que o Registro M610 no Guia Prático tem ocorrência 1:N, ou seja, podem aparecer vários M610. Como não tem como o ACBr saber quantos vão ser criados, você precisa criar cada um dos registros, usando pra isso RegistroM610new. Então, a princípio, toda vez que o registro tiver ocorrência 1, você não usa o "new". Caso contrário você vai ter que usar o new. Espero que tenha ajudado. -
Não sei se entendi bem sua dúvida. Mas você tentou alterar o gerenciador atual no ACBrTEFD? ACBrTEFD1.GPAtual := gpHiperTef; ACBrTEFD1.CRT;[/code]
-
Olá, eu não estou usando o ACBrNFSe no momento. Mas você usa o TortoiseSVN para baixar os códigos? Você pode fazer um Diff dos arquivos alterados e verificar quais alterações foram feitas. É mais ou menos assim: 1) Vá para pasta do ACBr no seu computador. Clique com o botão direito e selecione TortoiseSVN->Show Log; 2) Veja qual das revisões listadas alterou algum arquivo do ACBrNFSe. 3) Ao fazer dois cliques no arquivo, você vai abrir uma janela mostrando as alterações feitas naquela revisão 4) Repita os passos 2 e 3 até encontrar a alteração.
-
No validador no Sped PIS COFINS esta dando erro
EMBarbosa replied to Pedro_Manoel's tópico in ACBrSPEDPisCofins
Encontrei o erro. Veja: O segundo campo deveria ser ALIQ_COFINS_QUANT: with RegistroM600 do begin {02} VL_TOT_CONT_NC_PER := StrToCurr(FormatCurr('#####0.00',(vlBcCofins*aliqCofins)/100)); {03} if vlcredNC =0 then VL_TOT_CRED_DESC := 0 else VL_TOT_CRED_DESC := vlcredNC; {04} VL_TOT_CRED_DESC_ANT := 0; {05} VL_TOT_CONT_NC_DEV := StrToCurr(FormatCurr('#####0.00',(vlBcCofins*aliqCofins)/100))-vlcredNC; {06} VL_RET_NC := 0; {07} VL_OUT_DED_NC := 0; {08} VL_CONT_NC_REC := StrToCurr(FormatCurr('#####0.00',(vlBcCofins*aliqCofins)/100))-vlcredNC; {09} VL_TOT_CONT_CUM_PER := 0; {10} VL_RET_CUM := 0; {11} VL_OUT_DED_CUM := 0; {12} VL_CONT_CUM_REC := 0; {13} VL_TOT_CONT_REC := StrToCurr(FormatCurr('#####0.00',(vlBcCofins*aliqCofins)/100))-vlcredNC; with RegistroM610New do begin {02} COD_CONT := ccNaoAcumAliqBasica; {03} VL_REC_BRT := vlBC; {04} VL_BC_CONT := vlBcCofins; {05} ALIQ_COFINS := aliqCofins; {06} QUANT_BC_COFINS := 0; {07} ALIQ_COFINS_QUANT := 0; {08} VL_CONT_APUR := StrToCurr(FormatCurr('#####0.00',(vlBcCofins*aliqCofins)/100)); {09} VL_AJUS_ACRES := 0; {10} VL_AJUS_REDUC := 0; {11} VL_CONT_DIFER := 0; {12} VL_CONT_DIFER_ANT:= 0; {13} VL_CONT_PER := StrToCurr(FormatCurr('#####0.00',(vlBcCofins*aliqCofins)/100)); end; end;[/code] Observe também que o registro M600 não é chamado pelo método RegistroM600New, pois ele é único.