private void bShowHistory_Click(object sender, EventArgs e) { dgOrderFlow.Rows.Clear(); lbOrders.Items.Clear(); //GetBookInfoByInventoryNumber - это полный шлак а не метод... переписать, чтобы сам искал по всех фондах! BJBookInfo book = BJBookInfo.GetBookInfoByInventoryNumber(tbInvNumber.Text, "BJVVV"); if (book == null) { book = BJBookInfo.GetBookInfoByInventoryNumber(tbInvNumber.Text, "REDKOSTJ"); } if (book == null) { book = BJBookInfo.GetBookInfoByInventoryNumber(tbInvNumber.Text, "BJACC"); } if (book == null) { book = BJBookInfo.GetBookInfoByInventoryNumber(tbInvNumber.Text, "BJFCC"); } if (book == null) { book = BJBookInfo.GetBookInfoByInventoryNumber(tbInvNumber.Text, "BJSCC"); } if (book == null) { label3.Text = "Не найдено"; lbOrders.Items.Clear(); dgOrderFlow.Rows.Clear(); MessageBox.Show("Инвентарный номер не найден ни в одной базе!"); return; } BJExemplarInfo exemplar = (BJExemplarInfo)book.Exemplars.Find(x => ((BJExemplarInfo)x).Fields["899$p"].ToString() == tbInvNumber.Text); if (exemplar == null) { label3.Text = "Не найдено"; lbOrders.Items.Clear(); dgOrderFlow.Rows.Clear(); MessageBox.Show("Инвентарный номер не найден ни в одной базе!"); return; } else { label3.Text = book.Fields["200$a"].ToString(); CirculationInfo ci = new CirculationInfo(); List <OrderInfo> orders = ci.GetOrders(exemplar.IdData, exemplar.Fund); lbOrders.Items.Clear(); foreach (OrderInfo order in orders) { lbOrders.Items.Add(order.OrderId); } if (lbOrders.Items.Count != 0) { lbOrders.SelectedIndex = 0; } } }