Beispiel #1
0
        private void gridViewInvRem_DoubleClick(object sender, EventArgs e)
        {
            MDataSet.RemainsRow _rem = this.gridViewInvRem.GetDataRow(this.gridViewInvRem.FocusedRowHandle) as MDataSet.RemainsRow;

            if (_rem != null)
            {
                MDataSet.InvoiceDetailRow _newRow = (this.invoiceDetailBindingSource.AddNew() as DataRowView).Row as MDataSet.InvoiceDetailRow;

                InvoiceDetailAdd _invoceDetailAdd = new InvoiceDetailAdd(_newRow, _rem, _mainForm);

                FormDialog formDialog = new FormDialog();
                formDialog.Text         = "Добавить строку";
                formDialog.AcceptButton = null;

                formDialog.panel.Controls.Add(_invoceDetailAdd);

                if (DialogResult.OK == formDialog.ShowDialog(this))
                {
                    this.invoiceDetailBindingSource.EndEdit();

                    this.SaleInvoiceDetail(_newRow);
                }
                else
                {
                    this.invoiceDetailBindingSource.CancelEdit();
                    this.mDataSet.ReceiptRemains.RejectChanges();
                }
            }
        }
Beispiel #2
0
        private void btDelete_Click(object sender, EventArgs e)
        {
            try
            {
                MDataSet.InvoiceDetailRow _detRow = this.gridViewInvDet.GetDataRow(this.gridViewInvDet.FocusedRowHandle) as MDataSet.InvoiceDetailRow;

                if (_detRow != null)
                {
                    MDataSet.RemainsRow rem = _detRow.RemainsRow;

                    this._mainForm.SaveToBase(_invmasterRow);

                    this.invoiceDetailBindingSource.RemoveCurrent();

                    _mainForm.invoiceDetailTableAdapter.Update(_detRow);

                    _mainForm.RefreshData(_invmasterRow);

                    this._mainForm.RefreshData(rem);
                }
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message);
                MainForm.Log("btDelete_Click " + err.Message);
            }
        }
Beispiel #3
0
 private void gridViewInvRem_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.KeyData == Keys.Enter)
     {
         MDataSet.RemainsRow rem = this.gridViewInvRem.GetDataRow(this.gridViewInvRem.FocusedRowHandle) as MDataSet.RemainsRow;
         if (rem != null)
         {
             this.gridViewInvRem_DoubleClick(sender, e);
         }
     }
 }
Beispiel #4
0
        private void gridViewRemainsInvDetEdt_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                MDataSet.RemainsRow _rems = this.gridViewRemainsInvDetEdt.GetDataRow(this.gridViewRemainsInvDetEdt.FocusedRowHandle) as MDataSet.RemainsRow;

                if (_rems != null)
                {
                    this.btAdd_Click(sender, e);
                }
            }
        }
Beispiel #5
0
        private void gridControl1_DoubleClick(object sender, EventArgs e)
        {
            try
            {
                int focused = this.gridViewInvRem.FocusedRowHandle;

                MDataSet.RemainsRow _rem = this.gridViewInvRem.GetDataRow(this.gridViewInvRem.FocusedRowHandle) as MDataSet.RemainsRow;

                _mainForm.RefreshData(_rem);

                if (_rem != null)
                {
                    MDataSet.InvoiceDetailRow _newRow = (this.invoiceDetailBindingSource.AddNew() as DataRowView).Row as MDataSet.InvoiceDetailRow;

                    InvoiceDetailAdd _invoceDetailAdd = new InvoiceDetailAdd(_newRow, _rem, _mainForm);

                    FormDialog formDialog = new FormDialog();
                    formDialog.Text = "Добавить строку";
                    formDialog.panel.Controls.Add(_invoceDetailAdd);

                    if (DialogResult.OK == formDialog.ShowDialog(this))
                    {
                        this.invoiceDetailBindingSource.EndEdit();

                        this.SaleInvoiceDetail(_newRow);

                        _mainForm.RefreshData(_newRow);
                    }
                    else
                    {
                        this.gridViewInvRem.BeginDataUpdate();
                        this.invoiceDetailBindingSource.CancelEdit();
                        _rem.RejectChanges();
                        this.gridViewInvRem.EndDataUpdate();

                        this.gridRem.Focus();
                        this.gridViewInvRem.FocusedRowHandle = focused;
                        return;
                    }

                    _invoceDetailAdd.Dispose();

                    GC.Collect();
                }
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message);
                MainForm.Log("gridControl1_DoubleClick " + err.Message);
            }
        }
