private bool dgvExtraWorks_Restore()
        {
            RFMCursorWait.Set(true);
            RFMCursorWait.LockWindowUpdate(FindForm().Handle);

            oSalaryExtraWorkList.ClearError();
            oSalaryExtraWorkList.ClearFilters();
            oSalaryExtraWorkList.ID = null;

            // собираем условия

            // даты
            if (!dtrDates.dtpBegDate.IsEmpty)
            {
                oSalaryExtraWorkList.FilterDateBeg = dtrDates.dtpBegDate.Value.Date;
            }
            if (!dtrDates.dtpEndDate.IsEmpty)
            {
                oSalaryExtraWorkList.FilterDateEnd = dtrDates.dtpEndDate.Value.Date;
            }

            if (ucSelectRecordID_DriversEmployees.IsSelectedExist)
            {
                oSalaryExtraWorkList.FilterDriversEmployeesList = ucSelectRecordID_DriversEmployees.GetIdString();
            }

            if (txtWorkName.Text.Trim().Length > 0)
            {
                oSalaryExtraWorkList.FilterWorkNameContext = txtWorkName.Text.Trim();
            }

            dgvExtraWorks.GetGridState();
            oSalaryExtraWorkList.FillTableSalaryExtraWorks();
            dgvExtraWorks.IsLockRowChanged = true;
            dgvExtraWorks.Restore(oSalaryExtraWorkList.TableSalaryExtraWorks);

            RFMCursorWait.LockWindowUpdate(IntPtr.Zero);
            RFMCursorWait.Set(false);

            return(oSalaryExtraWorkList.ErrorNumber == 0);
        }