public void CheckUpdate()
            {
                if (CheckAndSaveSql())
                {
                    AtMessageBox.Show("Найдены скрипты обновления программы, необходимо перезапустить программу, чтобы изменения вступили в силу", "Доступны обновления");
                    Application.Exit();
                    return;
                }

                string sha = CheckSetting();

                if (!this.settingSha.txtvalue.Equals(sha))
                {
                    SaveSettingFile();
                    Form mainForm = GetMainForm();
                    if (mainForm.ShowDialog() == DialogResult.OK)
                    {
                        //						MessageBox.Show(GetLastSaveFilePath());

                        string path = GetLastSaveFilePath();
                        if (String.IsNullOrEmpty(path) || !File.Exists(path))
                        {
                            throw new Exception("Файл настроек не найден!");
                        }

                        if (ExportImport.Import2(GetLastSaveFilePath(), false))
                        {
                            db.Exec(string.Format("update setting set txtvalue = '{0}' where name = '{1}' and deleted is null", sha, SETTING_SHA_NAME), false);
                        }
                    }
                }
            }
        void Import()
        {
            paymentGridView.Columns.Clear();

            try
            {
                importStrategies.ImportPayment();

                importStrategies.PaymentTable().Columns.Add(PaymentImport.IDCUSTOMER_COLUMN, typeof(object));
                importStrategies.PaymentTable().Columns.Add(PaymentImport.CUSTOMERNAME_COLUMN, typeof(object));

                paymentGridView.DataSource = importStrategies.PaymentTable();

                paymentGridView.Columns[PaymentImport.IDCUSTOMER_COLUMN].Visible      = false;
                paymentGridView.Columns[PaymentImport.CUSTOMERNAME_COLUMN].HeaderText = "Контрагент";

                DataGridViewButtonColumn btn = new DataGridViewButtonColumn();
                paymentGridView.Columns.Add(btn);
                btn.HeaderText = "Изменить";
                btn.Text       = "Изменить";
                btn.Name       = "customerBtn";
                btn.UseColumnTextForButtonValue = true;
            }
            catch (Exception exp) {
                AtMessageBox.Show("Произошла ошибка при импортировании платежей, возможно файл имел не верный формат!",
                                  "Ошибка импортирования \\n" + exp.Message,
                                  MessageBoxButtons.OK);
                paymentGridView.DataSource = null;
            }
        }
        void Button1Click(object sender, EventArgs e)
        {
            if (db == null)
            {
                AtMessageBox.Show("Ошибка подключения к базе данных");
                return;
            }

            if (String.IsNullOrEmpty(yearComboBox.Text))
            {
                AtMessageBox.Show("Не введен год");
                return;
            }

            string sql = String.Format("EXEC dbo.accounting_finperiod_close @dt = '{0}', @dtdoc = '{1}';",
                                       yearComboBox.Text,
                                       dtDocPicker.Value.ToString("yyyy-MM-dd"));

            using (AtUserControl.WithUIBlock)
            {
                if (db.Exec(sql, true))
                {
                    AtMessageBox.Show("Завершено успешно");
                }
            }
        }
        void AcceptBtnClick(object sender, EventArgs e)
        {
            if (importStrategies == null)
            {
                return;
            }

            try
            {
                foreach (DataRow row in importStrategies.PaymentTable().Rows)
                {
                    if (row[PaymentImport.IDCUSTOMER_COLUMN] == DBNull.Value)
                    {
                        AtMessageBox.Show("У одного или более платежей не указан контрагент!");
                        return;
                    }
                }

                string paymentGroupName = DateTime.Now.Date.ToString("yyyy-MM-dd");

                int paymentGroupId = accountingDoc.ExistPaymentGroup(paymentGroupName);

                if (paymentGroupId == -1)
                {
                    paymentGroupId = accountingDoc.AddPaymentGroup(paymentGroupName);
                }

                DataTable pTable = importStrategies.PaymentTable();

                AccountValut valut = accountingDoc.BaseValut();

                for (int count = pTable.Rows.Count - 1; count >= 0; count--)
                {
                    Payment payment = importStrategies.GetPayment(paymentGroupId, valut, pTable.Rows[count]);

                    if (!accountingDoc.SavePayment(payment))
                    {
                        return;
                    }

                    pTable.Rows.Remove(pTable.Rows[count]);
                }

                AtMessageBox.Show("Импортирование платежей закончено!");
            }
            catch (Exception exp)
            {
                AtLog.AddMessage(exp.Message + "  " + exp.StackTrace);
            }
        }