Beispiel #6
0
        private void gridViewRemMain_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
        {
            MDataSet.RemainsRow det = this.gridViewRemMain.GetDataRow(e.RowHandle) as MDataSet.RemainsRow;
            if (det == null)
            {
                return;
            }

            if (det.UseByDate.AddMonths(-6) < DateTime.Today)
            {
                e.Appearance.ForeColor = Color.Pink;
            }
            if (det.UseByDate.AddMonths(-2) < DateTime.Today)
            {
                e.Appearance.ForeColor = Color.Red;
            }
        }
Beispiel #7
0
        private void btDelete_Click(object sender, EventArgs e)
        {
            if ((this.invoiceDetailBindingSource.Current as DataRowView) == null)
            {
                return;
            }

            MDataSet.RemainsRow rem = ((this.invoiceDetailBindingSource.Current as DataRowView).Row as MDataSet.InvoiceDetailRow).RemainsRow;

            if (this.gridViewinvDet.IsValidRowHandle(this.gridViewinvDet.FocusedRowHandle) & this.gridViewinvDet.State == GridState.Normal & !this.gridViewinvDet.IsFilterRow(this.gridViewinvDet.FocusedRowHandle))
            {
                if (DialogResult.OK == MessageBox.Show("”далить стоку?", "»зменение накладной", MessageBoxButtons.OKCancel, MessageBoxIcon.Question))
                {
                    this.invoiceDetailBindingSource.RemoveCurrent();

                    _mainForm.RefreshData(rem);
                }
            }
        }
Beispiel #8
0
        private void btAdd_Click(object sender, EventArgs e)
        {
            /*создать новую строку, указатель на нее в  дл¤ редактировани¤*/
            MDataSet.RemainsRow _rems = this.gridViewRemainsInvDetEdt.GetDataRow(this.gridViewRemainsInvDetEdt.FocusedRowHandle) as MDataSet.RemainsRow;
            if (_rems == null)
            {
                return;
            }



            FormDialog _formDialog = new FormDialog();

            _formDialog.AcceptButton = _formDialog.btOk;
            _formDialog.Text         = "ƒобавить строку";

            MDataSet.InvoiceDetailRow sourceRow = ((this.invoiceDetailBindingSource.AddNew() as DataRowView).Row as MDataSet.InvoiceDetailRow);

            MDataSet.RemainsRow remainsRow = ((this.RemainsBindingSource.CurrencyManager.Current as DataRowView).Row as  MDataSet.RemainsRow);

            MDataSet.ProductRow _productRow = (this.productBindingSource.DataSource as MDataSet.ProductDataTable).FindByID(remainsRow.ProductRef);


            if ((sourceRow != null) & (remainsRow != null))
            {
                InvoiceDetailRowAdd _invoiceDetailRowAdd = new InvoiceDetailRowAdd(sourceRow, remainsRow, _productRow);
                _formDialog.panel.Controls.Add(_invoiceDetailRowAdd);

                if (DialogResult.OK == _formDialog.ShowDialog(this))
                {
                    remainsRow.AcceptChanges();
                    this.invoiceDetailBindingSource.EndEdit();
                }
                else
                {
                    this.invoiceDetailBindingSource.CancelEdit();
                    remainsRow.RejectChanges();
                }
            }
        }
Beispiel #9
0
        //При удалении вызвать

        public bool RefreshData(MDataSet.RemainsRow sourceRow)
        {
            MDataSet.RemainsDataTable _RemainsDataTable = new MDataSet.RemainsDataTable();

            try
            {
                this.RemainsTableAdapter.FillByReceiptDetailRef(_RemainsDataTable, sourceRow.ReceiptDetailRef);
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message);

                Log("(MDataSet.RemainsRow sourceRow) " + err.Message + " " + err.Source + err.InnerException.Message);

                return(false);
            }
            finally
            {
                this.mDataSet.Remains.Merge(_RemainsDataTable);
            }
            return(true);
        }
Beispiel #10
0
        private void btDelete_Click(object sender, EventArgs e)
        {
            MDataSet.InvoiceDetailRow _detRow = this.gridViewInvDet.GetDataRow(this.gridViewInvDet.FocusedRowHandle) as MDataSet.InvoiceDetailRow;

            if (_detRow != null)
            {
                if (DialogResult.OK == MessageBox.Show(this, "Удалить " + _detRow.Quantity.ToString(), "Удаление строки ", MessageBoxButtons.OKCancel, MessageBoxIcon.Question))
                {
                    MDataSet.RemainsRow rem = _detRow.RemainsRow;

                    this._mainForm.SaveToBase(_invmasterRow);

                    this.invoiceDetailBindingSource.RemoveCurrent();

                    _mainForm.invoiceDetailTableAdapter.Update(_detRow);

                    _mainForm.RefreshData(_invmasterRow);

                    this._mainForm.RefreshData(rem);
                }
            }
        }
