-
Total de ítens
15 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por Jerson Seling
-
-
Assim q eu tiver um tempo livre faço isso.
- 1
-
Boa tarde, pois é o maldito formatador do delphi xe5. Quando vi ja tinha aplicado. E agora o q fazemos?
-
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.
-
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.
-
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?
-
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
-
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.
-
Conforme aconselhado, mudei o código para:
procedure TForm1.Button1Click(Sender: TObject);vardtIni, dtFim: TDateTime;strCaminho: string;beginACBrECF1.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.
-
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);vardtIni, dtFim: TDateTime;strCaminho: string;beginACBrECF1.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 é?). -
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.
-
Eu praticamente copiei e colei, o arquivo é gerado e tudo, só não valida.
-
dtInicial, dtFinal coloco 22/09/2014
strPathArquivo:='C:\tmp\';
ACBrECF.PafMF_GerarCAT52(dtInicial, dtFinal, strPathArquivo);
-
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.
-
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
Erro Na Criação Do Registro 0180
em ACBrSPEDContabil
Postado
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