Ir para conteúdo
  • Cadastre-se

alves_sp

Membros
  • Total de ítens

    7
  • Registro em

  • Última visita

Últimos Visitantes

828 visualizações

alves_sp's Achievements

Rookie

Rookie (2/14)

  • First Post
  • Conversation Starter
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

0

Reputação

1

Community Answers

  1. A dica de hoje tem o objetivo de demonstrar como podemos criar uma instrução para query dinâmica mas rápido. Quando a Instrução e grande fazer na mão se torna demorado, e porque não criar algo que ajude. colando o sql puro TMemo -> Origem e gerando o precisamos no TMemo -> destino, além de informar a posição do field. Talvez o código talvez não seja dos melhores, mas o que importa e fazer o que propõe. with Qry.SQL do begin Add('SELECT'); Add(' produto.descricao_produto); Add(' FROM'); Add(' public.produto); end; var I, iCont: Integer; bOK: Boolean; sNum, sText, sAux : String; begin { Define valor inicial das variaveis } iCont := -1; bOK := False; { Limpa o Memo Destino } mmoDestino.Clear; for i := 0 to mmoOrigem.Lines.Count -1 do begin { Identifica a posicao do Field } sNum := FormatFloat('00', iCont); { Recebe a linha de Origem } sText := mmoOrigem.Lines.Strings[I]; { Remove Espaco em branco do final da Variavel -> StrText } sAux := TrimRight(sText); { Nao Adiciona Posicao do Field } if I = 0 then begin sText := sAux; mmoDestino.Lines.Append(' Add( ' + QuotedStr(sText) + ');'); end else begin { Verifica se a instrucao chegou na Linha From para poder encerrar o adicionar Posicao do Field } if Pos('FROM', sText) <> 0 then begin bOK := True; sText := ' ' + sAux; mmoDestino.Lines.Append(' Add( ' + QuotedStr(sText) + ');'); end { Encerra Adicionar Posicao do Field } else if bOK then begin sText := ' ' + sAux; mmoDestino.Lines.Append(' Add( ' + QuotedStr(sText) + ');'); end else { Posicao do Field } begin sText := ' ' + sAux; mmoDestino.Lines.Append('{' + sNum + '} Add( ' + QuotedStr(sText) + ');'); end; end; inc(iCont); end;
  2. qryVenda_item -> MasterSource _> Datasource ligado a queryVenda Venda -> Append -> Post - SchemaAdapter.ApplyUpdates(0); Venda_item -> Append -> Post - SchemaAdapter.ApplyUpdates(0); quando cancelo a venda deleto o registro venda que automaticamente delete o venda item no caso de cancelar o item uso a função como citado acima. Não tive erro fazendo assim
  3. Eu uso assim e funciona muito bem function doDelete_Item: Boolean; var iErr: integer; begin iErr := qryVenda_Item.SchemaAdapter.ApplyUpdates(0); if iErr > 0 then Result := False else Result := True; qryVenda_item.CommitUpdates; end;
  4. Faz a leitura do lote do xml verifica se o mesmo foi cancelado ou não faz um for entre cada lote usa o acbr para salvar
  5. Existe alguma forma de automatizar o processo de separação de arquivos xml´s vindo do sefaz ? No sefaz seus downloads não são separados, vem em lote separando os mesmos cupom a cupom.
×
×
  • 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...