Ir para conteúdo
  • Cadastre-se

alves_sp

Membros
  • Total de ítens

    7
  • Registro em

  • Última visita

Últimos Visitantes

902 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...
The popup will be closed in 10 segundos...