Beispiel #11
0
        private void ReceiptDetailColumn_Changing(object sender, DataColumnChangeEventArgs e)
        {
            if (e.Column == mDataSet.ReceiptDetail.PricePurchaseColumn)
            {
                //  MessageBox.Show(e.ProposedValue.ToString());
            }

            if (e.Column == mDataSet.ReceiptDetail.QuantityColumn)
            {
                MDataSet.RemainsRow remainsRow = (e.Row as MDataSet.ReceiptDetailRow).RemainsRow;

                if (((e.Row as MDataSet.ReceiptDetailRow).Quantity - remainsRow.QuantityRemains) > ((decimal)e.ProposedValue))
                {
                    MessageBox.Show("Товара уже продано больше!");

                    e.ProposedValue = (e.Row as MDataSet.ReceiptDetailRow).Quantity;
                }
                else
                {
                    remainsRow.QuantityRemains += (decimal)e.ProposedValue - (e.Row as MDataSet.ReceiptDetailRow).Quantity;
                }
            }
        }
Beispiel #12
0
        private void gridViewInvRem_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
        {
            try
            {
                MDataSet.RemainsRow det = this.gridViewInvRem.GetDataRow(e.RowHandle) as MDataSet.RemainsRow;
                if (det == null)
                {
                    return;
                }

                if (det.UseByDate.AddMonths(-6) < DateTime.Today)
                {
                    e.Appearance.ForeColor = Color.Pink;
                }
                if (det.UseByDate.AddMonths(-2) < DateTime.Today)
                {
                    e.Appearance.ForeColor = Color.Red;
                }
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message);
            }
        }
Beispiel #13
0
        private bool ReturnInvoiceDetail(MDataSet.InvoiceDetailRow row)
        {
            try
            {
                string name = row.RemainsRow.ProductRow.SmallName;

                bool isnds = row.RemainsRow.ProductRow.IsNDS;

                int Article = row.Article;

                bool res = _printer.ReturnArticle(Article, isnds, (double)row.Quantity, (double)row.PriceRetailNDS, name);

                if (res)
                {
                    MDataSet.RemainsRow rem = row.RemainsRow;


                    this.invoiceDetailBindingSource.RemoveCurrent();

                    this._mainForm.SaveToBase(_invmasterRow);
                    this._mainForm.RefreshData(rem);
                }
                else
                {
                    MessageBox.Show("Невозможно удалить строку!");
                }
            }
            catch
            {
                MessageBox.Show("Ошибка!!");
                return(false);
            }


            return(true);
        }
Beispiel #14
0
        public InvoiceDetailAdd(MDataSet.InvoiceDetailRow source, MDataSet.RemainsRow remainsRow, MainForm mainForm)
        {
            InitializeComponent();
            _row        = source;
            _mainForm   = mainForm;
            _remainsRow = remainsRow;

            _QuantityRemains = remainsRow.QuantityRemains;

            _prodRow = remainsRow.ProductRow;

            //       _mainForm.RefreshData(_remainsRow);

            this.productBindingSource.DataSource = _prodRow;

            this.productBindingSource.ResetBindings(true);

            _row.LocalReceiptDetailRef = _remainsRow.ReceiptDetailRef;


            if (QuantityRemains >= 1)
            {
                _row.Quantity = 1;
            }
            else
            {
                _row.Quantity = QuantityRemains;
            }



            if (_prodRow.MinDivisor == 1)
            {
                this.QuantityEdit.Properties.DisplayFormat.FormatString = "####0";
                this.QuantityEdit.Properties.DisplayFormat.FormatType   = DevExpress.Utils.FormatType.Numeric;
                this.QuantityEdit.Properties.EditFormat.FormatString    = "###0";
                this.QuantityEdit.Properties.EditFormat.FormatType      = DevExpress.Utils.FormatType.Numeric;
                this.QuantityEdit.Properties.Mask.EditMask = "####0";
                this.QuantityEdit.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Numeric;
                this.lRemFull.Text = "";
                // написать кол-во в блистерах или целых упаковках

                //количество целых упаковок :

                if (_prodRow.OldKol != 1)
                {
                    int rem = Convert.ToInt32(_remainsRow.QuantityRemains + _row.Quantity);

                    int q = (int)rem / _prodRow.OldKol;

                    if (q != 0)
                    {
                        this.lRemFull.Text = q.ToString() + " целых уп.";
                    }
                    //количество едениц

                    int c = (int)(rem - q * _prodRow.OldKol);

                    if (c != 0)
                    {
                        if (this.lRemFull.Text.Length == 0)
                        {
                            this.lRemFull.Text = c.ToString() + _prodRow.UnitName;
                        }
                        else
                        {
                            this.lRemFull.Text += "+ " + c.ToString() + _prodRow.UnitName;
                        }
                    }
                    this.labelRem.Visible = false;
                    this.lRemFull.Visible = true;
                }
            }
            else
            {
                this.lComment.Text    = "{в упаковке " + _prodRow.MinDivisor.ToString() + " шт}";
                this.lComment.Visible = true;
            }



            if ((_prodRow.StorageConditionRef > 0))
            {
                this.additionPanel.Visible = true;

                this.labelPlace.Text = this._prodRow.StorageConditionName;
            }


            _row.PriceRetailNDS = _remainsRow.PricePurchase;

            this.remainsBindingSource.DataSource = _remainsRow;

            this.invoiceDetailBindingSource.DataSource = source;

            this.labelRem.DataBindings.Clear();
            this.labelRem.DataBindings.Add(new Binding("Text", this, "QuantityRemains"));

            this.labelSum.Text = this.SumRow.ToString();
        }
