private void gridViewinvDet_DoubleClick(object sender, EventArgs e) { if (this.gridViewinvDet.IsValidRowHandle(this.gridViewinvDet.FocusedRowHandle) & this.gridViewinvDet.State == GridState.Normal & !this.gridViewinvDet.IsFilterRow(this.gridViewinvDet.FocusedRowHandle)) { FormDialog _formDialog = new FormDialog(); _formDialog.AcceptButton = null; _formDialog.Text = "»зменить строку"; MDataSet.InvoiceDetailRow sourceRow = ((this.invoiceDetailBindingSource.CurrencyManager.Current as DataRowView).Row as MDataSet.InvoiceDetailRow); if ((sourceRow != null)) { MDataSet.ProductRow productRow = (this.productBindingSource.DataSource as MDataSet.ProductDataTable).FindByID(sourceRow.ProductRef); if (productRow == null) { MessageBox.Show("ќшибка поиска товара"); return; } InvoiceDetailRowAdd _invoiceDetailRowAdd = new InvoiceDetailRowAdd(sourceRow, sourceRow.RemainsRow, productRow); _formDialog.panel.Controls.Add(_invoiceDetailRowAdd); if (DialogResult.OK == _formDialog.ShowDialog(this)) { this.invoiceDetailBindingSource.EndEdit(); } else { this.invoiceDetailBindingSource.CancelEdit(); } } } }
private bool OnInvoiceDetailSQLError(SqlException sqlerr, MDataSet.InvoiceDetailRow row) { decimal _oldQnt = row.Quantity; RefreshData(row.RemainsRow); // если нулевой остаток if (row.RemainsRow.QuantityRemains == 0) { MessageBox.Show("Уже нет товара на складе!"); row.RejectChanges(); return(true); } else { // уменьшить до кол-ва остатка и снова сохранить try { row.ClearErrors(); row.Quantity = row.RemainsRow.QuantityRemains; } catch (Exception ex) { MessageBox.Show(ex.Message); row.RejectChanges(); return(false); } finally { decimal ed = _oldQnt - row.Quantity; MessageBox.Show("Не удалось выписать: " + ed.ToString()); } return(true); } }
private bool SaleInvoiceDetail(MDataSet.InvoiceDetailRow row) { Decimal res; try { string name = row.RemainsRow.ProductRow.SmallName; bool isnds = row.RemainsRow.ProductRow.IsNDS; res = _printer.FiscalLine(name, row.Quantity, row.PriceRetailNDS, isnds); if (res != 0) { this._mainForm.SaveToBase(_invmasterRow); } this.invoiceDetailBindingSource.ResetBindings(true); } catch (Exception err) { MessageBox.Show("Ошибка!!"); MainForm.Log("SaleInvoiceDetail" + err.Message + " " + _printer.ErrorText); this.Close(); return(false); } return(true); }
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(); } } }
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); } }
private void onInvoiceDetailDBCError(DBConcurrencyException dbcx) { MDataSet.InvoiceDetailRow _invoiceDetailRow = dbcx.Row as MDataSet.InvoiceDetailRow; MDataSet.InvoiceDetailDataTable _invoiceDetailDataTable = new MDataSet.InvoiceDetailDataTable(); this.invoiceDetailTableAdapter.FillById(_invoiceDetailDataTable, (dbcx.Row as MDataSet.InvoiceDetailRow).ID); MDataSet.InvoiceDetailRow rowInDB = (_invoiceDetailDataTable.Rows[0] as MDataSet.InvoiceDetailRow); /*Сравнить изменения*/ if ((Convert.ToDecimal(_invoiceDetailRow["Quantity", DataRowVersion.Original]) != rowInDB.Quantity) | (Convert.ToDecimal(_invoiceDetailRow["PriceRetailNDS", DataRowVersion.Original]) != rowInDB.PriceRetailNDS)) { /*** Отменить **/ string strInDB = "Запись была изменена пользователем: \n"; string strMessage; strInDB += rowInDB.AuthorLastModif.ToString() + "\n"; strMessage = strInDB + "\n"; MessageBox.Show(strMessage + "Изменения отменены ", "Ошибка совмесного доступа", MessageBoxButtons.OK, MessageBoxIcon.Warning); this.mDataSet.InvoiceDetail.Merge(_invoiceDetailDataTable); } else { _invoiceDetailRow.ClearErrors(); this.mDataSet.InvoiceDetail.Merge(_invoiceDetailDataTable, true); } }
private void btProductReport_Click(object sender, EventArgs e) { MDataSet.InvoiceDetailRow detRow = this.gridViewInvDetAll.GetDataRow(this.gridViewInvDetAll.FocusedRowHandle) as MDataSet.InvoiceDetailRow; if (detRow == null) { return; } (this.ParentForm as MainForm).ProductReport(detRow.ProductRef); }
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); } }
private void btDeleteInСheck_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)) { this.gridViewInvRem.BeginDataUpdate(); this.ReturnInvoiceDetail(_detRow); this.gridViewInvRem.EndDataUpdate(); } } }
private bool SaleInvoiceDetail(MDataSet.InvoiceDetailRow row) { try { string name = row.RemainsRow.ProductRow.SmallName; if (name.Length == 0) { throw new ArgumentNullException("SmallName"); } bool isnds = row.RemainsRow.ProductRow.IsNDS; row.Article = _printer.SaleArticle(isnds, (double)row.Quantity, (double)row.PriceRetailNDS, name); if (row.Article > 0) { this._mainForm.SaveToBase(_invmasterRow); } else { MessageBox.Show("Ошибка печати строки!!!"); MainForm.Log("SaleInvoiceDetail" + _printer.ErrorText); this.mDataSet.InvoiceDetail.RejectChanges(); this.isError = true; this.Close(); return(false); } } catch (Exception err) { MessageBox.Show("Ошибка!!"); MainForm.Log(err.Message); this.isError = true; this.Close(); return(false); } return(true); }
public bool RefreshData(MDataSet.InvoiceDetailRow sourceRow) { MDataSet.InvoiceDetailDataTable _invoiceDetailDataTable = new MDataSet.InvoiceDetailDataTable(); try { this.invoiceDetailTableAdapter.FillNew(_invoiceDetailDataTable); } catch (Exception err) { MessageBox.Show(err.Message); Log("RefreshData (MDataSet.InvoiceDetailRow sourceRow) " + err.Message + " " + err.Source + err.InnerException.Message); return(false); } finally { this.mDataSet.InvoiceDetail.Merge(_invoiceDetailDataTable, true); } return(true); }
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(); } } }
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); } } }
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); }
private void onInvoiceDetailDBCError(DBConcurrencyException dbcx) { MDataSet.InvoiceDetailRow _invoiceDetailRow = dbcx.Row as MDataSet.InvoiceDetailRow; MDataSet.InvoiceDetailDataTable _invoiceDetailDataTable = new MDataSet.InvoiceDetailDataTable(); if (_invoiceDetailRow.RowState == DataRowState.Deleted) { int _id = Convert.ToInt32(_invoiceDetailRow["ID", DataRowVersion.Original].ToString()); this.invoiceDetailTableAdapter.FillById(_invoiceDetailDataTable, _id); } else { this.invoiceDetailTableAdapter.FillById(_invoiceDetailDataTable, (dbcx.Row as MDataSet.InvoiceDetailRow).ID); } { _invoiceDetailRow.ClearErrors(); this.mDataSet.InvoiceDetail.Merge(_invoiceDetailDataTable, true); } MainForm.Log(" onInvoiceDetailDBCError " + "успешно"); }
public bool SaveToBase(MDataSet.InvoiceDetailRow sourceRow) { if (sourceRow.HasErrors) { return(false); } if ((sourceRow.RowState == DataRowState.Detached) | (sourceRow.RowState == DataRowState.Unchanged)) { return(true); } if (_changesInvoiceDetail.Count == 0) { return(true); } MDataSet.InvoiceMasterRow _invoiceMasterRow; _invoiceMasterRow = sourceRow.InvoiceMasterRow; /*если после Update полей на сервере*/ if ((sourceRow.RowState == DataRowState.Modified) & sourceRow.HasVersion(DataRowVersion.Current)) { if (Convert.ToInt32(sourceRow["ID", DataRowVersion.Original]) != Convert.ToInt32(sourceRow["ID", DataRowVersion.Current])) { return(true); } } //*Если удаление *// if (sourceRow.RowState == DataRowState.Deleted) { _invoiceMasterRow = this.mDataSet.InvoiceMaster.FindByID(Convert.ToInt32((sourceRow as MDataSet.InvoiceDetailRow)["InvoiceMasterRef", DataRowVersion.Original])); } try { int res = this.invoiceDetailTableAdapter.Update(sourceRow); this.LabelUser.Text = "Успешно обновлена строка"; } catch (DBConcurrencyException dbcx) { this.onInvoiceDetailDBCError(dbcx); this.LabelUser.Text = "Ошибка совмесного доступа"; return(false); } catch (SqlException sqlerr) { if (sqlerr.Class < 17) { OnInvoiceDetailSQLError(sqlerr, sourceRow); } else { caughtGlobalError(sqlerr); } Log("SaveToBase(MDataSet.InvoiceDetailRow sourceRow) ERROR" + sqlerr.Message + " " + sqlerr.Source + sqlerr.InnerException.Message); return(false); } catch (Exception err) { MessageBox.Show(err.Message); Log("SaveToBase(MDataSet.InvoiceDetailRow sourceRow) ERROR" + err.Message + " " + err.Source + err.InnerException.Message); return(false); } finally { this.RemainsTableAdapter.Fill(this.mDataSet.Remains); RefreshData(_invoiceMasterRow); } return(true); }
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(); }
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(); }
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(); }
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(); }