protected void Rad_invoce_ItemCommand(object source, GridCommandEventArgs e)
        {
            if (e.Item is GridDataItem)
            {
                var                    dataItem  = e.Item as GridDataItem;
                var                    invoiceid = new Guid(dataItem.GetDataKeyValue("InvoiceId").ToString());
                IGoodsOrder            order     = new GoodsOrder(GlobalConfig.DB.FromType.Read);
                IList <GoodsOrderInfo> infos     = order.GetInvoiceGoodsOrderList(invoiceid);
                if (infos == null || infos.Count == 0)
                {
                    throw new NotImplementedException("invoiceid" + invoiceid + "--方法GetInvoiceGoodsOrderList(invoiceid)为空");
                }
                if ("delete" == e.CommandName)
                {
                    //ibll.SetInvoiceState(invoiceid, InvoiceState.Cancel, "该发票存在重复,因此取消该发票![" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "]", CurrentSession.Personnel.Get().RealName);
                    Invoice.WriteInstance.SetInvoiceState(invoiceid, InvoiceState.Cancel, CurrentSession.Personnel.Get().RealName);
                    sync.SyncSetInvoiceState(infos[0].SaleFilialeId, invoiceid, InvoiceState.Cancel, true, "该发票存在重复,因此取消该发票![" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "]");
                }
                else if ("waste" == e.CommandName)
                {
                    //var success = ibll.SetInvoiceState(invoiceid, InvoiceState.Waste, "该发票财务确认作废.[" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "]", CurrentSession.Personnel.Get().RealName);
                    var success = Invoice.WriteInstance.SetInvoiceState(invoiceid, InvoiceState.Waste, CurrentSession.Personnel.Get().RealName);
                    if (success)
                    {
                        var personnelInfo = CurrentSession.Personnel.Get();
                        //发票汇总允许作废操作记录添加
                        var invoiceInfo = Invoice.WriteInstance.GetInvoice(invoiceid);
                        WebControl.AddOperationLog(personnelInfo.PersonnelId, personnelInfo.RealName, invoiceid, invoiceInfo == null ? "" : invoiceInfo.InvoiceNo.ToMendString(8),
                                                   OperationPoint.InvoiceStatistics.AllowScrap.GetBusinessInfo(), string.Empty);

                        sync.SyncSetInvoiceState(infos[0].SaleFilialeId, invoiceid, InvoiceState.Waste, true,
                                                 "该发票财务确认作废.[" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "]");
                    }
                    else
                    {
                        RAM.Alert("发票拒绝作废,有可能发票已经报送税务!");
                    }
                }
                else if ("return" == e.CommandName)
                {
                    //ibll.SetInvoiceState(invoiceid, InvoiceState.Success, "该发票财务拒绝作废.状态返回已开[" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "]", CurrentSession.Personnel.Get().RealName);
                    Invoice.WriteInstance.UpdateSetInvoiceState(invoiceid, InvoiceState.Success, CurrentSession.Personnel.Get().RealName);

                    var invoiceInfo   = Invoice.WriteInstance.GetInvoice(invoiceid);
                    var personnelInfo = CurrentSession.Personnel.Get();
                    //发票汇总财务拒绝作废操作记录添加
                    WebControl.AddOperationLog(personnelInfo.PersonnelId, personnelInfo.RealName, invoiceid, invoiceInfo == null ? "" : invoiceInfo.InvoiceNo.ToMendString(8),
                                               OperationPoint.InvoiceStatistics.RefuseScrap.GetBusinessInfo(), string.Empty);
                }
                rad_invoce.Rebind();
            }
            if (e.CommandName == "Search")
            {
                if (RcbKindType.SelectedValue == string.Format("{0}", (Byte)InvoiceKindType.Electron))
                {
                    RAM.Alert("此功能只适用于纸质发票!");
                }
                else
                {
                    AnomalyInvoce();
                    rad_invoce.Rebind();
                }
            }
        }