Ir para conteúdo
Fórum Script Brasil
  • 0

Problemas na nota-fiscal


beneli

Pergunta

Pessoal,

Bom dia!

Preciso de uma ajuda urgente, o tempo para entrega do sistema esta muita atrasado por causa de um problema na nota-fiscal.

Exemplo:

Tenho 50 itens de um determidado pedido na Query (ItensPedido), preciso enviar esses itens para o formulário da nota-fiscal, mas de que forma, de 20 em 20 itens, ou seja, enviar 20 itens para nota e (imprimir), depois enviar mais 20 itens e (imprimir), depois o restante 10 itens e (imprmir), só isso, mas não sei como fazer, estou utilizando o banco de dados access, no delphi utilizado ADOquery.

Tentei colocar um ClientDatSet no formulário da nota-fiscal, mas os itens são enviados todos de uma vez só..(50 itens).

Existe outra forma fazer essa configuração de impressão no delphi?

Por favor, quem puder me ajudar eu agradeço muito!!!!

Até mais..

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Tenho 50 itens de um determidado pedido na Query (ItensPedido), preciso enviar esses itens para o formulário da nota-fiscal, mas de que forma, de 20 em 20 itens, ou seja, enviar 20 itens para nota e (imprimir), depois enviar mais 20 itens e (imprimir), depois o restante 10 itens e (imprmir), só isso, mas não sei como fazer, estou utilizando o banco de dados access, no delphi utilizado ADOquery.

Tentei colocar um ClientDatSet no formulário da nota-fiscal, mas os itens são enviados todos de uma vez só..(50 itens).

Existe outra forma fazer essa configuração de impressão no delphi?

Existe sim ... voce pode optar por usar o evento OnNeedData do proprio report onde voce pode controlar os registros que serão impressos, ou pode optar por usar um Memo na banda de Detail onde voce coloca somente os registros que serão impressos.

exemplo para saber quantas notas deverão ser emitidas para um total de 20 itens por vez:

CDS_Moviment.First;
               notas := CDS_Moviment.RecordCount DIV 20;  // nº de itens que deverão ir para a nota 
               if ((CDS_Moviment.RecordCount / 20) * notas) <> notas then
                  notas := notas + 1;

               if (CDS_Moviment.RecordCount <> 0) and (CDS_Moviment.RecordCount <21) then
                  notas := 1;

               Label1.Caption := 'OBS: TOTAL DE ITENS = ' + inttostr(CDS_Moviment.RecordCount) +
                '   ( GERAR ' +  inttostr(notas) + ' NOTA(s) )';

OBS: sabendo-se quantas notas deverão ser emitadas.. voce faz um FOR de 1 ate N notas e dentro deste for voce adiciona em um QRMemo (que estara na banda Detail do Report), os item lidos atraves de outro FOR variando de 1 ate N registros da Nota e limitando a impressão do ClientDataSet a cada 20 registros.

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...