Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Olá amigos!

Vejam só, o registro P1, do Tab. Prod., do PAF-ECF:

5xzec.jpg

É o seguinte, como vocês podem ver, o roteiro pode o CNPJ, a Inscrição Estadual, Inscrição Municipal e a Razão Social. Pois bem, no ACBr, no registro P1, há os campos: UF, CNPJ, IE, RAZAOSOCIAL. Bem, esse UF está errado, não? Ali deveria ser a Inscrição Municipal. Isso procede?

Obrigado,

André.

  • Consultores
Postado

Não está errado. O componente possui ambas as propriedades. Mas só usa a IM na hora de criar o arquivo.

Veja o programa de demonstração (DEMO), na pasta Exemplos.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Postado

André

A função "PreencheHeader()" é uma função que você precisa implementar no seu aplicativo, ela não vem "pronta" no componente ACBrPAF.

Veja no "DemoPAF" como esta função está implementada:

procedure TForm6.PreencherHeader(Header: TRegistroX1);

begin

     // o header dos relatórios PAF a maioria são todos iguais

     Header.UF         :=edtUF.Text;

     Header.CNPJ       :=edtCNPJ.Text;

     Header.IE         :=edtIE.Text;

     Header.IM         :=edtIM.Text;

     Header.RAZAOSOCIAL:=edtRAZAO.Text;

end;

Leandro Gobbo

Leandro Gobbo

Postado

André

A função "PreencheHeader()" é uma função que você precisa implementar no seu aplicativo, ela não vem "pronta" no componente ACBrPAF.

Veja no "DemoPAF" como esta função está implementada:

procedure TForm6.PreencherHeader(Header: TRegistroX1);

begin

     // o header dos relatórios PAF a maioria são todos iguais

     Header.UF         :=edtUF.Text;

     Header.CNPJ       :=edtCNPJ.Text;

     Header.IE         :=edtIE.Text;

     Header.IM         :=edtIM.Text;

     Header.RAZAOSOCIAL:=edtRAZAO.Text;

end;

Leandro Gobbo

Valeu Leandro! Consegui fazer usando essa função.

Obrigado!

Postado

Complementando...

Essa função pode ser utilizada em todo o Menu Fiscal, somente fique atento nos menus "ESTOQUE TOTAL" e "ESTOQUE PARCIAL", pois o header destes arquivos (E1) são diferentes dos demais headers (P1, D1 etc).

Veja um exemplo:

procedure TForm6.PreencherHeader_RegistroE1(Header: TRegistroX1);

begin

    //preenche o arquivo com o cabeçalho-padrão

     Self.PreencherHeader( Header );


    //complementa o header com os dados específicos do registro E1 (paramentro "Header" deve ser um "ACBrPAF.PAF_E.RegistroE1")

    Header.NUM_FAB        := edtNumFab.Text;

    Header.MF_ADICIONAL := edtMFAdicional.Text;

    Header.TIPO_ECF        := edtTipo.Text;

    Header.MARCA_ECF     := edtMarca.Text;

    Header.MODELO_ECF   := edtModelo.Text;

    Header.DT_EST          := edtDataEstoque.Text;

end;

Leandro Gobbo

Leandro Gobbo

Postado

Complementando...

Essa função pode ser utilizada em todo o Menu Fiscal, somente fique atento nos menus "ESTOQUE TOTAL" e "ESTOQUE PARCIAL", pois o header destes arquivos (E1) são diferentes dos demais headers (P1, D1 etc).

Veja um exemplo:

procedure TForm6.PreencherHeader_RegistroE1(Header: TRegistroX1);

begin

    //preenche o arquivo com o cabeçalho-padrão

     Self.PreencherHeader( Header );


    //complementa o header com os dados específicos do registro E1 (paramentro "Header" deve ser um "ACBrPAF.PAF_E.RegistroE1")

    Header.NUM_FAB        := edtNumFab.Text;

    Header.MF_ADICIONAL := edtMFAdicional.Text;

    Header.TIPO_ECF        := edtTipo.Text;

    Header.MARCA_ECF     := edtMarca.Text;

    Header.MODELO_ECF   := edtModelo.Text;

    Header.DT_EST          := edtDataEstoque.Text;

end;

Leandro Gobbo

Obrigado pelo adendo! Eu tinha notado isso, e o fiz separado.

Muito obrigado!

  • Este tópico foi criado há 4634 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.

The popup will be closed in 10 segundos...