Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2060 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado (editado)

boa tarde, estou começando a desenvolver o SPED e estou em uma situação bem delicada, pois, estou com alguns problemas de saúde, mas mesmo assim preciso fazer o trabalho, eu preciso começar a gerar os arquivos mas não sei nem por onde, um amigo me ensinou a instalar e configurar, minha principal duvida e como gravar os dados, exemplo: eu uso muito query´s para buscar os dados, então tenho por exemplo um laço de repetição simples:

q1.close;

q1.sql.clear;

q1.sql.text := 'select * from itensnotasfiscais order by data';

q1.prepare.

q1.open;

if  not q1.eof do q1.first;

while not q1.eof do

begin

      // alimento as variaveis tipo do Registro do Bloco K

     // como eu Gravo os registros não vi como dar por exemplo Registro.C100.Post; 

     // como poderia fazer ???

    q1.next;

end;

q1.close;

 

desde ja obrigado

Marcos

 

 

Editado por gm2sistemas
não sei usar o forum ainda, estou tentando fazer quebra de linha mas não sei como
Postado

boa tarde Felipe, eu vi la, mas eu não consigo entender como gravar as informações

por exemplo

procedure TFrmSPEDFiscal.btnB_BClick(Sender: TObject);
begin
  // Alimenta o componente com informações para gerar todos os registros do
  // Bloco C.
  btnB_B.Enabled := False;
  btnB_C.Enabled := True;

  with ACBrSPEDFiscal1.Bloco_B do
  begin
    with RegistroB001New do
    begin
      IND_MOV := imComDados;
      with RegistroB020New do
      begin
        IND_OPER           := tpEntradaAquisicao;
        IND_EMIT           := edTerceiros;
        COD_PART           := '1';
        COD_MOD            := '8';
        COD_SIT            := sdRegular;
        SER                := '1';
        NUM_DOC            := '123456';
        CHV_NFE            := '';
        VL_CONT            := 50.00;
        VL_ISS             := 2.5;
        with RegistroB025New do
        begin
          COD_SERV := '7.12';
          ALIQ_ISS := 5;
          VL_ISS_P := 2.5;
        end;
      end;
    end;
  end;
  if cbConcomitante.Checked then
  begin
    ACBrSPEDFiscal1.WriteBloco_B;
    LoadToMemo;
  end;
end;

 

neste exemplo eu faria o bloco de codigo do q1.??? que citei acima e alimentaria as variaveis tipo

VL_ISS_P := q1.fieldbyname('vl_iss').asfloat;

 

ok ?

 

mas onde esta o comando para gravar esse registro ??

ou se quando eu aciono essa linha

    with RegistroB001New do

 

ela ja grava ??

 

eu programo delphi a muito tempo, mas eu o uso o básico a tecnologia dessa forma 

 

consegui me explicar ??

 

obrigado

Marcos

 

 

Postado
1 hora atrás, Felipe E. Resende Mesquita disse:

Boa tarde, gm2sistemas.

Você pode seguir o demo na pasta exemplos: \ACBr\Exemplos\ACBrTXT\ACBrSPED\Delphi\Fiscal.

boa tarde Felipe, eu vi la, mas eu não consigo entender como gravar as informações

por exemplo 

procedure TFrmSPEDFiscal.btnB_BClick(Sender: TObject);
begin
  // Alimenta o componente com informações para gerar todos os registros do
  // Bloco C.
  btnB_B.Enabled := False;
  btnB_C.Enabled := True;

  with ACBrSPEDFiscal1.Bloco_B do
  begin
    with RegistroB001New do
    begin
      IND_MOV := imComDados;
      with RegistroB020New do
      begin
        IND_OPER           := tpEntradaAquisicao;
        IND_EMIT           := edTerceiros;
        COD_PART           := '1';
        COD_MOD            := '8';
        COD_SIT            := sdRegular;
        SER                := '1';
        NUM_DOC            := '123456';
        CHV_NFE            := '';
        VL_CONT            := 50.00;
        VL_ISS             := 2.5;
        with RegistroB025New do
        begin
          COD_SERV := '7.12';
          ALIQ_ISS := 5;
          VL_ISS_P := 2.5;
        end;
      end;
    end;
  end;
  if cbConcomitante.Checked then
  begin
    ACBrSPEDFiscal1.WriteBloco_B;
    LoadToMemo;
  end;
end;

 

neste exemplo eu faria o bloco de codigo do q1.??? que citei acima e alimentaria as variaveis tipo 

VL_ISS_P := q1.fieldbyname('vl_iss').asfloat;

 

ok ?

 

mas onde esta o comando para gravar esse registro ??

ou se quando eu aciono essa linha

    with RegistroB001New do

 

ela ja grava ??

 

eu programo delphi a muito tempo, mas eu o uso o básico a tecnologia dessa forma 

 

consegui me explicar ??

 

obrigado

Marcos

 

 

  • Administradores
Postado

Bom dia.

Note pelo próprio demo que as informações passadas ao componente são incluídas no arquivo ao utilizar  o comando

ACBrSPEDFiscal1.SaveFileTXT;  (Botão Gerar TXT)

Att.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Postado
Em 04/04/2019 at 10:54, Juliana Tamizou disse:

Bom dia.

Note pelo próprio demo que as informações passadas ao componente são incluídas no arquivo ao utilizar  o comando

ACBrSPEDFiscal1.SaveFileTXT;  (Botão Gerar TXT)

Att.

boa tarde Juliana, obrigado pela resposta, eu vi sim, eu conheço Delphi a muito tempo, mas eu não uso a programação dessa forma, eu vim de linguagens procedurais COBOL CLIPPER DATAFLEX, comecei a ter contato com orientação a objetos com UNIFACE (que é um ótima ferramenta, mas no meu entender, ela é orienta a EVENTOS, e não objetos), mas não importa, eu vi sim,  que ele carrega as variáveis dos campos dos registros e depois descarrega em um .TXT, até ai perfeito, o que eu não consegui encontrar e como ele grava nos arquivos dele mesmo (ACBr) ou se grava em memória, pois eu não vi nada como um Dm.TRegistro400.Post; (exemplo) ou uma store procedure ou um sql (apesar que como o componente não é fixado a nenhum banco, acredito que tenha isso), consegui te explicar minha dúvida ?

desde já

muito obrigado

Marcos Bosco

  • Administradores
Postado

Boa tarde.

Ele mantém tudo em memória dentro do objeto ACBrSPED e somente ao ser executado o comando SaveFileTXT() descarrega no arquivo.

Att.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Postado
28 minutos atrás, Juliana Tamizou disse:

Boa tarde.

Ele mantém tudo em memória dentro do objeto ACBrSPED e somente ao ser executado o comando SaveFileTXT() descarrega no arquivo.

Att.

certo, o que eu não entendi e como chamar por exemplo : estou acostumado a usar funções tipo assim : CNPJCPF(Sender); ou saldo := Estoques(codigodoproduto),

não entendo muito aquele conceito do tipo

with Registro0100New 

  -> Alimenta as variaveis, etc, não vi .Post nesse Registro0100New

como faço para disparar a função Registro0100New sem o with ? tem jeito ou tem que ser assim mesmo ?

desde ja, mais uma vez grato pelo retorno

Marcos

 

  • Administradores
Postado

Bom dia.

Basta neste caso chamar a "classe pai.classe filha"

Mas por qual motivo vc não quer usar o with?

Att.

 

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Postado
6 horas atrás, Juliana Tamizou disse:

Bom dia.

Basta neste caso chamar a "classe pai.classe filha"

Mas por qual motivo vc não quer usar o with?

Att.

 

boa tarde, desculpe a ignorância, mas é porque eu não sei mesmo.

obrigado

MArcos Bosco

  • Este tópico foi criado há 2060 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.