Beispiel #15
0
        public InvoiceDetailRowAdd(MDataSet.InvoiceDetailRow source, MDataSet.RemainsRow remain, MDataSet.ProductRow productRow)
        {
            InitializeComponent();

            _productRow = productRow;

            _remainsRow = remain;
            _row        = source;

            if (_productRow.MinDivisor == 1)
            {
                this.quantityEdit.Properties.DisplayFormat.FormatString = "####";
                this.quantityEdit.Properties.DisplayFormat.FormatType   = DevExpress.Utils.FormatType.Numeric;
                this.quantityEdit.Properties.EditFormat.FormatString    = "###";
                this.quantityEdit.Properties.EditFormat.FormatType      = DevExpress.Utils.FormatType.Numeric;
                this.quantityEdit.Properties.Mask.EditMask = "####";
                this.quantityEdit.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Numeric;
            }

            this.lnumOst.Text = _remainsRow.QuantityRemains.ToString();

            //количество целых упаковок :

            if (_productRow.OldKol != 1)
            {
                int rem = Convert.ToInt32(_remainsRow.QuantityRemains + _row.Quantity);

                int q = (int)rem / _productRow.OldKol;

                if (q != 0)
                {
                    this.labelOst.Text = q.ToString() + " целых уп.";
                }
                //количество едениц

                int c = (int)(rem - q * _productRow.OldKol);

                if (c != 0)
                {
                    if (this.labelOst.Text.Length == 0)
                    {
                        this.labelOst.Text = c.ToString() + _productRow.UnitName;
                    }
                    else
                    {
                        this.labelOst.Text += "+ " + c.ToString() + _productRow.UnitName;
                    }
                }

                this.labelOst.Visible = true;
            }

            else
            {
                this.lComment.Text    = "{в упаковке " + _productRow.MinDivisor.ToString() + " шт}";
                this.lComment.Visible = true;
            }



            this.mDataSet = source.Table.DataSet as MDataSet;
            this.invoiceDetailBindingSource.DataSource = source;

            this.productBindingSource.DataSource = _productRow;
            this.productBindingSource.ResetBindings(false);

            if (source.LocalReceiptDetailRef == 0)
            {
                source.LocalReceiptDetailRef = remain.ReceiptDetailRef;
            }

            this.remainsBindingSource.DataSource = remain;



            _quantytiStock = remain.QuantityRemains;


            this.invoiceDetailBindingSource.ResetBindings(true);

            this.errorProvider1.DataSource = this.invoiceDetailBindingSource;
            this.errorProvider1.UpdateBinding();

            source.EndEdit();
        }
Beispiel #16
0
        public InvoiceDetailRowAdd(MDataSet.InvoiceDetailRow source, MDataSet.RemainsRow remain, MDataSet.ProductRow productRow)
        {
            InitializeComponent();

            _productRow = productRow;

            _remainsRow = remain;
            _row = source;

            if (_productRow.MinDivisor == 1)
            {


                this.quantityEdit.Properties.DisplayFormat.FormatString = "####";
                this.quantityEdit.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
                this.quantityEdit.Properties.EditFormat.FormatString = "###";
                this.quantityEdit.Properties.EditFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
                this.quantityEdit.Properties.Mask.EditMask = "####";
                this.quantityEdit.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Numeric;


            }

            this.lnumOst.Text = _remainsRow.QuantityRemains.ToString();

                 //количество целых упаковок : 

            if (_productRow.OldKol != 1)
                {

                    int rem = Convert.ToInt32(_remainsRow.QuantityRemains + _row.Quantity);

                    int q = (int)rem / _productRow.OldKol;
               
                    if (q != 0)
                    {

                        this.labelOst.Text = q.ToString() + " целых уп.";

                    }
                    //количество едениц

                    int c = (int)(rem - q * _productRow.OldKol);

                    if (c != 0)
                    {

                        if (this.labelOst.Text.Length == 0)
                        {
                            this.labelOst.Text = c.ToString() + _productRow.UnitName;
                        }
                        else
                        {
                            this.labelOst.Text += "+ " + c.ToString() + _productRow.UnitName;
                        }
                    }
                  
                   this.labelOst.Visible = true;
                }
            
            else
            {
                this.lComment.Text = "{в упаковке " + _productRow.MinDivisor.ToString() + " шт}";
                this.lComment.Visible = true;

            }

               

           
           
            this.mDataSet = source.Table.DataSet as MDataSet;
            this.invoiceDetailBindingSource.DataSource = source;
        
           this.productBindingSource.DataSource = _productRow;
           this.productBindingSource.ResetBindings(false); 
          
            if (source.LocalReceiptDetailRef==0 )  
               source.LocalReceiptDetailRef = remain.ReceiptDetailRef;

           this.remainsBindingSource.DataSource = remain;

           

            _quantytiStock = remain.QuantityRemains;
            
          
            this.invoiceDetailBindingSource.ResetBindings(true);

            this.errorProvider1.DataSource = this.invoiceDetailBindingSource;
            this.errorProvider1.UpdateBinding();
           
            source.EndEdit();
        }
Beispiel #17
0
        public InvoiceDetailAdd(MDataSet.InvoiceDetailRow source, MDataSet.RemainsRow remainsRow, MainForm mainForm)
        {
            InitializeComponent();
            _row = source;
            _mainForm = mainForm;
            _remainsRow = remainsRow;

            _QuantityRemains = remainsRow.QuantityRemains;

            _prodRow = remainsRow.ProductRow;

     //       _mainForm.RefreshData(_remainsRow);

            this.productBindingSource.DataSource = _prodRow;
            
            this.productBindingSource.ResetBindings(true);

            _row.LocalReceiptDetailRef = _remainsRow.ReceiptDetailRef;

            
            if (QuantityRemains >= 1)
                _row.Quantity = 1;
            else
                _row.Quantity = QuantityRemains;



            if (_prodRow.MinDivisor == 1)
            {
                this.QuantityEdit.Properties.DisplayFormat.FormatString = "####0";
                this.QuantityEdit.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
                this.QuantityEdit.Properties.EditFormat.FormatString = "###0";
                this.QuantityEdit.Properties.EditFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
                this.QuantityEdit.Properties.Mask.EditMask = "####0";
                this.QuantityEdit.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Numeric;
                this.lRemFull.Text = "";
                // написать кол-во в блистерах или целых упаковках

                //количество целых упаковок : 

               if (_prodRow.OldKol != 1)
                {

                    int rem = Convert.ToInt32(_remainsRow.QuantityRemains + _row.Quantity);

                   int q =(int) rem / _prodRow.OldKol;
               
                    if (q != 0)
                    {

                        this.lRemFull.Text = q.ToString() + " целых уп.";

                    }
                    //количество едениц

                    int c = (int)(rem - q * _prodRow.OldKol);

                    if (c != 0)
                    {

                        if (this.lRemFull.Text.Length == 0)
                        {
                            this.lRemFull.Text = c.ToString() + _prodRow.UnitName;
                        }
                        else
                        {
                            this.lRemFull.Text += "+ " + c.ToString() + _prodRow.UnitName;
                        }
                    }
                   this.labelRem.Visible = false;
                   this.lRemFull.Visible = true;
                }
            }
            else
            {
                this.lComment.Text = "{в упаковке " + _prodRow.MinDivisor.ToString() +" шт}";
                this.lComment.Visible = true;
            }



            if ((_prodRow.StorageConditionRef > 0))
            {

                this.additionPanel.Visible = true;

                this.labelPlace.Text = this._prodRow.StorageConditionName;
             
            }


            _row.PriceRetailNDS = _remainsRow.PricePurchase;

            this.remainsBindingSource.DataSource = _remainsRow;

            this.invoiceDetailBindingSource.DataSource = source;
           
            this.labelRem.DataBindings.Clear();
            this.labelRem.DataBindings.Add(new Binding("Text",this,"QuantityRemains"));

            this.labelSum.Text = this.SumRow.ToString();
        }