Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- procedure TFrmVendaExpressa.ProcurarProduto(aProcurar: Boolean; strPesquisa: String);
- var
- mProduto: String;
- mCodigo: string;
- begin
- mProduto := '';
- mCodigo := '';
- try
- if aProcurar then
- begin
- if dbProcurarProduto.Execute then
- begin
- mProduto := dbProcurarProduto.ResultFieldAsString('REFERENCIA');
- mCodigo := dbProcurarProduto.ResultFieldAsString('CODIGO_BARRA');
- db_view_estoque.Close;
- db_view_estoque.SQL.Clear;
- case cbbTipoPesquisa.ItemIndex of
- 0: // CODIGO DE BARRA
- begin
- db_view_estoque.SQL.Add('SELECT * FROM VIEW_ESTOQUEVENDA WHERE CODIGO_BARRA =:CODIGOBARRA');
- db_view_estoque.ParamByName('CODIGOBARRA').asString := mCodigo;
- FrmPesquisaProduto.edtCodigoBarra.Text := mCodigo;
- end;
- 1: // REFERENCIA
- begin
- db_view_estoque.SQL.Add('SELECT * FROM VIEW_ESTOQUEVENDA WHERE REFERENCIA =:REFERENCIA');
- db_view_estoque.ParamByName('REFERENCIA').asString := mProduto;
- FrmPesquisaProduto.edtCodigoBarra.Text := mProduto;
- end;
- end;
- db_view_estoque.open;
- end;
- FrmPesquisaProduto.dbedtDescricao.SetFocus;
- end
- else
- begin
- if cbbTipoPesquisa.ItemIndex = 0 then // CODIGO DE BARRA
- begin
- db_view_estoque.Close;
- db_view_estoque.SQL.Clear;
- db_view_estoque.SQL.Add('SELECT * FROM VIEW_ESTOQUEVENDA WHERE CODIGO_BARRA =:CODIGOBARRA');
- db_view_estoque.ParamByName('CODIGOBARRA').asString := strPesquisa;
- db_view_estoque.open;
- end;
- if cbbTipoPesquisa.ItemIndex = 1 then // REFERENCIA
- begin
- db_view_estoque.Close;
- db_view_estoque.SQL.Clear;
- db_view_estoque.SQL.Add('SELECT * FROM VIEW_ESTOQUEVENDA WHERE REFERENCIA =:REFERENCIA');
- db_view_estoque.ParamByName('REFERENCIA').asString := strPesquisa;
- db_view_estoque.open;
- end;
- if db_view_estoque.IsEmpty then
- begin
- Mensagem('Produto não encontrado');
- exit;
- end;
- mProduto := db_view_estoque.FieldByName('REFERENCIA').asString;
- mCodigo := db_view_estoque.FieldByName('CODIGO_BARRA').asString;
- end;
- try
- If not(db_VendasItens.state in [dsEdit]) then
- db_VendasItens.Edit;
- db_VendasItens.FieldByName('IDPRODUTO').AsInteger := StrToInt(GetProdutoCampo(mProduto, 'CODIGO'));
- db_VendasItens.FieldByName('PRODUTO').asString := mProduto;
- db_VendasItens.FieldByName('CODIGOBARRA').asString := mCodigo;
- if db_VendasItens.FieldByName('VLR_UNIT').AsFloat <= 0 then
- begin
- If not(db_VendasItens.state in [dsEdit]) then
- db_VendasItens.Edit;
- db_VendasItens.FieldByName('UND').asString := db_view_estoque.FieldByName('UND').asString;
- db_VendasItens.FieldByName('VLR_UNIT').AsFloat := db_view_estoque.FieldByName('PRC_VENDA').AsFloat;
- db_VendasItens.FieldByName('DESCRICAO').asString := db_view_estoque.FieldByName('DESCRICAO').asString;
- end;
- finally
- db_view_estoque.Close;
- end;
- finally
- if db_VendasItens.FieldByName('VLR_UNIT').AsFloat > 0 then
- begin
- if (db_VendasItens.state in [dsEdit]) then
- db_VendasItens.Post;
- end;
- end;
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement