Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2020
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 2.17 KB | None | 0 0
  1. procedure TFrmVendaExpressa.ProcurarProduto(aProcurar: Boolean; strPesquisa: String);
  2. var
  3.   mProduto: String;
  4.   mCodigo: string;
  5. begin
  6.   mProduto        := '';
  7.   mCodigo         := '';
  8.   try
  9.     if aProcurar then
  10.     begin
  11.       if dbProcurarProduto.Execute then
  12.       begin
  13.         mProduto := dbProcurarProduto.ResultFieldAsString('REFERENCIA');
  14.         mCodigo  := dbProcurarProduto.ResultFieldAsString('CODIGO_BARRA');
  15.       end;
  16.     end
  17.     else
  18.     begin
  19.       mCodigo := strPesquisa;
  20.  
  21.       if cbbTipoPesquisa.ItemIndex = 0 then // CODIGO DE BARRA
  22.       begin
  23.         db_view_estoque.Close;
  24.         db_view_estoque.ParamByName('CODIGOBARRA').asString := mCodigo;
  25.         db_view_estoque.open;
  26.       end;
  27.  
  28.       if cbbTipoPesquisa.ItemIndex = 1 then // REFERENCIA
  29.       begin
  30.         db_view_estoque.Close;
  31.         db_view_estoque.ParamByName('REFERENCIA').asString := mProduto;
  32.         db_view_estoque.open;
  33.       end;
  34.  
  35.       mProduto := db_view_estoque.FieldByName('REFERENCIA').asString;
  36.       mCodigo  := db_view_estoque.FieldByName('CODIGO_BARRA').asString;
  37.     end;
  38.  
  39.     try
  40.  
  41.       If not(db_VendasItens.state in [dsEdit]) then
  42.         db_VendasItens.Edit;
  43.  
  44.       db_VendasItens.FieldByName('IDPRODUTO').AsInteger  := StrToInt(GetProdutoCampo(mProduto, 'CODIGO'));
  45.       db_VendasItens.FieldByName('PRODUTO').asString     := mProduto;
  46.       db_VendasItens.FieldByName('CODIGOBARRA').asString := mCodigo;
  47.  
  48.       if db_VendasItens.FieldByName('VLR_UNIT').AsFloat <= 0 then
  49.       begin
  50.         If not(db_VendasItens.state in [dsEdit]) then
  51.           db_VendasItens.Edit;
  52.         db_VendasItens.FieldByName('UND').asString       := db_view_estoque.FieldByName('UND').asString;
  53.         db_VendasItens.FieldByName('VLR_UNIT').AsFloat   := db_view_estoque.FieldByName('PRC_VENDA').AsFloat;
  54.         db_VendasItens.FieldByName('DESCRICAO').asString := db_view_estoque.FieldByName('DESCRICAO').asString;
  55.       end;
  56.  
  57.     finally
  58.       db_view_estoque.Close;
  59.     end;
  60.  
  61.   finally
  62.  
  63.     if db_VendasItens.FieldByName('VLR_UNIT').AsFloat > 0 then
  64.     begin
  65.       if (db_VendasItens.state in [dsEdit]) then
  66.         db_VendasItens.Post;
  67.     end;
  68.  
  69.   end;
  70. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement