Ir para conteúdo
  • Cadastre-se

analista.edilson

Membros
  • Total de ítens

    274
  • Registro em

  • Última visita

Tudo que analista.edilson postou

  1. Baixei a versão 3030 do acbr e as alterações estão "ok".
  2. vou testar e depois do almoço post o resultado aqui.
  3. Tiver problema parecido e o problema é que o campo IND_MOV estava recebendo imSemDados e dessa forma gera somente os registro de inicialização e enceramento.
  4. Percebi que o arquivo de log de alteração não foi atualizado, eu tenho que enviar esse arquivo atualizado também?
  5. EMBarbosa - Quando subir as alterações posta aqui no forum por favor.
  6. Anexei os arquivos alterados antes de alterar baixe a ultima versão que era 3011. irei implementar também os registros (F525, F510 e 1900) possivelmente essa semana. Obs.: Vou fazer os próximos registro quando esses estiverem disponível para baixar com as alterações que eu fiz. ACBrEPCBloco_F_Class.pas ACBrEPCBloco_F.pas ACBrSpedPisCofins.pas
  7. A outra vez que desenvolvi um registro envie por e-mail para o isaque não é mais simples. Se possível disponibilize um e-mail que envio.
  8. Estou finalizando o F560 vou mandar junto.
  9. Desenvolvi um registro como faço para disponibilizar????
  10. Boa tarde precisei usar o registro F500 e no acbr não existia então implementei o mesmo como eu faço para subir esse código e disponibilizar para todos. Pode responder no meu e-mail. [email protected]
  11. O AcbrSpedPisCofins não tem a verão 1.03 no código fonte vai somente até 1.02 é isso mesmo ou esta em desenvolvimento? Tembém o registro 0110 do bloco 0 tá faltando campo.
  12. A questão de incompatibilidade entre as versões no SEFAZ-PR está sendo citada neste link http://www.sped.fazenda.pr.gov.br/modul ... onteudo=69. Segundo este comunicado a consulta pública da NF-e no site do SEFAZ continua sendo a mesma, independente da versão do xml (1.00 ou 2.00), mas o serviço de consulta disponibilizado pelo webservice é separado, conforme a versão do xml da NF-e. Não encontrei no manual alguma referência sobre a obrigatoriedade do webservice 2.00 disponibilizar consulta da versão 1.00. Não sei o que fazer, porque não consigo manter as 2 versões do ACBR no mesmo processo. Alguém está passando por esta mesma dificuldade? Tem possibilidade do ACBR fazer este tratamento específico?
  13. Fiz uma consulta ao SEFAZ PR e no Paraná não é possível fazer consulta cruzada das versões, ou seja a NF-e autorizada na versão 1.0 deve ser consultada através da URL NFeConsulta e a NF-e autorizada na versão 2.0 deve ser consultada através da URL NFeConsulta2. Estou utilizando o ACBR revisão 2006 e não contempla esta situação. Alguém sabe se foi realizada alguma alteração para fazer as consultas das versões 1.0 e 2.0 utilizando somente o ACBR NF-e 2.0?
  14. Estou utilizando a versão 2.0 da NF-e e quando faço consulta da NF-e emitida na versão 2.0 funciona bem, ou seja, retorna que a nota foi autorizada, mas quando consulto uma nota autorizada na versão 1.0 retorna que a nota não consta do SEFAZ. Se consulto esta mesma nota no site do SESAZ PR a nota está como autorizada. Alguém sabe dizer se é possível consultar na versão 2.0 notas que foram autorizadas na versão 1.0? Utilizo a consulta pela chave de acesso. Exemplo: Acbr.WebServices.Consulta.NFeChave := 'XXXXX...'; Executar(Acbr.WebServices.Consulta); Espero por ajuda!
  15. Olá! Eu mesmo consegui achar a solução para o problema. Estou utilizando a revisão 1846 do AcbrNFe e na "procedure TACBrNFeDANFERave.ImprimirDANFE(NFE : TNFe = nil);" incluí o comando "dmDanfe.RvRenderPDF1.Active:=True". O problema ocorre porque na linha 823 da "TACBrNFeDANFERave.ImprimirDANFEPDF(NFE : TNFe = nil);" é executado o comando "dmDanfe.RvRenderPDF1.Active:=False;".
  16. Estou com o seguinte problema na impressão do DANFE: - Utilizo a função AcbreNfeNotasFiscais.Imprimir e na sequência utilizo a função AcbreNfeNotasFiscais.ImprimirPDF para enviar no e-mail o DANFE em pdf (Rave 5); Ao imprimir (AcbreNfeNotasFiscais.Imprimir) o usuário seleciona a opção de pré-visualização utilizando a opção "Vídeo" nas configurações do preview. O DANFE é visualizado no vídeo, então o usuário clica no ícone salvar e escolhe a extensão "Pdf". Após fechar o preview o sistema executa, automaticamente, a função AcbreNfeNotasFiscais.ImprimirPDF (sem interferência do usuário). Até aí está tudo certo, o problema é na impressão do segundo DANFE: ao imprimir (AcbreNfeNotasFiscais.Imprimir) o DANFE, pré-visualizar, e escolher a opção "Salvar" não está mais disponível a extensão "PDF". Sendo assim após a impressão do primeiro DANFE, utilizando os passos descritos acima, o usuário não consegue mais salvar em pdf. Importante: o problema só ocorre se utilizo a função AcbreNfeNotasFiscais.Imprimir e na sequência a função AcbreNfeNotasFiscais.ImprimirPDF. Não consegui solucionar este problema.
  17. Todos os bugs que encontrei no bloco G eu ajustei o código e passei para o isaque pinheiro ver e posteriormente ele vai subi para SVN.
  18. Encontrei o problema no código fonte do Acbr, abra o arquivo AcbrEFDBloco_G.pas e procure pela string "E111" e altere para para G125 onde for G125 e assim sucessivamente. Porem existe o problema de estar gerando campos a mais vou altera e se dar certo eu coloco um post aqui. até mais...
  19. O registro G110 está sendo gerado no arquivo com um campo a mais, ou seja, no leiaute baixado do sefaz tem 10 campo e o registro G110 gerado pelo componente AcbrSpedFiscal está gerando 11 campos. Acho que é o campo MOD_CIAP, pois esse campo não existe no leiaute. Estou usando a versão 1950 do Acbr.
  20. Estou utilizando o componente AcbrSpedFiscal e percebi no arquivo gerado que existia registros do bloco E no lugar dos registro G125, G130 e G140. Observação: É gerado o registro E111 no lugar do G125, G130 e G140, porem com os valores do corretos do G125, G130 e G140 Exmplo: |E111|1|01012010|SI|0|0|0|0|48|10| sendo que o correto seria: |G125|1|01012010|SI|0|0|0|0|48|10| Meu código: unit lbControllerBlocoG; interface uses SysUtils, Forms, Dialogs, DB, DBTables, variants, Classes, DBClient, StdCtrls, SqlExpr, windows, wmgauge, wbvars, wbrots, wddatbas, ACBrEFDBloco_G, lbModelProdutosServicos, lbMensagensConstantesRFD, lbControllerFuncoesGenericas, lbDadosDeClienteNotaSerieNumCaixa, lbModelDadosFinanceiros, ACBrSpedFiscal, lbModelPessoas, lbControllerEmpresa, lbModelDadosFiscais, lbControllerGerais, ACBrEFDBlocos; type TControllerBlocoG = class private vModelFiscal : TModelDadosFiscais; vFuncoesGenericas: TControllerFuncoesGenericas; vDadosDaNota : TDadosDeClienteNotaSerieNumCaixa; vMesAnterior : string; (*Dados de registros*) procedure pGeraRegistroG110; procedure pGeraRegistroG125(vLista:TRegistroG125List); procedure pGeraRegistroG130(vClienteNF, vNota, vSerieNF, VNumCaixa:STRING); procedure pGeraRegistroG140(vClienteNF, vNota, vSerieNF, VNumCaixa:STRING); (*Dados gerais*) function pSetDadosBlocoG(var vGeraDadosEFD: TACBrSPEDFiscal):Boolean; public constructor Create; destructor Destroy;override; function pGetDadosBlocoG(var vGeraDadosEFD: TACBrSPEDFiscal):Boolean; end; implementation uses ACBrEFDBloco_G_Class, StrUtils; { TControllerBlocoG } constructor TControllerBlocoG.Create; begin vModelFiscal := TModelDadosFiscais.Create; vFuncoesGenericas:= TControllerFuncoesGenericas.Create; vDadosDaNota := TDadosDeClienteNotaSerieNumCaixa.Create; end; destructor TControllerBlocoG.Destroy; begin FreeAndNil(vModelFiscal); FreeAndNil(vFuncoesGenericas); FreeAndNil(vDadosDaNota); inherited; end; procedure TControllerBlocoG.pGeraRegistroG110; var vCDSTemp:TDataSet; vVL_TRIB_EXP, vVL_TOTAL:Real; begin with vAcbrSpedFiscal.Bloco_G do begin vCDSTemp:=TClientDataSet.Create(nil); with RegistroG110New do begin vVL_TRIB_EXP:=0; vVL_TOTAL :=0; vCDSTemp:=vModelFiscal.pGetListaDeDadosG110(vMesAnterior); DT_INI :=StrToDate(vDataIniEFD); DT_FIN :=StrToDate(vDataFimEFD); if not (vCDSTemp.FieldByName('SALDO_IN_ICMS').IsNull)then SALDO_IN_ICMS:=vCDSTemp.FieldValues['SALDO_IN_ICMS'] else SALDO_IN_ICMS:=0; vCDSTemp.Close; vCDSTemp :=vModelFiscal.pGetListaDeDadosG110SomaDasParcelas(Copy(DateToStr(vPonteiroPeriodos^.vDataInicialPER),4,7)); if not (vCDSTemp.FieldByName('SOM_PARC').IsNull)then SOM_PARC :=vCDSTemp.FieldValues['SOM_PARC'] else SOM_PARC :=0; vCDSTemp.Close; vCDSTemp :=vModelFiscal.pGetListaDeDadosG110DentroDoPais; if not (vCDSTemp.FieldByName('VL_TOTAL').IsNull)then VL_TOTAL :=vCDSTemp.FieldValues['VL_TOTAL'] else VL_TOTAL :=0; vCDSTemp.Close; vCDSTemp :=vModelFiscal.pGetListaDeDadosG110ForaDoPais; if not (vCDSTemp.FieldByName('VL_TRIB_EXP').IsNull)then VL_TRIB_EXP :=vCDSTemp.FieldValues['VL_TRIB_EXP'] else VL_TRIB_EXP :=0; vVL_TRIB_EXP:=VL_TRIB_EXP; vVL_TOTAL :=VL_TOTAL; if (vVL_TOTAL>0) then PER_SAI_TRIB :=(vVL_TRIB_EXP/vVL_TOTAL); ICMS_APROP :=(SOM_PARC*PER_SAI_TRIB); MODO_CIAP :='0'; pGeraRegistroG125(RegistroG110New.RegistroG125); end; end; end; procedure TControllerBlocoG.pGeraRegistroG125(vLista:TRegistroG125List); var vCDSTemp:TDataSet; vConta:Byte; begin with vAcbrSpedFiscal.Bloco_G do begin vCDSTemp:=TClientDataSet.Create(nil); vCDSTemp:=vModelFiscal.pGetListaDeDadosG125; if not (vCDSTemp.IsEmpty) then begin vFuncoesGenericas.pCriaGauge('Bloco "G" Registro "G125"'); vCDSTemp.First; vConta:=0; while not (vCDSTemp.Eof) do begin wfgauge.gauge1.AddProgress(1); with RegistroG125New do begin COD_IND_BEM :=vCDSTemp.FieldValues['COD_IND_BEM']; DT_MOV :=StrToDate(vDataIniEFD); TIPO_MOV :=vFuncoesGenericas.pGetTipoMovimentoBens(vCDSTemp.FieldValues['TIPO_MOV']); VL_IMOB_ICMS_OP :=vCDSTemp.FieldValues['VL_IMOB_ICMS_OP']; VL_IMOB_ICMS_ST :=0; VL_IMOB_ICMS_FRT:=0; VL_IMOB_ICMS_DIF:=0; NUM_PARC :=vCDSTemp.FieldValues['NR_PARC' ]; VL_PARC_PASS :=vCDSTemp.FieldValues['VL_PARC_PASS']; VL_PARC_APROP :=vCDSTemp.FieldValues['VL_PARC_PASS']; pGeraRegistroG130(vCDSTemp.FieldValues['CLIENTENF'], vCDSTemp.FieldValues['NUMNOTA' ], vCDSTemp.FieldValues['SERIE' ], vCDSTemp.FieldValues['NUMCAIXA' ]); Inc(vConta); end; vCDSTemp.Next; end; vFuncoesGenericas.pDestroiGauge; end; end; end; procedure TControllerBlocoG.pGeraRegistroG130(vClienteNF, vNota, vSerieNF, VNumCaixa:STRING); var vCDSTemp:TDataSet; begin with vAcbrSpedFiscal.Bloco_G do begin vCDSTemp:=TClientDataSet.Create(nil); vCDSTemp:=vModelFiscal.pGetListaDeDadosG130(vClienteNF, vNota, vSerieNF, VNumCaixa); if not (vCDSTemp.IsEmpty) then begin //vFuncoesGenericas.pCriaGauge('Bloco "G" Registro "G125"'); vCDSTemp.First; while not (vCDSTemp.Eof) do begin //wfgauge.gauge1.AddProgress(1); with RegistroG130New do begin IND_EMIT :=edTerceiros; COD_PART :=vCDSTemp.FieldValues['COD_PART' ]; COD_MOD :=vCDSTemp.FieldValues['COD_MOD' ]; SERIE :=vCDSTemp.FieldValues['SERIE' ]; NUM_DOC :=vCDSTemp.FieldValues['NUM_DOC' ]; CHV_NFE_CTE:=vCDSTemp.FieldValues['CHV_NFE_CTE']; DT_DOC :=vCDSTemp.FieldValues['DT_DOC' ]; end; pGeraRegistroG140(vCDSTemp.FieldValues['COD_PART'], vCDSTemp.FieldValues['NUM_DOC' ], vCDSTemp.FieldValues['SERIE' ], vCDSTemp.FieldValues['NUMCAIXA' ]); vCDSTemp.Next; end; ///vFuncoesGenericas.pDestroiGauge; end; end; end; procedure TControllerBlocoG.pGeraRegistroG140(vClienteNF, vNota, vSerieNF, VNumCaixa: STRING); var vCDSTemp:TDataSet; begin with vAcbrSpedFiscal.Bloco_G do begin vCDSTemp:=TClientDataSet.Create(nil); vCDSTemp:=vModelFiscal.pGetListaDeDadosG140(vClienteNF, vNota, vSerieNF, VNumCaixa); if not (vCDSTemp.IsEmpty) then begin //vFuncoesGenericas.pCriaGauge('Bloco "G" Registro "G125"'); vCDSTemp.First; while not (vCDSTemp.Eof) do begin //wfgauge.gauge1.AddProgress(1); with RegistroG140New do begin NUM_ITEM:=vCDSTemp.FieldValues['SEQ']; COD_ITEM:=vCDSTemp.FieldValues['codpa']+ IfThen(vUtilizaGrade='S','.'+vCDSTemp.FieldValues['grade1']+ '.'+vCDSTemp.FieldValues['grade2'],''); end; vCDSTemp.Next; end; ///vFuncoesGenericas.pDestroiGauge; end; end; end; function TControllerBlocoG.pGetDadosBlocoG( var vGeraDadosEFD: TACBrSPEDFiscal): Boolean; begin Result:=pSetDadosBlocoG(vGeraDadosEFD); end; function TControllerBlocoG.pSetDadosBlocoG( var vGeraDadosEFD: TACBrSPEDFiscal): Boolean; var vI:Byte; begin vAcbrSpedFiscal:=vGeraDadosEFD; with vGeraDadosEFD.Bloco_G do begin // Desbarrar se não tiver gerando. //vAcbrSpedFiscal.Bloco_G.Gravado:=False; with RegistroG001New do begin IND_MOV := vIndicadorDeMovimento; (*Gera o bloco sem dados*) if (vIndicadorDeMovimento=imSemDados) then begin vAcbrSpedFiscal.WriteBloco_G; Exit; end; (*Gerando periodos*) for vI := 0 to vListaDePeriodos.Count - 1 do begin vPonteiroPeriodos := vListaDePeriodos.Items[ vI ]; vMesAnterior := Copy(DateToStr(vPonteiroPeriodos^.vDataFinalPER-32),4,7); vDataIniEFD:=DateToStr(vPonteiroPeriodos^.vDataInicialPER); vDataFimEFD:=DateToStr(vPonteiroPeriodos^.vDataFinalPER); pGeraRegistroG110; end; end; end; vAcbrSpedFiscal.WriteBloco_G; end; end.
  21. Boa tarde. Estou com um problema que parace simple, eu estou usando o componente TAcbrSpedFiscal para gera o arquivo EFD, funciona perfeitamente, porem quando mando gerar novamente o arquivo com periodo diferente ele continuar gerando com os dados anteriores. oque devo fazer ? Agradeço desde já.
×
×
  • 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.