Ir para conteúdo
  • Cadastre-se

Jerson Seling

Membros
  • Total de ítens

    15
  • Registro em

  • Última visita

Últimos Visitantes

1.121 visualizações

Jerson Seling's Achievements

Apprentice

Apprentice (3/14)

  • First Post
  • Collaborator Rare
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

2

Reputação

  1. Passei um tempo sem mexer no SPED ECD, e os fontes que eu tinha do ACBr eram esses que eu tinha alterado e usado o formatador, por isso não tinha feito até hoje as alterações sem usar o formatador. Porém hoje atualizei o ACBr para o trunk 2 e meu projeto ficou sem esses fontes alterados. Ai alterei eles de novo só que desta vez sem o formatador. Seguem em anexo eles. Também atualizei o Exemplo Delphi do ACBrSPEDContabil, ele não estava compilando por algumas chamadas de funções estarem desatualizadas (o método de salvar o arquivo e o preenchimento do reg I051). Adicionei também mais um registro 0150 e 0180 para visualizar melhor o problema que estava acontecendo neles e que com as alterações que fiz não ocorrem mais. Também ativei os ScrollBars dos memos do projeto para visualizar melhor os textos. Abraços e feliz ano novo! ACBrSPEDContabil.rar
  2. Assim q eu tiver um tempo livre faço isso.
  3. Boa tarde, pois é o maldito formatador do delphi xe5. Quando vi ja tinha aplicado. E agora o q fazemos?
  4. Oi boa tarde, Eu alterei os fontes da ACBr para resolver esse problema. Alterei os arquivos ACBrECDBloco_0, ACBrECDBloco_0_Class e ACBrSpedContabil. Me baseei no código do I050 para fazer essa alteração: passar o registro 0180 que estava como "irmão" do 0150, para "filho". Os registros do bloco 9 (contadores) estão OK. Em anexo estão esses arquivos com as alterações. Passei o arquivo texto no validador e esse problema não ocorre mais. Alterados.rar
  5. Bom dia, Na criação do ECD estou tendo o erro de "Registro/Campo não informado ou inválido" no registro 0180: IDENTIFICAÇÃO DO RELACIONAMENTO COM O PARTICIPANTE Vendo o arquivo, parece que o ACBr não está tratando o 0180 como filho do 0150. Em vez de gerar isto por exemplo: |0150|5-OS2328-PFJ004|PFJ 004|00105|61064911000177||00000000000|SP|535054653118||3550308|1122|SUFRAMA| |0180|04|15022004|| |0150|5-OS2328-PFJ005|PFJ 005|00105|||00000000000|SP|||3550308|1122|000000000| |0180|09|15022004|| Ele está gerando isto: |0150|5-OS2328-PFJ004|PFJ 004|00105|61064911000177||00000000000|SP|535054653118||3550308|1122|SUFRAMA| |0150|5-OS2328-PFJ005|PFJ 005|00105|||00000000000|SP|||3550308|1122|000000000| |0180|04|15022004|| |0180|09|15022004|| Esses exemplos fiz com o demo que vem na ACBr para SPED Contábil. Alterando na geração do bloco 0 do exemplo para que ele crie mais um participante, assim: with Registro0150.New do begin COD_PART := '5-OS2328-PFJ004'; NOME := 'PFJ 004'; COD_PAIS := '00105'; CNPJ := '61064911000177'; UF := 'SP'; IE := '535054653118'; COD_MUN := 3550308; IM := '1122'; SUFRAMA := 'SUFRAMA'; with Registro0180.New do begin COD_REL := '04'; DT_INI_REL := StrToDate('15/02/2004'); end; end; with Registro0150.New do begin COD_PART := '5-OS2328-PFJ005'; NOME := 'PFJ 005'; COD_PAIS := '00105'; CNPJ := ''; UF := 'SP'; IE := ''; COD_MUN := 3550308; IM := '1122'; SUFRAMA := ''; with Registro0180.New do begin COD_REL := '09'; DT_INI_REL := StrToDate('15/02/2004'); end; end; O que é mais estranho ainda, é que o validador não acusa erro na estrutura do arquivo! Ele simplesmente ignora esses 0180 que ficaram soltos! Qualquer ajuda, agradeço.
  6. Mais uma duvida, vi na função WriteRegistroI050 que aparentemente as linhas do I053 não estão sendo contadas para ser salvas no registro 9900. procedure TACBrSPEDContabil.WriteRegistroI050; begin Bloco_I.WriteRegistroI050; if Bloco_I.RegistroI050.Count > 0 then begin with Bloco_9.Registro9900.New do begin REG_BLC := 'I050'; QTD_REG_BLC := Bloco_I.RegistroI050.Count; end; end; if Bloco_I.RegistroI051Count > 0 then begin with Bloco_9.Registro9900.New do begin REG_BLC := 'I051'; QTD_REG_BLC := Bloco_I.RegistroI051Count; end; end; if Bloco_I.RegistroI052Count > 0 then begin with Bloco_9.Registro9900.New do begin REG_BLC := 'I052'; QTD_REG_BLC := Bloco_I.RegistroI052Count; end; end; end; A função é assim mesmo ou está faltando o contador para o I053?
  7. Tentei gerar o registro I053 e começou a ocorrer erro de violação de acesso, então vi no OnCreate do I050 que a lista do I053 não estava sendo criada. Sugiro alterar: constructor TRegistroI050.Create; begin FRegistroI051 := TRegistroI051List.Create; FRegistroI052 := TRegistroI052List.Create; end; destructor TRegistroI050.Destroy; begin FRegistroI051.Free; FRegistroI052.Free; inherited; end; Por: constructor TRegistroI050.Create; begin FRegistroI051 := TRegistroI051List.Create; FRegistroI052 := TRegistroI052List.Create; FRegistroI053 := TRegistroI053List.Create; end; destructor TRegistroI050.Destroy; begin FRegistroI051.Free; FRegistroI052.Free; FRegistroI053.Free; inherited; end; Abraços
  8. Outra consideração é que tanto o ECFTeste quanto as aplicações que fiz não funcionaram dentro de uma sessão de acesso remoto do windows server, dá um erro de "Communication error 5: Acesso Negado", embora eu consiga fazer todo o resto por essas sessões. Tive que testar essas funções com a aplicação que fiz rodando no meu note mesmo, e não no servidor. Se pudessem me dizer pq esse erro acontece, tmb agradeceria.
  9. Conforme aconselhado, mudei o código para: procedure TForm1.Button1Click(Sender: TObject); var dtIni, dtFim: TDateTime; strCaminho: string; begin ACBrECF1.Modelo := ecfDaruma; ACBrECF1.Device.Porta := 'COM5'; ACBrECF1.Device.Baud := 115200; ACBrECF1.Device.TimeOut := 10; dtIni := strtodate('22/09/2014'); dtFim := strtodate('22/09/2014'); //strCaminho := 'C:\tmp\'; strCaminho := 'C:\tmp\ARQUIVO_NFG.txt'; ACBrECF1.Ativar(); ACBrECF1.PafMF_MFD_Cotepe1704(dtIni, dtFim, strCaminho); showmessage('Arquivo gerado com sucesso!'); ACBrECF1.Desativar(); end; O arquivo gerado validou perfeitamente, porém me restaram algumas dúvidas. Pq o CAT52 não funcionou e o Cotepe1704 funcionou? Pq o CAT52 do ECFTeste funciona e no meu programa não? De qualquer forma, muito obrigado pela ajuda, desculpa o incômodo.
  10. Fiz uma aplicação só com o que precisava, não configurei em tempo de desenho nenhum componente, só arrastei para o form. procedure TForm1.Button1Click(Sender: TObject); var dtIni, dtFim: TDateTime; strCaminho: string; begin ACBrECF1.Modelo := ecfDaruma; ACBrECF1.Device.Porta := 'COM5'; ACBrECF1.Device.Baud := 115200; ACBrECF1.Device.TimeOut := 10; dtIni := strtodate('22/09/2014'); dtFim := strtodate('22/09/2014'); strCaminho := 'C:\tmp\'; ACBrECF1.Ativar(); ACBrECF1.PafMF_GerarCAT52(dtIni, dtFim, strCaminho); showmessage('Arquivo gerado com sucesso!'); ACBrECF1.Desativar(); end; O arquivo segue não validando. Tem alguma propriedade do ACBrECF que eu deva alterar? Vi a das casas decimais (DecimaisPreco), coloquei 2, mas segue dando o mesmo erro (acho q ela é só serve na hora de emitir um cupom não é?).
  11. Vou fazer o seguinte, criar uma aplicação só com o ACBrECF e um botão para chamar esse método, se der problema, volto aqui.
  12. Eu praticamente copiei e colei, o arquivo é gerado e tudo, só não valida.
  13. dtInicial, dtFinal coloco 22/09/2014 strPathArquivo:='C:\tmp\'; ACBrECF.PafMF_GerarCAT52(dtInicial, dtFinal, strPathArquivo);
  14. Oi, boa tarde. Estou com um problema, provavelmente alguma configuração que não fiz no ACBrECF. É o seguinte, quando gero o arquivo do CAT52 pelo exemplo ECFTeste ele valida no programinha Nota Fiscal Gaúcha Desktop, perfeitinho. Porém quando gero pela minha aplicação, ele não valida, inclusive o tamanho do arquivo fica menor. Na validação diz "Campo Numérico com Valor Inválido - '0' " Coloco os dois executáveis um do lado do outro, usando as mesmas DLLs, no caso da Daruma, e mesmo assim não deu. Coloquei em anexo o print do programa de validação e também os arquivinhos gerados pelo ECFTeste e pela minha aplicação. Alguém me ajuda? Desde já agradeço. CAT52.rar
  15. Bom dia a todos. Gostaria de saber se o ACBrECF poderá emitir NFC-e? Estou preocupado, pois estou quase terminando de programar um PDV com o ECF normal usando esse componente. Atenciosamente Jerson Seling
×
×
  • 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.