private void mniOutputsDocumentsService_GuiltyEmployees_Click(object sender, EventArgs e) { if (grdOutputsDocuments.CurrentRow == null || grdOutputsDocuments.IsStatusRow(grdOutputsDocuments.CurrentRow.Index)) { return; } DataRow r = ((DataRowView)((DataGridViewRow)grdOutputsDocuments.Rows[grdOutputsDocuments.CurrentRow.Index]).DataBoundItem).Row; if (Convert.IsDBNull(r["OldOutputDocumentID"])) { return; } int nOldOutputDocumentID = (int)r["OldOutputDocumentID"]; int nNewOutputDocumentID = (int)r["NewOutputDocumentID"]; DateTime dDateCarry = Convert.ToDateTime(r["DateCarry"]); OutputDocument oOutputDocumentCarry = new OutputDocument(); oOutputDocumentCarry.ReFillOne(nOldOutputDocumentID); oOutputDocumentCarry.FillTableOutputsDocumentsCarries(nOldOutputDocumentID); if (oOutputDocumentCarry.ErrorNumber != 0 || !oOutputDocumentCarry.DS.Tables.Contains("TableOutputsDocumentsCarries") || oOutputDocumentCarry.DS.Tables["TableOutputsDocumentsCarries"] == null || oOutputDocumentCarry.DS.Tables["TableOutputsDocumentsCarries"].Rows.Count == 0) { RFMMessage.MessageBoxError("Ошибка при получении данных о переносах и копиях расходного документа..."); return; } int? nCarryID = null; DataTable dtCarries = oOutputDocumentCarry.DS.Tables["TableOutputsDocumentsCarries"]; foreach (DataRow roc in dtCarries.Rows) { int nX_OldOutputDocumentID = (int)roc["OutputDocumentID"]; int nX_NewOutputDocumentID = nX_OldOutputDocumentID; if (!Convert.IsDBNull(roc["NewOutputDocumentID"])) { nX_NewOutputDocumentID = (int)roc["NewOutputDocumentID"]; } if (nOldOutputDocumentID != nX_OldOutputDocumentID || nNewOutputDocumentID != nX_NewOutputDocumentID || DateTime.Compare(dDateCarry, Convert.ToDateTime(roc["DateCarry"])) != 0) { continue; } nCarryID = (int)roc["ID"]; break; } if (!nCarryID.HasValue) { RFMMessage.MessageBoxError("Ошибка при получении данных о переносе/копии расходного документа..."); return; } if (StartForm(new frmOutputsDocumentsGuiltyEmployees((int)nCarryID, true)) == DialogResult.Yes) { grdOutputsDocuments_Restore(); } }
/// <summary> /// получение полного списка возвратов с дополнительными сведениями в MainTable /// </summary> public override bool FillData() { ClearData(); string sqlSelect = "execute up_TripsReturnsFill @nID, @cIDList, " + "@cHostsList, " + "@dDateBeg, @dDateEnd, " + "@bReadyForWMS, " + "@bIsConfirmed, " + "@bAutoCreated, " + "@cTripsList, " + "@cOwnersList, " + "@cPackingsList, @cGoodsList"; SqlCommand _oCommand = new SqlCommand(sqlSelect, _Connect); #region up_TripsReturnsFill parameters SqlParameter _oParameter = _oCommand.Parameters.Add("@nID", SqlDbType.Int); if (_ID != null) { _oParameter.Value = _ID; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cIDList", SqlDbType.VarChar); if (_IDList != null) { _oParameter.Value = _IDList; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cHostsList", SqlDbType.VarChar); if (_FilterHostsList != null) { _oParameter.Value = _FilterHostsList; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@dDateBeg", SqlDbType.SmallDateTime); if (_FilterDateBeg.HasValue) { _oParameter.Value = _FilterDateBeg; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@dDateEnd", SqlDbType.SmallDateTime); if (_FilterDateEnd.HasValue) { _oParameter.Value = _FilterDateEnd; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@bReadyForWMS", SqlDbType.Bit); if (_FilterReadyForWMS != null) { _oParameter.Value = _FilterReadyForWMS; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@bIsConfirmed", SqlDbType.Bit); if (_FilterIsConfirmed != null) { _oParameter.Value = _FilterIsConfirmed; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@bAutoCreated", SqlDbType.Bit); if (_FilterAutoCreated != null) { _oParameter.Value = _FilterAutoCreated; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cTripsList", SqlDbType.VarChar); if (_FilterTripsList != null) { _oParameter.Value = _FilterTripsList; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cOwnersList", SqlDbType.VarChar); if (_FilterOwnersList != null) { _oParameter.Value = _FilterOwnersList; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cPackingsList", SqlDbType.VarChar); if (_FilterPackingsList != null) { _oParameter.Value = _FilterPackingsList; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cGoodsList", SqlDbType.VarChar); if (_FilterGoodsList != null) { _oParameter.Value = _FilterGoodsList; } else { _oParameter.Value = DBNull.Value; } #endregion try { _MainTable = FillReadings(new SqlDataAdapter(_oCommand), _MainTable, _MainTableName); _MainTable.PrimaryKey = new DataColumn[] { _MainTable.Columns[_ColumnID] }; _NeedRequery = false; } catch (Exception ex) { _ErrorNumber = -1; _ErrorStr = "Ошибка при получении списка возвратов..." + Convert.ToChar(13) + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); } return(_ErrorNumber == 0); }
public bool Save(int?nUserCreateID) { string _sqlCommand = "execute up_TripsReturnsSave @nTripReturnID output, " + "@dDateReturn, " + "@bAutoCreated, " + "@nOwnerID, @nGoodStateID, " + "@cNote, " + "@nTripID, " + "@nUserCreateID, " + "@nError output, @cErrorText output"; SqlCommand _oCommand = new SqlCommand(_sqlCommand, _Connect); #region up_TripsReturnsSave parameters SqlParameter _oParameter = _oCommand.Parameters.Add("@nTripReturnID", SqlDbType.Int); _oParameter.Direction = ParameterDirection.InputOutput; if (_ID.HasValue) { _oParameter.Value = _ID; } else { _oParameter.Value = 0; } _oParameter = _oCommand.Parameters.Add("@dDateReturn", SqlDbType.SmallDateTime); _oParameter.Value = _DateReturn; _oParameter = _oCommand.Parameters.Add("@bAutoCreated", SqlDbType.Bit); _oParameter.Value = _AutoCreated; _oParameter = _oCommand.Parameters.Add("@nOwnerID", SqlDbType.Int); if (_OwnerID.HasValue) { _oParameter.Value = _OwnerID; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nGoodStateID", SqlDbType.Int); if (_GoodStateID.HasValue) { _oParameter.Value = _GoodStateID; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cNote", SqlDbType.VarChar); if (_Note != null) { _oParameter.Value = _Note; } else { _oParameter.Value = ""; } _oParameter = _oCommand.Parameters.Add("@nTripID", SqlDbType.Int); if (_TripID.HasValue) { _oParameter.Value = _TripID; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nUserCreateID", SqlDbType.Int); if (nUserCreateID.HasValue) { _oParameter.Value = nUserCreateID; } else { _oParameter.Value = 0; // DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nError", SqlDbType.Int); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = 0; _oParameter = _oCommand.Parameters.Add("@cErrorText", SqlDbType.VarChar, 200); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = ""; #endregion try { _Connect.Open(); // таблица товаров if (TableTripsReturnsGoods != null) { RFMUtilities.DataTableToTempTable(TableTripsReturnsGoods, "#TripsReturnsGoods", _Connect); } _oCommand.ExecuteScalar(); } catch (Exception ex) { _ErrorNumber = -10; _ErrorStr = "Ошибка при попытке сохранения возврата...\r\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); } finally { _Connect.Close(); } if (_ErrorNumber == 0) { _ErrorNumber = (int)_oCommand.Parameters["@nError"].Value; if (_ErrorNumber != 0) { _ErrorStr = "Ошибка при сохранении возврата...\r\n" + _oCommand.Parameters["@cErrorText"].Value; RFMMessage.MessageBoxError(_ErrorStr); } // при создании нового возврата - получим его код if ((!_ID.HasValue || _ID == 0) && !Convert.IsDBNull(_oCommand.Parameters["@nTripReturnID"].Value)) { _ID = (int)_oCommand.Parameters["@nTripReturnID"].Value; } } return(_ErrorNumber == 0); }
private void btnSave_Click(object sender, EventArgs e) { if (cboOwner.SelectedIndex < 0 || cboOwner.SelectedValue == null) { RFMMessage.MessageBoxError("Не указан владелец товара..."); cboOwner.Select(); return; } if (cboGoodsState.SelectedIndex < 0 || cboGoodsState.SelectedValue == null) { RFMMessage.MessageBoxError("Не указано состояние товара..."); cboGoodsState.Select(); return; } bool bActFound = false, bReturnFound = false; foreach (DataRow dr in dt.Rows) { if ((decimal)dr["ActQnt"] != 0) { bActFound = true; } if ((decimal)dr["ReturnQnt"] > 0) { bReturnFound = true; } if (bActFound && bReturnFound) { break; } } if (!bActFound && !bReturnFound) { RFMMessage.MessageBoxError("Ни для одного товара не введено количество ни для актирования, ни для возврата..."); return; } // ВОЗВРАТ if (bReturnFound) { if (RFMMessage.MessageBoxYesNo("Сохранить возврат для рейса?") == DialogResult.Yes) { // заполним таблицу товаров в возврате oTripReturn.FillTableTripsReturnsGoods(0); if (oTripReturn.ErrorNumber == 0 && oTripReturn.TableTripsReturnsGoods != null) { oTripReturn.TableTripsReturnsGoods.PrimaryKey = null; oTripReturn.TableTripsReturnsGoods.Columns["ID"].AllowDBNull = true; oTripReturn.TableTripsReturnsGoods.Columns["ID"].Unique = false; oTripReturn.TableTripsReturnsGoods.PrimaryKey = new DataColumn[] { oTripReturn.TableTripsReturnsGoods.Columns["PackingID"] }; oTripReturn.TableTripsReturnsGoods.Columns["PackingID"].DefaultValue = 0; foreach (DataRow r in dt.Rows) { if ((decimal)r["ReturnQnt"] > 0) { DataRow rg = oTripReturn.TableTripsReturnsGoods.Rows.Find((int)r["PackingID"]); if (rg == null) { rg = oTripReturn.TableTripsReturnsGoods.Rows.Add(); rg["PackingID"] = (int)r["PackingID"]; rg["QntWished"] = (decimal)r["ReturnQnt"]; } else { rg["QntWished"] = (decimal)rg["QntWished"] + (decimal)r["ReturnQnt"]; } } } } oTripReturn.ClearError(); // остальные параметры возврата oTripReturn.ID = null; oTripReturn.DateReturn = dtpDate.Value.Date; oTripReturn.GoodStateID = (int)cboGoodsState.SelectedValue; oTripReturn.OwnerID = (int)cboOwner.SelectedValue; oTripReturn.Note = txtReturnNote.Text.Trim(); oTripReturn.AutoCreated = true; oTripReturn.TripID = nTripID; oTripReturn.HostID = nHostID; // сохраняем возврат WaitOn(this); oTripReturn.ClearError(); bool bResult = oTripReturn.Save(((RFMFormMain)Application.OpenForms[0]).UserID); WaitOff(this); if (bResult && oTripReturn.ErrorNumber == 0 && oTripReturn.ID.HasValue) { // готов к передаче в WMS if (chkReturnReadyForWMS.Checked) { oTripReturn.SetReadyForWMS((int)oTripReturn.ID); if (oTripReturn.ErrorNumber == 0) { // печать LogService.TripReturnBill_Print(oTripReturn, this); } } } } } // АКТ(Ы) if (bActFound) { // посчитать, сколько получается актов для разных заданий на расход DataView dv = new DataView(dt, "ActQnt <> 0", "", DataViewRowState.CurrentRows); // таблица кодов заданий на расход, к которым можно приделать акт DataTable dtOutput = dv.ToTable(true, "OutputID"); // Не задаем никаких вопросов if (1 == 1) //if (RFMMessage.MessageBoxYesNo("Сохранить " + RFMUtilities.Declen(dtOutput.Rows.Count, "акт", "акта", "актов") + " для заданий на расход, прикрепленных к рейсу?") == DialogResult.Yes) { // идем по каждому расходу foreach (DataRow o in dtOutput.Rows) { // расход, к которому будет привязан акт int nOutputID = 0; if (!Convert.IsDBNull(o["OutputID"]) && o["OutputID"] != null && (int)o["OutputID"] > 0) { nOutputID = (int)o["OutputID"]; } else { // выберем первый попавшийся из расходов oTrip.FillTableOutputsInTrip(); if (oTrip.ErrorNumber == 0 && oTrip.TableOutputsInTrip != null && oTrip.TableOutputsInTrip.Rows.Count > 0) { nOutputID = (int)oTrip.TableOutputsInTrip.Rows[0]["ID"]; } } // заполним таблицу товаров в акте - именно для этого расхода oAct.FillTableActsGoods(0); if (oAct.ErrorNumber == 0 && oAct.TableActsGoods != null) { oAct.TableActsGoods.PrimaryKey = null; oAct.TableActsGoods.Columns["ID"].AllowDBNull = true; oAct.TableActsGoods.Columns["ID"].Unique = false; foreach (DataRow r in dt.Rows) { // Изменение от 15.05.2017 Александров // Убрана излишняя проверка, // не давала создавать акты при откате оператором ранее подтвержденного расходного документа /*if ((nOutputID == 0 && (Convert.IsDBNull(r["OutputID"]) || r["OutputID"] == null || (int)r["OutputID"] <= 0)) || || (nOutputID != 0 && (!Convert.IsDBNull(r["OutputID"]) && r["OutputID"] != null) && (int)r["OutputID"] == nOutputID)) || {*/ if ((decimal)r["ActQnt"] != 0) { DataRow ag = oAct.TableActsGoods.Rows.Add(); ag["PackingID"] = (int)r["PackingID"]; ag["QntConfirmed"] = (decimal)r["ActQnt"]; } /*}*/ } } oAct.ClearError(); // остальные параметры акта oAct.ID = null; oAct.DateAct = dtpDate.Value.Date; oAct.GoodStateID = (int)cboGoodsState.SelectedValue; oAct.OwnerID = (int)cboOwner.SelectedValue; oAct.Note = txtActNote.Text.Trim(); oAct.TripID = nTripID; if (nOutputID > 0) { oAct.OutputID = nOutputID; } else { oAct.OutputID = null; } oAct.InputID = null; oAct.HostID = nHostID; // сохраняем акт WaitOn(this); oAct.ClearError(); bool bResult = oAct.Save(((RFMFormMain)Application.OpenForms[0]).UserID); WaitOff(this); if (bResult && oAct.ErrorNumber == 0 && oAct.ID.HasValue) { // готов к передаче в WMS if (chkActReadyForWMS.Checked) { //oAct.SetReadyForWMS((int)oAct.ID); // он уже Confirmed } } } } } DialogResult = DialogResult.Yes; Dispose(); }
private void btnSave_Click(object sender, EventArgs e) { string sName = txtNаme.Text.Trim(); // проверки if (sName.Length == 0) { RFMMessage.MessageBoxError("Не указано наименование..."); txtNаme.Select(); return; } if (cboZone.SelectedValue == null || cboZone.SelectedIndex < 0) { RFMMessage.MessageBoxError("Не указана зона расположения клиента..."); cboZone.Select(); return; } // уникальность названия // Проверка отменена 22.04.2009 в связи с большим количеством двойников у Тимакса /* * WaitOn(this); * Partner oPartnerTemp = new Partner(); * oPartner.FilterNameContext = sName; * oPartnerTemp.FillData(); * foreach(DataRow dr in oPartnerTemp.MainTable.Rows) * { * if (nPartnerID == null || nPartnerID != Convert.ToInt32(dr["ID"])) * { * if (sName.ToUpper() == dr["Name"].ToString().Trim().ToUpper()) * { * WaitOff(this); * RFMMessage.MessageBoxError("Партнер с таким названием уже есть..."); * txtNаme.Select(); * return; * } * } * } * WaitOff(this); */ // актуальность if (!chkActual.Checked) { if (RFMMessage.MessageBoxYesNo("Сохранить данные о неактуальном партнере?") != DialogResult.Yes) { chkActual.Select(); return; } } // шаблоны печ.форм. если заданы - есть ли такие шаблоны? if (chkPF_Bill.Checked) { if (txtPF_BillName.Text.Trim().Length == 0) { if (RFMMessage.MessageBoxYesNo("Не задан шаблон накладной...\nСохранить без указания шаблона?") != DialogResult.Yes) { txtPF_BillName.Select(); return; } } else { if (!CheckPF_Form(txtPF_BillName.Text.Trim(), "PF_Bill", "накладной")) { return; } } } if (chkPF_Facture.Checked) { if (txtPF_FactureName.Text.Trim().Length == 0) { if (RFMMessage.MessageBoxYesNo("Не задан шаблон счета-фактуры...\nСохранить без указания шаблона?") != DialogResult.Yes) { txtPF_FactureName.Select(); return; } } else { if (!CheckPF_Form(txtPF_FactureName.Text.Trim(), "PF_Facture", "счета-фактуры")) { return; } } } if (chkPF_PayBill.Checked) { if (txtPF_PayBillName.Text.Trim().Length == 0) { if (RFMMessage.MessageBoxYesNo("Не задан шаблон счета на оплату...\nСохранить без указания шаблона?") != DialogResult.Yes) { txtPF_PayBillName.Select(); return; } } else { if (!CheckPF_Form(txtPF_PayBillName.Text.Trim(), "PF_PayBill", "счета на оплату")) { return; } } } // собираем данные в свойства объекта oPartner oPartner.Name = txtNаme.Text.Trim(); oPartner.Actual = chkActual.Checked; oPartner.IsCustomer = chkIsCustomer.Checked; oPartner.IsSupplier = chkIsSupplier.Checked; oPartner.IsTransport = chkIsTransport.Checked; oPartner.IsOwner = chkIsOwner.Checked; if (oPartner.IsOwner) { oPartner.SeparatePicking = chkSeparatePicking.Checked; } else { oPartner.SeparatePicking = false; } oPartner.ContactsInfo = txtContactsInfo.Text; if (cboPartnerRoot.SelectedIndex >= 0 && cboPartnerRoot.SelectedValue != null) { oPartner.PartnerRootID = (int)cboPartnerRoot.SelectedValue; } else { oPartner.PartnerRootID = null; } if (cboZone.SelectedIndex >= 0 && cboZone.SelectedValue != null) { oPartner.ZoneID = (int)cboZone.SelectedValue; } else { oPartner.ZoneID = null; } oPartner.DeliveryAddress = txtDeliveryAddress.Text; oPartner.DeliveryPassage = txtDeliveryPassage.Text; oPartner.DeliveryRestriction = txtDeliveryRestriction.Text; oPartner.Gravity = txtGravity.Text; // CoordinatesX, CoordinatesY // Географические координаты должны сохраняться только парно! if (txtLatitude.Text.Length > 0 && txtLongitude.Text.Length > 0) { oPartner.Latitude = Convert.ToDecimal(txtLatitude.Text); oPartner.Longitude = Convert.ToDecimal(txtLongitude.Text); } else { oPartner.Latitude = null; oPartner.Longitude = null; } oPartner.Distance = (int)numDistance.Value; oPartner.PassengerCarOnly = chkPassengerCarOnly.Checked; oPartner.PosternOnly = chkPosternOnly.Checked; oPartner.LoadLiftOnly = chkLoadLiftOnly.Checked; oPartner.DateValidControl = chkDateValidControl.Checked; oPartner.PalletsAgreement = chkPalletsAgreement.Checked; oPartner.FactPaymentOnly = chkFactPaymentOnly.Checked; oPartner.ContactsInfo = txtContactsInfo.Text; oPartner.Note = txtNote.Text; /* * oPartner.FactureNeed = chkFactureNeed.Checked; * oPartner.WarrantNeed = chkWarrantNeed.Checked; * oPartner.PaymentOrderNeed = chkPaymentOrderNeed.Checked; * oPartner.OtherDocumentsNeed = chkOtherDocumentsNeed.Checked; * oPartner.QualityLicenceNeed = chkQualityLicenceNeed.Checked; * oPartner.VeterinaryLicenceNeed = chkVeterinaryLicenceNeed.Checked; */ // стр.Дополнительно oPartner.TimeWork = txtTimeWork.Text; oPartner.TimeReceipt = txtTimeReceipt.Text; oPartner.TimePay = txtTimePay.Text; oPartner.TimeRest = txtTimeRest.Text; oPartner.StayMinutes = (int)numStayMinutes.Value; // стр.Шаблоны if (chkPF_Bill.Checked) { oPartner.PF_BillName = txtPF_BillName.Text.Trim(); oPartner.PF_BillCopiesCount = (int)numPF_BillCopiesCount.Value; } else { oPartner.PF_BillName = ""; oPartner.PF_BillCopiesCount = 0; } if (chkPF_Facture.Checked) { oPartner.PF_FactureName = txtPF_FactureName.Text.Trim(); oPartner.PF_FactureCopiesCount = (int)numPF_FactureCopiesCount.Value; } else { oPartner.PF_FactureName = ""; oPartner.PF_FactureCopiesCount = 0; } if (chkPF_PayBill.Checked) { oPartner.PF_PayBillName = txtPF_PayBillName.Text.Trim(); oPartner.PF_PayBillCopiesCount = (int)numPF_PayBillCopiesCount.Value; } else { oPartner.PF_PayBillName = ""; oPartner.PF_PayBillCopiesCount = 0; } oPartner.ShopCode = txtShopCode.Text.Trim(); oPartner.VeterinaryPartnerName = txtVeterinaryPartnerName.Text.Trim(); oPartner.VeterinaryPermission = txtVeterinaryPermission.Text.Trim(); /* * oPartner.LegalName = txtLegalName.Text; * oPartner.LegalAddress = txtLegalAddress.Text; * oPartner.FactName = txtFactName.Text; * oPartner.FactAddress = txtFactAddress.Text; * oPartner.Phone = txtPhone.Text; * oPartner.Inn = txtInn.Text; * oPartner.Inn = txtKpp.Text; * * oPartner.ContractNumber = txtContractNumber.Text; * if (!dtpContractDate.IsEmpty) * oPartner.ContractDate = dtpContractDate.Value; * else * oPartner.ContractDate = null; * * oPartner.BankName = txtBankName.Text; * oPartner.BankAddress = txtBankAddress.Text; * oPartner.PAccount = txtPAccount.Text; * oPartner.CAccount = txtCAccount.Text; * oPartner.Bik = txtBik.Text; * oPartner.Okonh = txtOkonh.Text; * oPartner.Okpo = txtOkpo.Text; * * oPartner.JobTitleDirector = txtJobTitleDirector.Text; * oPartner.FioDirector = txtFioDirector.Text; * oPartner.JobTitleAccountant = txtJobTitleAccountant.Text; * oPartner.FioAccountant = txtFioAccountant.Text; */ // собственно сохранение oPartner.SaveOne(); if (oPartner.ErrorNumber == 0) { // код добавленной записи if ((!nPartnerID.HasValue || nPartnerID == 0) && oPartner.ID.HasValue && oPartner.ID != null) { nPartnerID = (int)oPartner.ID; } // сохранить фото if (fileDrivingSchemePath != "") { FileStream fs = new FileStream(fileDrivingSchemePath, FileMode.Open, FileAccess.Read); BinaryReader br = new BinaryReader(fs); oPartner.DrivingScheme = br.ReadBytes((int)fs.Length); br.Close(); fs.Close(); oPartner.SaveOneDrivingScheme(); } else { if (bClearDrivingScheme) { oPartner.DrivingScheme = null; oPartner.SaveOneDrivingScheme(); } } if (nPartnerID.HasValue) { MotherForm.GotParam = new object[] { (int)nPartnerID }; DialogResult = DialogResult.Yes; Dispose(); } } }
/// <summary> /// удаление доверенности /// </summary> public bool Update(int?nOutputDocumentID, int?nInputDocumentID, int?nInputID) { String _sqlCommand = "execute up_WarrantsNumbersUpdate @nOutputDocumentID, @nInputDocumentID, @nInputID, " + "@nError output, @cErrorText output"; SqlCommand _oCommand = new SqlCommand(_sqlCommand, _Connect); #region up_WarrantNumbersDelete parameters SqlParameter _oParameter = _oCommand.Parameters.Add("@nOutputDocumentID", SqlDbType.Int); if (nOutputDocumentID.HasValue) { _oParameter.Value = nOutputDocumentID; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nInputDocumentID", SqlDbType.Int); if (nInputDocumentID.HasValue) { _oParameter.Value = nInputDocumentID; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nInputID", SqlDbType.Int); if (nInputID.HasValue) { _oParameter.Value = nInputID; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nError", SqlDbType.Int); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = 0; _oParameter = _oCommand.Parameters.Add("@cErrorText", SqlDbType.VarChar, 200); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = ""; #endregion try { _Connect.Open(); _oCommand.ExecuteScalar(); } catch (Exception ex) { _ErrorNumber = -20; _ErrorStr = "Ошибка при попытке обновления данных о доверенности...\r\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); } finally { _Connect.Close(); } if (_ErrorNumber == 0) { _ErrorNumber = (int)_oCommand.Parameters["@nError"].Value; if (_ErrorNumber != 0) { _ErrorStr = "Ошибка при обновлении данных о доверенности...\r\n" + _oCommand.Parameters["@cErrorText"].Value; RFMMessage.MessageBoxError(_ErrorStr); } } return(_ErrorNumber == 0); }
/// <summary> /// получение полного списка хостов в MainTable /// </summary> public override bool FillData() { ClearData(); string sqlSelect = "execute up_HostsFill @nID, @cIDList, " + "@cNameContext, " + "@cShortCode, " + "@bActual "; SqlCommand _oCommand = new SqlCommand(sqlSelect, _Connect); #region up_HostsFill Parameters SqlParameter _oParameter = _oCommand.Parameters.Add("@nID", SqlDbType.Int); if (_ID != null) { _oParameter.Value = _ID; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cIDList", SqlDbType.VarChar); if (_IDList != null) { _oParameter.Value = _IDList; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cNameContext", SqlDbType.VarChar, 200); if (_FilterNameContext != null) { _oParameter.Value = _FilterNameContext; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cShortCode", SqlDbType.VarChar, 200); if (_FilterShortCode != null) { _oParameter.Value = _FilterShortCode; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@bActual", SqlDbType.Bit); if (_FilterActual != null) { _oParameter.Value = _FilterActual; } else { _oParameter.Value = DBNull.Value; } #endregion try { _MainTable = FillReadings(new SqlDataAdapter(_oCommand), _MainTable, _MainTableName); _MainTable.PrimaryKey = new DataColumn[] { _MainTable.Columns[_ColumnID] }; _NeedRequery = false; } catch (Exception ex) { _ErrorNumber = -1; _ErrorStr = "ќшибка при получении общего списка хостов..." + Convert.ToChar(13) + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); } return(_ErrorNumber == 0); }
private void frmMovingsEdit_Load(object sender, EventArgs e) { bool blResult = cboMovingsTypes_Restore() && cboOwners_Restore() && cboGoodState_Restore() && cboGoodStateNew_Restore() && cboStoresZonesSource_Restore() && cboStoresZonesTypesSource_Restore() && cboStoresZonesTarget_Restore() && cboStoresZonesTypesTarget_Restore(); if (!blResult) { RFMMessage.MessageBoxError("Ошибка получения данных классификаторов..."); Dispose(); } cboMovingsTypes.SelectedIndex = cboOwners.SelectedIndex = cboGoodState.SelectedIndex = cboGoodStateNew.SelectedIndex = cboStoresZonesSource.SelectedIndex = cboStoresZonesTypesSource.SelectedIndex = cboCellSourceAddress.SelectedIndex = cboStoresZonesTarget.SelectedIndex = cboStoresZonesTypesTarget.SelectedIndex = cboCellTargetAddress.SelectedIndex = -1; if (nMovingID != 0) { oMoving.ID = nMovingID; oMoving.FillData(); if (oMoving.ErrorNumber != 0 || oMoving.MainTable.Rows.Count == 0) { RFMMessage.MessageBoxError("Ошибка при получении данных о внутрискладском перемещении..."); Dispose(); } DataRow droRow = oMoving.MainTable.Rows[0]; // поля txtID.Text = droRow["ID"].ToString(); dtpDateMoving.Value = Convert.ToDateTime(droRow["DateMoving"]).Date; cboMovingsTypes.SelectedValue = (int)droRow["MovingTypeID"]; if (!Convert.IsDBNull(droRow["OwnerID"])) { cboOwners.SelectedValue = (int)droRow["OwnerID"]; } if (!Convert.IsDBNull(droRow["GoodStateID"])) { cboGoodState.SelectedValue = (int)droRow["GoodStateID"]; } if (!Convert.IsDBNull(droRow["GoodStateNewID"])) { cboGoodStateNew.SelectedValue = (int)droRow["GoodStateNewID"]; } txtNote.Text = droRow["Note"].ToString(); // ячейка-источник cboStoresZonesTypesSource.SelectedValue = (int)droRow["StoreZoneTypeSourceID"]; cboStoresZonesSource.SelectedValue = (int)droRow["StoreZoneSourceID"]; cboCellSourceAddress.SelectedValue = (int)droRow["CellSourceID"]; // товары (но это не источник грида) oMoving.FillTableMovingsGoods((int)nMovingID); if (oMoving.ErrorNumber != 0 || oMoving.TableMovingsGoods == null) { RFMMessage.MessageBoxError("Ошибка при получении данных о товарах в внутрискладском перемещении..."); Dispose(); } // целевая ячейка int?nCellTargetID = null; int?nStoreZoneTargetID = null; if (oMoving.TableMovingsGoods.Rows.Count > 0) { if (!Convert.IsDBNull(oMoving.TableMovingsGoods.Rows[0]["CellTargetID"])) { nCellTargetID = Convert.ToInt32(oMoving.TableMovingsGoods.Rows[0]["CellTargetID"]); } if (!Convert.IsDBNull(oMoving.TableMovingsGoods.Rows[0]["StoreZoneTargetID"])) { nStoreZoneTargetID = Convert.ToInt32(oMoving.TableMovingsGoods.Rows[0]["StoreZoneTargetID"]); } } if ((bool)droRow["ToOneCell"]) { optToOneCell.Checked = true; // ячейка, которую мы взяли из списка товаров if (nStoreZoneTargetID.HasValue) { cboStoresZonesTarget.SelectedValue = (int)nStoreZoneTargetID; } if (nCellTargetID.HasValue) { cboCellTargetAddress.SelectedValue = (int)nCellTargetID; } } else { optToPicking.Checked = true; } cboMovingsTypes.Enabled = cboOwners.Enabled = cboGoodState.Enabled = cboGoodStateNew.Enabled = pnlOpgMovingsTypes.Enabled = pnlSource.Enabled = pnlTarget.Enabled = false; dgvMovingsGoods_Restore(); } else { txtID.Text = "новое"; dtpDateMoving.Value = DateTime.Now.Date; cboMovingsTypes.SelectedIndex = 0; cboMovingsTypes_SelectedIndexChanged(null, null); cboOwners.SelectedIndex = -1; cboGoodState.SelectedIndex = 0; cboGoodStateNew.SelectedIndex = 0; cboCellSourceAddress.SelectedIndex = cboStoresZonesSource.SelectedIndex = cboStoresZonesTypesSource.SelectedIndex = -1; } foreach (DataGridViewColumn c in dgvMovingsGoods.Columns) { string sColName = c.Name.ToUpper(); if (!sColName.Contains("WISHED") && !sColName.Contains("MARKED")) { c.ReadOnly = true; } } dgrcQnt.AgrType = dgrcQntWished.AgrType = dgrcBox.AgrType = dgrcBoxWished.AgrType = EnumAgregate.Sum; SetInWork(); _bLoaded = true; }
private void btnSave_Click(object sender, EventArgs e) { if (cboMovingsTypes.SelectedValue == null || cboMovingsTypes.SelectedIndex < 0) { RFMMessage.MessageBoxError("Не выбран тип внутрискладского перемещения..."); return; } int nMovingTypeID = (int)cboMovingsTypes.SelectedValue; if (cboGoodState.SelectedValue == null || cboGoodState.SelectedIndex < 0) { RFMMessage.MessageBoxError("Не выбрано состояние товара..."); return; } if (cboGoodStateNew.SelectedValue == null || cboGoodStateNew.SelectedIndex < 0) { RFMMessage.MessageBoxError("Не выбрано новое состояние товара..."); return; } if (cboCellSourceAddress.SelectedValue == null || cboCellSourceAddress.SelectedIndex < 0) { RFMMessage.MessageBoxError("Не выбрана ячейка-источник..."); return; } if (Convert.ToInt32(cboGoodStateNew.SelectedValue) != Convert.ToInt32(cboGoodState.SelectedValue)) { if (RFMMessage.MessageBoxYesNo("Новое состояние товара не совпадает с текущим...\nВсе-таки сохранить перемещение?") != DialogResult.Yes) { return; } } int nGoodStateID = (int)cboGoodState.SelectedValue; int nGoodStateNewID = (int)cboGoodStateNew.SelectedValue; int?nOwnerID = null; if (cboOwners.SelectedIndex >= 0) { nOwnerID = (int)cboOwners.SelectedValue; } if (cboCellSourceAddress.SelectedValue == null || cboCellSourceAddress.SelectedIndex < 0) { RFMMessage.MessageBoxError("Не выбрана ячейка-источник..."); return; } int nCellSourceID = (int)cboCellSourceAddress.SelectedValue; int?nCellTargetID = null; if (optToOneCell.Checked) { if (cboCellTargetAddress.SelectedValue == null || cboCellTargetAddress.SelectedIndex < 0) { RFMMessage.MessageBoxError("Не выбрана целевая ячейка..."); return; } nCellTargetID = (int)cboCellTargetAddress.SelectedValue; if (nCellSourceID == nCellTargetID) { RFMMessage.MessageBoxError("Целевая ячейка совпадает с ячейкой-источником..."); return; } // проверка по привязкам int? nFixedPackingID = null; int? nFixedGoodStateID = null; int? nFixedOwnerID = null; Cell oOneCell = new Cell(); oOneCell.ID = nCellTargetID; oOneCell.FillData(); if (oOneCell.ErrorNumber != 0 || oOneCell.MainTable == null || oOneCell.MainTable.Rows.Count != 1) { RFMMessage.MessageBoxError("Ошибка при проверке фиксированных закреплений целевой ячейки..."); return; } DataRow ocr = oOneCell.MainTable.Rows[0]; if (!Convert.IsDBNull(ocr["FixedPackingID"])) { nFixedPackingID = Convert.ToInt32(ocr["FixedPackingID"]); } if (!Convert.IsDBNull(ocr["FixedGoodStateID"])) { nFixedGoodStateID = Convert.ToInt32(ocr["FixedGoodStateID"]); } if (!Convert.IsDBNull(ocr["FixedOwnerID"])) { nFixedOwnerID = Convert.ToInt32(ocr["FixedOwnerID"]); } if (nFixedPackingID.HasValue || nFixedGoodStateID.HasValue || nFixedOwnerID.HasValue) { foreach (DataRow dro in oMoving.TableMovingsGoods.Rows) { if (Convert.ToDecimal(dro["QntWished"]) > 0) { if (nFixedPackingID.HasValue && Convert.ToInt32(dro["PackingID"]) != (int)nFixedPackingID || nFixedGoodStateID.HasValue && nGoodStateID != (int)nFixedGoodStateID || nFixedOwnerID.HasValue && nOwnerID.HasValue && (int)nOwnerID != (int)nFixedOwnerID) { RFMMessage.MessageBoxError("Товар " + dro["GoodAlias"] + " не может быть перемещен в выбранную ячейку\n" + "из-за несоответствия фиксированных закреплений (товар/состояние/владелец)..."); return; } } } } } SetInWork(); if (!_bInWork) { RFMMessage.MessageBoxError("Не выбрано ни одного товара..."); return; } int j = 0; StringBuilder sbNoCell = new StringBuilder(""); StringBuilder sbCellLess = new StringBuilder(""); foreach (DataRow dro in oMoving.TableMovingsGoods.Rows) { if (Convert.ToDecimal(dro["QntWished"]) > 0) { j++; if (Convert.IsDBNull(dro["CellTargetID"]) || dro["CellTargetID"] == null || Convert.ToInt32(dro["CellTargetID"]) == 0) { sbNoCell = sbNoCell.Append(dro["GoodAlias"].ToString() + "\r\n"); } if (Convert.ToDecimal(dro["QntWished"]) > Convert.ToDecimal(dro["Qnt"])) { sbCellLess = sbCellLess.Append(dro["GoodAlias"].ToString() + "\r\n"); } } } if (sbNoCell.Length > 0) { RFMMessage.MessageBoxError("Для следующих товаров:\n" + sbNoCell + "не определена конечная ячейка.\n\n" + "Перемещение невозможно."); return; } if (sbCellLess.Length > 0) { if (RFMMessage.MessageBoxYesNo("Для следующих товаров:\n" + sbCellLess + "количество в исходной ячейке меньше, чем запрашиваемое количество.\n\n" + "Все-таки сохранить внутрискладское перемещение?") != DialogResult.Yes) { return; } } if (nMovingID == 0) { oMoving.ClearError(); oMoving.ID = 0; oMoving.FillData(); if (oMoving.ErrorNumber != 0 || oMoving.MainTable == null) { RFMMessage.MessageBoxError("Ошибка при попытке сохранения нового внутрискладского перемещения..."); return; } oMoving.MainTable.Rows.Add(); } oMoving.MainTable.Rows[0]["DateMoving"] = dtpDateMoving.Value.Date; oMoving.MainTable.Rows[0]["MovingTypeID"] = nMovingTypeID; oMoving.MainTable.Rows[0]["GoodStateID"] = nGoodStateID; oMoving.MainTable.Rows[0]["GoodStateNewID"] = nGoodStateNewID; if (nOwnerID.HasValue) { oMoving.MainTable.Rows[0]["OwnerID"] = nOwnerID; } else { oMoving.MainTable.Rows[0]["OwnerID"] = DBNull.Value; } oMoving.MainTable.Rows[0]["CellSourceID"] = nCellSourceID; oMoving.MainTable.Rows[0]["Note"] = txtNote.Text.Trim(); Refresh(); WaitOn(this); oMoving.ClearError(); bool bResult = oMoving.SaveData(nMovingID, nCellTargetID, ((RFMFormBase)Application.OpenForms[0]).UserInfo.UserID); WaitOff(this); if (bResult && oMoving.ErrorNumber == 0) { MotherForm.GotParam = new object[] { ((oMoving.ID.HasValue) ? (int)oMoving.ID : 0) }; DialogResult = DialogResult.Yes; Dispose(); } else { RFMMessage.MessageBoxError("Ошибка сохранения внутрискладского перемещения..."); // не выходить из формы } }
private void btnOutputsErpCodes_Click(object sender, EventArgs e) { _SelectedIDList = null; _SelectedText = ""; if (StartForm(new frmInputBoxString("Список ERP-кодов расходов (через запятую):", "")) == DialogResult.Yes) { string sErpCodesList = GotParam[0].ToString(); Output oOutputTemp = new Output(); oOutputTemp.IDList = oOutputTemp.FillIDListByErpCodeList(sErpCodesList); oOutputTemp.FillData(); if (oOutputTemp.MainTable.Rows.Count == 0) { RFMMessage.MessageBoxInfo("Нет расходов..."); ttToolTip.SetToolTip(txtOutputsChoosen, "не выбраны"); sSelectedOutputsIDList = ""; txtOutputsChoosen.Text = ""; return; } sSelectedOutputsIDList = oOutputTemp.IDList; // список ERP-кодов показать int nFirstCntRecords = 3; int i = 0; foreach (DataRow r in oOutputTemp.MainTable.Rows) { if (i < nFirstCntRecords) { _SelectedText += r["ERPCode"].ToString() + ", "; } else { if (i == nFirstCntRecords) { _SelectedText += "..."; } } i++; } _SelectedText = _SelectedText.Trim(); if (_SelectedText.Substring(_SelectedText.Length - 1, 1) == ",") { _SelectedText = _SelectedText.Substring(0, _SelectedText.Length - 1); } if (_SelectedText.Length > 0) { _SelectedText = "(" + oOutputTemp.MainTable.Rows.Count.ToString() + "): " + _SelectedText.Trim(); } txtOutputsChoosen.Text = _SelectedText; ttToolTip.SetToolTip(txtOutputsChoosen, txtOutputsChoosen.Text); } else { ttToolTip.SetToolTip(txtOutputsChoosen, "не выбраны"); sSelectedOutputsIDList = ""; txtOutputsChoosen.Text = ""; } }
private bool dgvMovingsGoods_Restore() { if (cboGoodState.SelectedValue == null || cboGoodState.SelectedIndex < 0) { RFMMessage.MessageBoxError("Не выбрано текущее состояние товара..."); return(false); } if (cboCellSourceAddress.SelectedValue == null || cboCellSourceAddress.SelectedIndex < 0) { RFMMessage.MessageBoxError("Не выбрана ячейка-источник..."); return(false); } if (optToOneCell.Checked && (cboCellTargetAddress.SelectedValue == null || cboCellTargetAddress.SelectedIndex < 0)) { RFMMessage.MessageBoxError("Не выбрана целевая ячейка..."); return(false); } int nCellSourceID = (int)cboCellSourceAddress.SelectedValue; int nGoodStateID = (int)cboGoodState.SelectedValue; int nGoodStateNewID = (int)cboGoodStateNew.SelectedValue; int?nOwnerID = null; if (cboOwners.SelectedIndex >= 0) { nOwnerID = (int)cboOwners.SelectedValue; } int?nCellTargetID = null; if (cboCellTargetAddress.SelectedIndex >= 0) { nCellTargetID = (int)cboCellTargetAddress.SelectedValue; } string sOutputsIDList = null; if (chkNotInOutputs.Checked) { sOutputsIDList = "-1"; } else { if (sSelectedOutputsIDList.Length > 0) { sOutputsIDList = sSelectedOutputsIDList; } } oMoving.FillTableMovingsGoodsInCell(nCellSourceID, nGoodStateID, nGoodStateNewID, nOwnerID, nCellTargetID, ((sSelectedPackingIDList.Length > 0) ? sSelectedPackingIDList : null), sOutputsIDList, nMovingID); dgvMovingsGoods.Restore(oMoving.TableMovingsGoods); // закрыть начальные условия if (dgvMovingsGoods.Rows.Count > 0) { cboMovingsTypes.Enabled = cboOwners.Enabled = cboGoodState.Enabled = cboGoodStateNew.Enabled = pnlSource.Enabled = pnlTarget.Enabled = false; } else { cboMovingsTypes.Enabled = cboOwners.Enabled = cboGoodState.Enabled = cboGoodStateNew.Enabled = pnlSource.Enabled = cboStoresZonesSource.Enabled = //cboCellSourceAddress.Enabled = true; if (optToOneCell.Checked) { pnlTarget.Enabled = cboStoresZonesTarget.Enabled = //cboCellTargetAddress.Enabled = true; } } return(oMoving.ErrorNumber == 0); }
private void btnOutputsChoose_Click(object sender, EventArgs e) { _SelectedIDList = null; _SelectedText = ""; Output oOutput = new Output(); WaitOn(this); // фильтры //oOutput.FilterConfirmed = false; oOutput.FilterDateBeg = DateTime.Now.Date.AddDays(-2); oOutput.FillData(); WaitOff(this); if (oOutput.ErrorNumber != 0 || oOutput.MainTable == null) { RFMMessage.MessageBoxError("Ошибка при получении данных..."); return; } if (oOutput.MainTable.Rows.Count == 0) { RFMMessage.MessageBoxError("Нет данных..."); return; } if (StartForm(new frmSelectID(this, oOutput.MainTable, "DateOutput, ERPCode, DateConfirm, OutputTypeName, PartnerName, CarAlias, BackDoor, Note, CellAddress, OutputID", "Дата, ERPCode, Подтв., Тип, Клиент, Машина, ЗД, Примечание, Ячейка отгр., ID", true)) == DialogResult.Yes) { if (_SelectedIDList == null || !_SelectedIDList.Contains(",")) { btnOutputsClear_Click(null, null); return; } sSelectedOutputsIDList = "," + _SelectedIDList; _SelectedText = ""; oOutput.IDList = sSelectedOutputsIDList; oOutput.FillData(); // список ERP-кодов показать int nFirstCntRecords = 3; int i = 0; foreach (DataRow r in oOutput.MainTable.Rows) { if (i < nFirstCntRecords) { _SelectedText += r["ERPCode"].ToString() + ", "; } else { if (i == nFirstCntRecords) { _SelectedText += "..."; } } i++; } _SelectedText = _SelectedText.Trim(); if (_SelectedText.Substring(_SelectedText.Length - 1, 1) == ",") { _SelectedText = _SelectedText.Substring(0, _SelectedText.Length - 1); } if (_SelectedText.Length > 0) { _SelectedText = "(" + RFMUtilities.Occurs(_SelectedIDList, ",").ToString() + "): " + _SelectedText.Trim(); } txtOutputsChoosen.Text = _SelectedText; ttToolTip.SetToolTip(txtOutputsChoosen, txtOutputsChoosen.Text); } _SelectedIDList = null; _SelectedText = ""; }
private void btnSave_Click(object sender, EventArgs e) { int nDistance = (int)numDistance.Value; int nDistanceOld = oTrip.Distance; dgvOutputsDocuments.GridSource.Filter = ""; int nNegative = -1; DataRow dr; DataGridViewRow dgvr; for (int i = 0; i < dgvOutputsDocuments.Rows.Count; i++) { dgvr = dgvOutputsDocuments.Rows[i]; if (dgvr.Cells["dgvcDurationMinutesFact"].Value != DBNull.Value && (int)dgvr.Cells["dgvcDurationMinutesFact"].Value < 0) { nNegative = i; break; } } if (nNegative >= 0) { dgvOutputsDocuments.GridSource.Filter = "IsUnique"; RFMMessage.MessageBoxError("Укажите правильное время пребывания у клиента..."); dgvOutputsDocuments.Rows[nNegative].Cells["dgvcTimeEnd"].Selected = true; dgvOutputsDocuments.BeginEdit(true); return; } bool bFind = (nDistance != nDistanceOld); if (!bFind) { for (int i = 0; i < dt.Rows.Count; i++) { dr = dt.Rows[i]; if (dr["DurationMinutesFact"] != DBNull.Value && (int)dr["DurationMinutesFact"] > 0) { bFind = true; break; } } } if (!bFind) { dgvOutputsDocuments.GridSource.Filter = "IsUnique"; RFMMessage.MessageBoxAttention("Нечего сохранять..."); return; } int idMask = -1, idValue, nDuration = 0; DataRowView drv; DateTime? dDateBeg = DateTime.Now, dDateEnd = DateTime.Now; dt.DefaultView.Sort = "PartnerTargetID"; for (int i = 0; i < dt.DefaultView.Count; i++) { drv = dt.DefaultView[i]; idValue = (int)drv["PartnerTargetID"]; if (idMask == idValue) { if (dDateBeg == null) { drv["DateBegFact"] = DBNull.Value; } else { drv["DateBegFact"] = dDateBeg; } if (dDateEnd == null) { drv["DateEndFact"] = DBNull.Value; } else { drv["DateEndFact"] = dDateEnd; } drv ["DurationMinutesFact"] = nDuration; } else { idMask = idValue; if (drv["DateBegFact"] == DBNull.Value) { dDateBeg = null; } else { dDateBeg = (DateTime)drv["DateBegFact"]; } if (drv["DateEndFact"] == DBNull.Value) { dDateEnd = null; } else { dDateEnd = (DateTime)drv["DateEndFact"]; } if (drv["DurationMinutesFact"] == DBNull.Value) { nDuration = 0; } else { nDuration = (int)drv["DurationMinutesFact"]; } } } for (int i = 0; i < dt.Rows.Count; i++) { dr = dt.Rows[i]; if (dr["DurationMinutesFact"] != DBNull.Value && (int)dr["DurationMinutesFact"] > 0) { oOutputDocument.SetDateFact((int)dr["ID"], (DateTime?)dr["DateBegFact"], (DateTime?)dr["DateEndFact"]); if (oOutputDocument.ErrorNumber != 0) { break; } } } if (oOutputDocument.ErrorNumber == 0) { if (nDistance != nDistanceOld) { oTrip.TripDistanceSave(nTripID, nDistance); } DialogResult = DialogResult.Yes; Dispose(); } }
private void btnUsersChoose_Click(object sender, EventArgs e) { _SelectedIDList = null; //sSelectedUsersIDList = ""; User oUser = new User(); oUser.FillDataTree(false); if (oUser.ErrorNumber != 0 || oUser.DS.Tables["TableDataTree"] == null) { RFMMessage.MessageBoxError("ќшибка при получении данных..."); return; } if (oUser.DS.Tables["TableDataTree"].Rows.Count == 0) { RFMMessage.MessageBoxError("Ќет данных..."); return; } if (StartForm(new frmSelectTreeID(this, oUser.DS.Tables["TableDataTree"], true)) == DialogResult.Yes) { if (_SelectedIDList == null || !_SelectedIDList.Contains(",")) { btnUsersClear_Click(null, null); return; } sSelectedUsersIDList = "," + _SelectedIDList; oUser.ClearError(); oUser.IDList = sSelectedUsersIDList; oUser.FillData(); if (oUser.ErrorNumber != 0) { btnUsersClear_Click(null, null); return; } int nCntChoosen = oUser.MainTable.Rows.Count; if (nCntChoosen == 0) { btnUsersClear_Click(null, null); return; } string sSelectedDataText = ""; int i = 0; foreach (DataRow r in oUser.MainTable.Rows) { i++; if (i > 3) { sSelectedDataText += "..."; break; } sSelectedDataText += ", " + r["Name"].ToString().Trim(); } if (sSelectedDataText.StartsWith(",")) { sSelectedDataText = sSelectedDataText.Substring(1).Trim(); } txtUsersChoosen.Text = "(" + nCntChoosen.ToString().Trim() + "): " + sSelectedDataText; ttToolTip.SetToolTip(txtUsersChoosen, txtUsersChoosen.Text); tabHistory.IsNeedRestore = true; } _SelectedIDList = null; }
/// <summary> /// получение полного списка выданных доверенностей в MainTable /// </summary> public override bool FillData() { ClearData(); string sqlSelect = "execute up_WarrantsNumbersFill @nID, @cIDList, " + "@dDateBeg, @dDateEnd, " + "@cNumberContext, " + "@bIsMoney, " + "@cPartnersSourceList, /*@cPartnersDetailsSourceList, */" + "@cPartnersTargetList, /*@cPartnersDetailsTargetList, */" + "@cEmployeesList, " + "@cDeputyNameContext, " + "@cOutputsDocumentsList, @cInputsDocumentsList, @cInputsList, " + "@bIsReturned"; SqlCommand _oCommand = new SqlCommand(sqlSelect, _Connect); _oCommand.CommandTimeout = 0; #region up_WarrantsNumbersFill parameters SqlParameter _oParameter = _oCommand.Parameters.Add("@nID", SqlDbType.Int); if (_ID != null) { _oParameter.Value = _ID; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cIDList", SqlDbType.VarChar); if (_IDList != null) { _oParameter.Value = _IDList; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@dDateBeg", SqlDbType.SmallDateTime); if (_FilterDateBeg.HasValue) { _oParameter.Value = _FilterDateBeg; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@dDateEnd", SqlDbType.SmallDateTime); if (_FilterDateEnd.HasValue) { _oParameter.Value = _FilterDateEnd; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cNumberContext", SqlDbType.VarChar); if (_FilterNumberContext != null) { _oParameter.Value = _FilterNumberContext; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@bIsMoney", SqlDbType.Bit); if (_FilterIsMoney != null) { _oParameter.Value = _FilterIsMoney; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cPartnersSourceList", SqlDbType.VarChar); if (_FilterPartnersSourceList != null) { _oParameter.Value = _FilterPartnersSourceList; } else { _oParameter.Value = DBNull.Value; } /* * _oParameter = _oCommand.Parameters.Add("@cPartnersDetailsSourceList", SqlDbType.VarChar); * if (_FilterPartnersDetailsSourceList != null) * _oParameter.Value = _FilterPartnersDetailsSourceList; * else * _oParameter.Value = DBNull.Value; */ _oParameter = _oCommand.Parameters.Add("@cPartnersTargetList", SqlDbType.VarChar); if (_FilterPartnersTargetList != null) { _oParameter.Value = _FilterPartnersTargetList; } else { _oParameter.Value = DBNull.Value; } /* * _oParameter = _oCommand.Parameters.Add("@cPartnersDetailsTargetList", SqlDbType.VarChar); * if (_FilterPartnersDetailsTargetList != null) * _oParameter.Value = _FilterPartnersDetailsTargetList; * else * _oParameter.Value = DBNull.Value; */ _oParameter = _oCommand.Parameters.Add("@cEmployeesList", SqlDbType.VarChar); if (_FilterEmployeesList != null) { _oParameter.Value = _FilterEmployeesList; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cDeputyNameContext", SqlDbType.VarChar); if (_FilterDeputyNameContext != null) { _oParameter.Value = _FilterDeputyNameContext; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cOutputsDocumentsList", SqlDbType.VarChar); if (_FilterOutputsDocumentsList != null) { _oParameter.Value = _FilterOutputsDocumentsList; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cInputsDocumentsList", SqlDbType.VarChar); if (_FilterInputsDocumentsList != null) { _oParameter.Value = _FilterInputsDocumentsList; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cInputsList", SqlDbType.VarChar); if (_FilterInputsList != null) { _oParameter.Value = _FilterInputsList; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@bIsReturned", SqlDbType.Bit); if (_FilterIsReturned != null) { _oParameter.Value = _FilterIsReturned; } else { _oParameter.Value = DBNull.Value; } #endregion try { _MainTable = FillReadings(new SqlDataAdapter(_oCommand), _MainTable, _MainTableName); _MainTable.PrimaryKey = new DataColumn[] { _MainTable.Columns[_ColumnID] }; _NeedRequery = false; } catch (Exception ex) { _ErrorNumber = -1; _ErrorStr = "Ошибка при получении списка доверенностей..." + Convert.ToChar(13) + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); } return(_ErrorNumber == 0); }
private void btnSave_Click(object sender, EventArgs e) { // контейнер? if (txtFrameBarCode.Text.Length == 0 || oFrame.ID == null) { RFMMessage.MessageBoxError("Не выбран контейнер..."); return; } oFrame.FillData(); if (oFrame.ErrorNumber != 0 || oFrame.MainTable.Rows.Count == 0) { RFMMessage.MessageBoxError("Ошибка при получении данных о контейнере..."); return; } DataRow rFr = oFrame.MainTable.Rows[0]; if (rFr["PalletTypeID"] == DBNull.Value || Convert.ToDecimal(rFr["FrameHeight"]) == 0) { RFMMessage.MessageBoxError("Не заданы геометрические характеристики контейнера..."); btnFrameEdit_Click(null, null); return; } int nFrameID = (int)oFrame.ID; // выбранный товар? decimal nSelectedCnt = 0; int nSelectedRows = 0; string sPackingList = ","; foreach (DataRow r in tCellContent.Rows) { if (Convert.ToDecimal(r["QntCollect"]) != 0) { nSelectedCnt = nSelectedCnt + Convert.ToDecimal(r["QntCollect"]); nSelectedRows++; if (!sPackingList.Contains("," + r["PackingID"].ToString().Trim() + ",")) { sPackingList = sPackingList + r["PackingID"].ToString().Trim() + ","; } } } if (nSelectedCnt == 0) { RFMMessage.MessageBoxError("Не выбраны товары для сбора в контейнер.\nНечего сохранять..."); return; } if (!chkStereo.Checked && RFMPublic.RFMUtilities.Occurs(sPackingList, ",") > 2) { RFMMessage.MessageBoxError("В контейнере не может быть собран разный товар..."); return; } // траффик? ячейка? bool bCreateTraffic = false; bool bDirectToCell = false; int? nCellTargetID = null; if (optNotCreateTraffic.Checked || optCreateTrafficAccommodation.Checked || optCreateTrafficCell.Checked) { // контейнер остается в той же ячейке, по крайней мере пока Cell oCellTemp = new Cell(); oCellTemp.ID = oCellSource.ID; oCellTemp.FillData(); if (oCellTemp.ErrorNumber != 0 || oCellTemp.MainTable.Rows.Count == 0) { RFMMessage.MessageBoxError("Ошибка при получении данных об исходной ячейке..."); return; } if (oCellTemp.MainTable.Rows[0]["ForFrames"] != DBNull.Value && !Convert.ToBoolean(oCellTemp.MainTable.Rows[0]["ForFrames"])) { RFMMessage.MessageBoxError("Исходная ячейка не предназначена для контейнеров..."); return; } } if (optCreateTrafficAccommodation.Checked) { // подбор ячейки по правилам bCreateTraffic = true; } if (optCreateTrafficCell.Checked || optDirectToCell.Checked) { // создать трафик в выбранную ячейку if (optCreateTrafficCell.Checked) { bCreateTraffic = true; } // напрямую в ячейку if (optDirectToCell.Checked) { bDirectToCell = true; } // выбрать ячейку if (cboCellTargetAddress.SelectedValue == null || cboCellTargetAddress.SelectedIndex < 0) { RFMMessage.MessageBoxError("Не выбрана ячейка, в которой следует разместить контейнер..."); return; } Cell oCellTemp = new Cell(); oCellTarget.ID = Convert.ToInt32(cboCellTargetAddress.SelectedValue); oCellTemp.ID = oCellTarget.ID; oCellTemp.FillData(); if (oCellTemp.ErrorNumber != 0 || oCellTemp.MainTable.Rows.Count == 0) { RFMMessage.MessageBoxError("Ошибка при получении данных о конечной ячейке..."); return; } if (oCellTemp.MainTable.Rows[0]["ForFrames"] != DBNull.Value && !Convert.ToBoolean(oCellTemp.MainTable.Rows[0]["ForFrames"])) { RFMMessage.MessageBoxError("Конечная ячейка не предназначена для контейнеров..."); return; } nCellTargetID = (int)cboCellTargetAddress.SelectedValue; } // собственно сохранение DataTable tCellContentSelected = tCellContent.Clone(); foreach (DataRow r in tCellContent.Rows) { if (Convert.ToDecimal(r["QntCollect"]) > 0) { tCellContentSelected.ImportRow(r); } } if (tCellContentSelected.Rows.Count == 0) { RFMMessage.MessageBoxError("Не найдены товары для сбора в контейнер.\nНечего сохранять..."); return; } string sText = ""; if (bCreateTraffic) { sText = sText + " и создать операцию транспортировки для контейнера"; } if (bDirectToCell) { sText = sText + " и выполнить размещение в ячейке"; } if (RFMMessage.MessageBoxYesNo("Выполнить сбор товаров в контейнер" + sText + "?") == DialogResult.Yes) { int nUserID = ((RFMFormBase)Application.OpenForms[0]).UserInfo.UserID; // собственно сохранение oCellSource.NewFrameCollect(nFrameID, tCellContentSelected, bCreateTraffic, bDirectToCell, nCellTargetID, nUserID); // if (oCellSource.ErrorNumber == 0 || oCellSource.ErrorNumber < -100) { DialogResult = DialogResult.Yes; Dispose(); } } }
// собственно заполнение свойств экземпляра объекта данными строки public override bool FillOneRow(DataRow r) { ClearOne(); if (r != null) { try { _ID = Convert.ToInt32(r["ID"]); _Number = r["Number"].ToString(); _NumberInt = Convert.ToInt32(r["NumberInt"]); if (!Convert.IsDBNull(r["DateIssue"])) { _DateIssue = Convert.ToDateTime(r["DateIssue"]); } if (!Convert.IsDBNull(r["DateTill"])) { _DateTill = Convert.ToDateTime(r["DateTill"]); } _PartnerSourceID = Convert.ToInt32(r["PartnerSourceID"]); _PartnerSourceName = r["PartnerSourceName"].ToString(); /* * if (!Convert.IsDBNull(r["PartnerDetailSourceID"])) * _PartnerDetailSourceID = Convert.ToInt32(r["PartnerDetailSourceID"]); * _PartnerDetailSourceFactName = r["PartnerDetailSourceFactName"].ToString(); * _PartnerDetailSourceBankName = r["PartnerDetailSourceBankName"].ToString(); */ _PartnerTargetID = Convert.ToInt32(r["PartnerTargetID"]); _PartnerTargetName = r["PartnerTargetName"].ToString(); /* * _PartnerDetailTargetID = Convert.ToInt32(r["PartnerDetailTargetID"]); * _PartnerDetailTargetFactName = r["PartnerDetailTargetFactName"].ToString(); * _PartnerDetailTargetBankName = r["PartnerDetailTargetBankName"].ToString(); */ if (!Convert.IsDBNull(r["Amount"])) { _Amount = Convert.ToDecimal(r["Amount"]); } if (!Convert.IsDBNull(r["CurrencyID"])) { _CurrencyID = Convert.ToInt32(r["CurrencyID"]); _CurrencyName = r["CurrencyName"].ToString(); } if (!Convert.IsDBNull(r["OutputDocumentID"])) { _OutputDocumentID = Convert.ToInt32(r["OutputDocumentID"]); } if (!Convert.IsDBNull(r["InputDocumentID"])) { _InputDocumentID = Convert.ToInt32(r["InputDocumentID"]); } if (!Convert.IsDBNull(r["InputID"])) { _InputID = Convert.ToInt32(r["InputID"]); } if (!Convert.IsDBNull(r["EmployeeID"])) { _EmployeeID = Convert.ToInt32(r["EmployeeID"]); } _DeputyName = r["DeputyName"].ToString(); _IsMoney = Convert.ToBoolean(r["IsMoney"]); _WarrantObject = r["WarrantObject"].ToString(); if (!Convert.IsDBNull(r["DateReturn"])) { _DateReturn = Convert.ToDateTime(r["DateReturn"]); } _IsReturned = Convert.ToBoolean(r["IsReturned"]); if (!Convert.IsDBNull(r["ERPCode"])) { _ERPCode = r["ERPCode"].ToString(); } } catch (Exception ex) { _ErrorNumber = -100; _ErrorStr = "Ошибка при получении данных о доверенности...\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); } } else { _ErrorNumber = -101; _ErrorStr = "Ошибка при получении данных о доверенности (нет данных)..."; RFMMessage.MessageBoxError(_ErrorStr); } return(_ErrorNumber == 0); }
private void frmCellsNewFrameCollect_Load(object sender, EventArgs e) { bool lResult = true; // параметры ячейки oCellSource.FillData(); if (oCellSource.ErrorNumber != 0 || oCellSource.MainTable.Rows.Count == 0) { RFMMessage.MessageBoxError("Ошибка при получении данных о ячейке..."); lResult = false; } if (lResult) { DataRow r = oCellSource.MainTable.Rows[0]; if (r == null) { RFMMessage.MessageBoxError("Не определена исходная ячейка..."); lResult = false; } /* * if (lResult) * { * // работаем только с контейнерными ячейками * if (r["ForFrames"] != DBNull.Value && !(bool)(r["ForFrames"])) * { * WMSMessage.MessageBoxError("Исходная ячейка не предназначена для контейнеров..."); * lResult = false; * } * } */ if (lResult) { _sAddress = r["Address"].ToString(); lblCellID.Text = _sAddress + " (код " + r["ID"].ToString() + ")"; } if (lResult) { tCellContent.Columns.Add("QntCollect", Type.GetType("System.Decimal")); tCellContent.Columns.Add("BoxCollect", Type.GetType("System.Decimal")); foreach (DataRow rd in tCellContent.Rows) { rd["QntCollect"] = rd["BoxCollect"] = 0; } grdCellsContents_Restore(); } } if (lResult) { // заполнение cbo-классификаторов для приемника lResult = cboStoresZonesTarget_Restore() && cboStoresZonesTypesTarget_Restore() && cboCellTargetAddress_Restore(); oCellTarget.ID = null; if (!lResult) { RFMMessage.MessageBoxError("Ошибка при заполнении классификаторов (контейнеры, товары)..."); } } if (lResult) { lblPackingName.Text = ""; numBoxQnt.Value = 0; numRestQnt.Value = 0; dtpDateValid.Value = DateTime.Now.Date; dtpDateValid.HideControl(false); } // если что-то не получилось - выход if (!lResult) { Dispose(); } grcBoxQnt.AgrType = grcQnt.AgrType = grcPalQnt.AgrType = grcBoxCollect.AgrType = grcQntCollect.AgrType = EnumAgregate.Sum; numBoxQnt.Minimum = numRestQnt.Minimum = 0; pnlDataChange.Enabled = false; btnGridSave.Enabled = false; btnGridUndo.Enabled = false; optCreateTraffic_CheckedChanged(null, null); grdCellsContents.Select(); _bLoaded = true; cboStoresZonesTypesTarget.Enabled = false; }
//получение таблицы складских зон public override bool FillData() { ClearData(); string sqlSelect = "select SZ.ID, SZ.Name, " + "SZT.ShortCode, SZT.AddressMask, " + "SZ.StoreZoneTypeID, SZT.Name as StoreZoneTypeName, " + "SZ.Sequence, SZ.MaxPalletQnt, SZ.Actual, " + "SZ.NamePrefix, SZ.NameSuffix, " + "SZT.ForFrames, SZT.ForStorage, SZT.ForPicking, " + "SZT.ForInputs, SZT.ForOutputs, " + "SZT.Special, " + "SZT.GoodsMono, " + "SZT.Actual as StoreZoneTypeActual " + "from StoresZones SZ " + "left join StoresZonesTypes SZT on SZ.StoreZoneTypeID = SZT.ID " + "where 1 = 1 "; StringBuilder sb = new StringBuilder(sqlSelect); if (StoreZoneID != null) { sb.Append(" and SZ.ID = " + StoreZoneID.ToString()); } if (StoreZoneTypeID != null) { sb.Append(" and SZT.ID = " + StoreZoneTypeID.ToString()); } if (_FilterStoreZoneActual != null) { sb.Append(" and SZ.Actual = " + ((bool)_FilterStoreZoneActual ? "1" : "0")); } if (_FilterStoreZoneTypeActual != null) { sb.Append(" and SZT.Actual = " + ((bool)_FilterStoreZoneTypeActual ? "1" : "0")); } if (_FilterStoreZoneTypeShortCode != null) { sb.Append(" and charindex('" + _FilterStoreZoneTypeShortCode + "', SZT.ShortCode) > 0 "); } if (_FilterStoreZoneTypeForFrames != null) { sb.Append(" and isNull(SZT.ForFrames," + ((bool)_FilterStoreZoneTypeForFrames ? "1" : "0") + ") = " + ((bool)_FilterStoreZoneTypeForFrames ? "1" : "0")); } if (_FilterStoreZoneTypeForStorage != null) { sb.Append(" and SZT.ForStorage = " + ((bool)_FilterStoreZoneTypeForStorage ? "1" : "0")); } if (_FilterStoreZoneTypeForPicking != null) { sb.Append(" and SZT.ForPicking = " + ((bool)_FilterStoreZoneTypeForPicking ? "1" : "0")); } if (_FilterStoreZoneTypeForInputs != null) { sb.Append(" and SZT.ForInputs = " + ((bool)_FilterStoreZoneTypeForInputs ? "1" : "0")); } if (_FilterStoreZoneTypeForOutputs != null) { sb.Append(" and SZT.ForOutputs = " + ((bool)_FilterStoreZoneTypeForOutputs ? "1" : "0")); } sb.Append(" order by SZ.Name, SZ.ID"); SqlCommand _oCommand = new SqlCommand(sb.ToString(), _Connect); try { _MainTable = FillReadings(new SqlDataAdapter(_oCommand), _MainTable, _MainTableName); _TableStoresZones = _DS.Tables[_MainTableName]; // primarykey DataColumn[] pk = new DataColumn[1]; pk[0] = _MainTable.Columns[_ColumnID]; _MainTable.PrimaryKey = pk; _NeedRequery = true; } catch (Exception ex) { _ErrorNumber = -1; _ErrorStr = "ќшибка при получении списка складских зон..." + Convert.ToChar(13) + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); } return(_ErrorNumber == 0); }
/// <summary> /// Расчет длины маршрута /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnCalcRoute_Click(object sender, EventArgs e) { // Установка координат базы Logistics.Properties.Settings set = new Logistics.Properties.Settings(); double nBaseLat, nBaseLng; try { nBaseLat = Convert.ToDouble(set.MapBaseLatitude); nBaseLng = Convert.ToDouble(set.MapBaseLongitude); } catch (Exception ex) { RFMMessage.MessageBoxError("Координаты базы указаны неверно!\r\n" + ex.Message); return; } RFMCursorWait.Set(true); // Входящие параметры Location locOrigin, locDestination; locOrigin = locDestination = new Location(); locOrigin.Latitude = locDestination.Latitude = nBaseLat; locOrigin.Longitude = locDestination.Longitude = nBaseLng; List <int> listPartners = new List <int>(); List <Location> listWayPoints = new List <Location>(); foreach (DataRow r in tableEfficiency.Rows) { // Пропуск статусной строки string sPartnerID = r["PartnerID"].ToString(); if (sPartnerID.Length == 0) { continue; } int nPartnerID = Convert.ToInt32(sPartnerID); string sLat = r["Latitude"].ToString(), sLng = r["Longitude"].ToString(); if (listPartners.IndexOf(nPartnerID) < 0 && sLat.Length > 0 && sLng.Length > 0) { listPartners.Add(nPartnerID); Location loc = new Location(); loc.Latitude = Convert.ToDouble(sLat); loc.Longitude = Convert.ToDouble(sLng); listWayPoints.Add(loc); } } // Исходящие параметры int nDistance = 0, nDuration = 0; string sDistance = "", sDuration = "", sErrorText = ""; List <Location> polyline = new List <Location>(); // Расчет маршрута bool bResult = GoogleService.CalcRoute(locOrigin, locDestination, listWayPoints, out nDistance, out sDistance, out nDuration, out sDuration, out polyline, out sErrorText); RFMCursorWait.Set(false); if (!bResult) { RFMMessage.MessageBoxError(sErrorText); return; } numDistance.Value = (decimal)nDistance / 1000; numTripCost.Value = numDistance.Value * numNormDistance.Value; }
private void frmTripsReturnsActsCreate_Load(object sender, EventArgs e) { if (nOwnerID > 0) { oOwner.ReFillOne(nOwnerID); if (oOwner.HostID.HasValue && oOwner.HostID > 0) { nHostID = oOwner.HostID; } } bool bResult = cboOwner_Restore() && cboGoodsState_Restore(); if (!bResult) { RFMMessage.MessageBoxError("Ошибка при заполнении классификаторов..."); } else { bResult = oTrip.ReFillOne(nTripID) && oTrip.ErrorNumber == 0; if (!bResult) { RFMMessage.MessageBoxError("Ошибка при получении данных о рейсе..."); } else { if (nGoodStateID > 0) { cboGoodsState.SelectedValue = nGoodStateID; cboGoodsState.Enabled = false; } if (nOwnerID > 0) { cboOwner.SelectedValue = nOwnerID; cboOwner.Enabled = false; } chkReturnReadyForWMS.Checked = chkActReadyForWMS.Checked = true; dgvGoods_Restore(); // встать на первую строку, в ячейку "Коробок" if (dgvGoods.RowCount > 0) { dgvGoods.CurrentCell = dgvGoods.Rows[0].Cells["dgvcReturnBox"]; dgvGoods.Select(); } } } if (!bResult) { DialogResult = DialogResult.No; Dispose(); return; } if (nHostID.HasValue && nHostID > 0) { Host oHost = new Host(); if (oHost.Count() > 1) { oHost.ReFillOne((int)nHostID); Text += " [" + oHost.Name + "]"; } } }
private void btnSave_Click(object sender, EventArgs e) { if (dtpDateExtraWork.IsEmpty) { RFMMessage.MessageBoxError("Укажите дату дополнительной внутрискладской работы!"); dtpDateExtraWork.Select(); return; } if (cboUsers.SelectedValue == null || cboUsers.SelectedIndex < 0) { RFMMessage.MessageBoxError("Укажите исполнителя!"); cboUsers.Select(); return; } /* * if (cboOwners.SelectedValue == null || cboOwners.SelectedIndex < 0) * { * RFMMessage.MessageBoxError("Укажите владельца!"); * cboOwners.Select(); * return; * } */ if (txtExtraWork.Text.Trim() == null || txtExtraWork.Text.Trim().Length == 0) { RFMMessage.MessageBoxError("Укажите название дополнительной внутрискладской работы!"); txtExtraWork.Select(); return; } if ((decimal)numQnt.Value == 0) { RFMMessage.MessageBoxError("Укажите объем дополнительной внутрискладской работы!"); numQnt.Select(); return; } if ((decimal)numTarif.Value == 0) { RFMMessage.MessageBoxError("Укажите тариф для дополнительной внутрискладской работы!"); numTarif.Select(); return; } int?nOwnerID = null; if (cboOwners.SelectedIndex >= 0) { nOwnerID = (int)cboOwners.SelectedValue; } oExtraWork.ClearError(); oExtraWork.Save(oExtraWork.ID, (DateTime)dtpDateExtraWork.Value, txtExtraWork.Text.Trim(), nOwnerID, (int)cboUsers.SelectedValue, (decimal)numQnt.Value, (decimal)numTarif.Value, txtNote.Text.Trim()); if (oExtraWork.ErrorNumber == 0) { MotherForm.GotParam = new object[] { (int)oExtraWork.ID }; DialogResult = DialogResult.Yes; Dispose(); } }
public bool Save(int?nUserCreateID) { string _sqlCommand = "execute up_ActsSave @nActID output, " + "@nHostID, " + "@dDateAct, " + "@nOwnerID, @nGoodStateID, " + "@nInputID, @nOutputID, " + "@cNote, " + "@nUserCreateID, " + "@nError output, @cErrorText output"; SqlCommand _oCommand = new SqlCommand(_sqlCommand, _Connect); #region up_ActsSave parameters SqlParameter _oParameter = _oCommand.Parameters.Add("@nActID", SqlDbType.Int); _oParameter.Direction = ParameterDirection.InputOutput; if (_ID.HasValue) { _oParameter.Value = _ID; } else { _oParameter.Value = 0; } _oParameter = _oCommand.Parameters.Add("@nHostID", SqlDbType.Int); _oParameter.Value = _HostID; _oParameter = _oCommand.Parameters.Add("@dDateAct", SqlDbType.SmallDateTime); _oParameter.Value = _DateAct; _oParameter = _oCommand.Parameters.Add("@nOwnerID", SqlDbType.Int); if (_OwnerID.HasValue) { _oParameter.Value = _OwnerID; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nGoodStateID", SqlDbType.Int); if (_GoodStateID.HasValue) { _oParameter.Value = _GoodStateID; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nInputID", SqlDbType.Int); if (_InputID.HasValue) { _oParameter.Value = _InputID; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nOutputID", SqlDbType.Int); if (_OutputID.HasValue) { _oParameter.Value = _OutputID; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cNote", SqlDbType.VarChar); if (_Note != null) { _oParameter.Value = _Note; } else { _oParameter.Value = ""; } _oParameter = _oCommand.Parameters.Add("@nUserCreateID", SqlDbType.Int); if (nUserCreateID.HasValue) { _oParameter.Value = nUserCreateID; } else { _oParameter.Value = 0; // DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nError", SqlDbType.Int); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = 0; _oParameter = _oCommand.Parameters.Add("@cErrorText", SqlDbType.VarChar, 200); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = ""; #endregion // Проверка таблицы расшифровок if (TableActsGoods == null) { _ErrorNumber = -12; _ErrorStr = "Ошибка при попытке сохранения акта...\r\n" + "Нулевая таблица расшифровок акта"; RFMMessage.MessageBoxError(_ErrorStr); return(false); } if (TableActsGoods.Rows.Count == 0) { _ErrorNumber = -11; _ErrorStr = "Ошибка при попытке сохранения акта...\r\n" + "Пустая таблица расшифровок акта"; RFMMessage.MessageBoxError(_ErrorStr); return(false); } try { _Connect.Open(); // таблица товаров if (TableActsGoods != null) { RFMUtilities.DataTableToTempTable(TableActsGoods, "#ActsGoods", _Connect); } _oCommand.ExecuteScalar(); } catch (Exception ex) { _ErrorNumber = -10; _ErrorStr = "Ошибка при попытке сохранения акта...\r\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); } finally { _Connect.Close(); } if (_ErrorNumber == 0) { _ErrorNumber = (int)_oCommand.Parameters["@nError"].Value; if (_ErrorNumber != 0) { _ErrorStr = "Ошибка при сохранении акта...\r\n" + _oCommand.Parameters["@cErrorText"].Value; RFMMessage.MessageBoxError(_ErrorStr); } // при создании нового акта - получим его код if ((!_ID.HasValue || _ID == 0) && !Convert.IsDBNull(_oCommand.Parameters["@nActID"].Value)) { _ID = (int)_oCommand.Parameters["@nActID"].Value; } } return(_ErrorNumber == 0); }
private void frmShowMap_Load(object sender, EventArgs e) { #region Проверка режима работы if (sMode != "T" && sMode != "P") { Close(); return; } #endregion #region Получение установок "Координаты центра карты" и "Координаты базы" Logistics.Properties.Settings set = new Logistics.Properties.Settings(); #region Установка центра карты try { nMapCenterLatitude = Convert.ToDouble(set.MapCenterLatitude); nMapCenterLongitude = Convert.ToDouble(set.MapCenterLongitude); wfpRadMapControl.SetMapCenter(nMapCenterLatitude, nMapCenterLongitude); } catch (Exception ex) { RFMMessage.MessageBoxError("Координаты центра карты указаны неверно!\r\n" + ex.Message); return; } #endregion #region Установка координат базы try { nBaseLat = Convert.ToDouble(set.MapBaseLatitude); nBaseLng = Convert.ToDouble(set.MapBaseLongitude); wfpRadMapControl.SetBaseLocation(nBaseLat, nBaseLng); } catch (Exception ex) { RFMMessage.MessageBoxError("Координаты базы указаны неверно!\r\n" + ex.Message); return; } #endregion #endregion #region ежим "Маршрут" if (sMode == "T") { if (!ShowTrip()) { Close(); return; } } #endregion #region ежим "Партнер" if (sMode == "P") { if (!ShowPartner()) { Close(); return; } } #endregion }
private void frmPartnersEdit_Load(object sender, EventArgs e) { bool bResult = true; oPartner.ID = nPartnerID; // классификаторы bResult = cboZone_Restore() && cboPermitLevel_Restore(); /*&& cboPartnerRoot_Restore();*/ if (bResult) { cboPartnerRoot.SelectedIndex = cboZone.SelectedIndex = cboPermitLevel.SelectedIndex = -1; if (nPartnerID.HasValue && (int)nPartnerID != 0) { // существующий клиент bResult = oPartner.ReFillOne((int)nPartnerID) && (oPartner.ErrorNumber == 0); if (bResult) { Text += " (код " + nPartnerID.ToString() + ")"; txtNаme.Text = oPartner.Name; chkActual.Checked = oPartner.Actual; chkIsCustomer.Checked = oPartner.IsCustomer; chkIsSupplier.Checked = oPartner.IsSupplier; chkIsTransport.Checked = oPartner.IsTransport; chkIsOwner.Checked = oPartner.IsOwner; chkSeparatePicking.Checked = oPartner.SeparatePicking; chkIsOwner_CheckedChanged(null, null); txtContactsInfo.Text = oPartner.ContactsInfo; if (oPartner.PartnerRootID.HasValue) { cboPartnerRoot.SelectedValue = oPartner.PartnerRootID; } if (oPartner.ZoneID.HasValue) { cboZone.SelectedValue = oPartner.ZoneID; } if (oPartner.PermitLevelID.HasValue) { cboPermitLevel.SelectedValue = oPartner.PermitLevelID; } txtDeliveryAddress.Text = oPartner.DeliveryAddress; txtDeliveryPassage.Text = oPartner.DeliveryPassage; txtDeliveryRestriction.Text = oPartner.DeliveryRestriction; txtGravity.Text = oPartner.Gravity; txtNote.Text = oPartner.Note; // CoordinatesX, CoordinatesY txtLatitude.Text = (oPartner.Latitude.HasValue ? oPartner.Latitude.ToString() : ""); txtLongitude.Text = (oPartner.Longitude.HasValue ? oPartner.Longitude.ToString() : ""); numDistance.Value = oPartner.Distance; chkPassengerCarOnly.Checked = oPartner.PassengerCarOnly; chkPosternOnly.Checked = oPartner.PosternOnly; chkLoadLiftOnly.Checked = oPartner.LoadLiftOnly; // покажем верхнюю запись из PartnersDetail oPartner.FillTablePartnersDetails((int)oPartner.ID); if (oPartner.TablePartnersDetails.Rows.Count > 0) { DataRow p = oPartner.TablePartnersDetails.Rows[0]; txtLegalName.Text = p["LegalName"].ToString(); txtLegalAddress.Text = p["LegalAddress"].ToString(); txtFactName.Text = p["FactName"].ToString(); txtFactAddress.Text = p["FactAddress"].ToString(); txtPhone.Text = p["Phone"].ToString(); txtInn.Text = p["Inn"].ToString(); txtKpp.Text = p["Kpp"].ToString(); txtContractNumber.Text = p["ContractNumber"].ToString(); if (!Convert.IsDBNull(p["ContractDate"])) { dtpContractDate.Value = Convert.ToDateTime(p["ContractDate"]); } else { dtpContractDate.HideControl(false); } txtBankName.Text = p["BankName"].ToString(); txtBankAddress.Text = p["BankAddress"].ToString(); txtPAccount.Text = p["PAccount"].ToString(); txtCAccount.Text = p["CAccount"].ToString(); txtBik.Text = p["Bik"].ToString(); txtOkonh.Text = p["Okonh"].ToString(); txtOkpo.Text = p["Okpo"].ToString(); txtJobTitleDirector.Text = p["JobTitleDirector"].ToString(); txtFioDirector.Text = p["FioDirector"].ToString(); txtJobTitleAccountant.Text = p["JobTitleAccountant"].ToString(); txtFioAccountant.Text = p["FioAccountant"].ToString(); } // // стр.Дополнительно chkDateValidControl.Checked = oPartner.DateValidControl; chkPalletsAgreement.Checked = oPartner.PalletsAgreement; chkFactPaymentOnly.Checked = oPartner.FactPaymentOnly; txtTimeWork.Text = oPartner.TimeWork; txtTimeReceipt.Text = oPartner.TimeReceipt; txtTimePay.Text = oPartner.TimePay; txtTimeRest.Text = oPartner.TimeRest; numStayMinutes.Value = oPartner.StayMinutes; // стр.Шаблоны if (oPartner.PF_BillName != null && oPartner.PF_BillName.Length > 0) { txtPF_BillName.Text = oPartner.PF_BillName; } numPF_BillCopiesCount.Value = oPartner.PF_BillCopiesCount; chkPF_Bill.Checked = txtPF_BillName.Text.Trim().Length > 0 || numPF_BillCopiesCount.Value > 0; if (oPartner.PF_FactureName != null && oPartner.PF_FactureName.Length > 0) { txtPF_FactureName.Text = oPartner.PF_FactureName; } numPF_FactureCopiesCount.Value = oPartner.PF_FactureCopiesCount; chkPF_Facture.Checked = txtPF_FactureName.Text.Trim().Length > 0 || numPF_FactureCopiesCount.Value > 0; if (oPartner.PF_PayBillName != null && oPartner.PF_PayBillName.Length > 0) { txtPF_PayBillName.Text = oPartner.PF_PayBillName; } numPF_PayBillCopiesCount.Value = oPartner.PF_PayBillCopiesCount; chkPF_PayBill.Checked = txtPF_PayBillName.Text.Trim().Length > 0 || numPF_PayBillCopiesCount.Value > 0; txtShopCode.Text = oPartner.ShopCode; // стр.Ветеринария txtVeterinaryPartnerName.Text = oPartner.VeterinaryPartnerName; txtVeterinaryPermission.Text = oPartner.VeterinaryPermission; // not used /* * chkFactureNeed.Checked = oPartner.FactureNeed; * chkWarrantNeed.Checked = oPartner.WarrantNeed; * chkPaymentOrderNeed.Checked = oPartner.PaymentOrderNeed; * chkOtherDocumentsNeed.Checked = oPartner.OtherDocumentsNeed; * chkQualityLicenceNeed.Checked = oPartner.QualityLicenceNeed; * chkVeterinaryLicenceNeed.Checked = oPartner.VeterinaryLicenceNeed; */ } if (oPartner.DrivingScheme != null && !Convert.IsDBNull(oPartner.DrivingScheme)) { byte[] bsPhoto = oPartner.DrivingScheme; MemoryStream ms = new MemoryStream(bsPhoto); try { picDrivingScheme.Image = new Bitmap(ms); } catch (Exception ex) { RFMMessage.MessageBoxError("Ошибка загрузки схемы проезда: " + ex.Message); } } } else { // новый клиент chkActual.Checked = true; } // только просмотр if (bNoEdit) { RFMPanelGlass pnlGlass = new RFMPanelGlass(); pnlGlass.Top = pnlData.Top; pnlGlass.Left = pnlData.Left; pnlGlass.Width = pnlData.Width; pnlGlass.Height = pnlData.Height; Controls.Add(pnlGlass); pnlGlass.BringToFront(); btnSave.Select(); btnSave.Enabled = false; Text += " - просмотр"; } else { // доступность полей DBTable dbTable = new DBTable(); foreach (Control oControlTemp in Controls) { ControlEnable(dbTable, oControlTemp); } } chkPF_Bill_CheckedChanged(null, null); chkPF_Facture_CheckedChanged(null, null); chkPF_PayBill_CheckedChanged(null, null); } if (!bResult) { Dispose(); } bLoaded = true; }
private bool ShowTrip() { wfpRadMapControl.Mode = "T"; #region Переменные для вычисления составляющих маршрута int pointsCount = 0, tripsCount = 0, wrongPartners = 0; double nLongitude, nLatitude; string sName, sDeliveryAddress, sLongitude, sLatitude; string sWrongPartners = ""; string sTripID = "*", sCurTripID = "", sCarName = ""; #endregion #region Формирование строки с координатами foreach (DataRow row in tPartnersTable.Rows) { // Обработка номера маршрута if (isTripNumberExists) { sCurTripID = row["TripID"].ToString(); if (sTripID == "*") // Обработка первой точки { sTripID = sCurTripID; tripsCount = 0; } if (sTripID != sCurTripID) { sTripID = sCurTripID; tripsCount++; } } if (isCarNameExists) { sCarName = row["CarName"].ToString(); } #region Получение географических координат sLongitude = row["Longitude"].ToString(); sLatitude = row["Latitude"].ToString(); #endregion #region Получение названия и адреса партнера // Название партнера (с отбрасыванием символов " и ') sName = row["Name"].ToString(); sName = sName.Replace("\"", "").Replace("'", ""); // Адрес доставки (с заменой символа " на ') sDeliveryAddress = row["DeliveryAddress"].ToString(); sDeliveryAddress = sDeliveryAddress.Replace("\"", "").Replace("'", ""); #endregion if (sLongitude.Length > 0 && sLatitude.Length > 0) { #region Приведение координат партнера try { nLongitude = Convert.ToDouble(sLongitude); nLatitude = Convert.ToDouble(sLatitude); } catch { continue; } #endregion pointsCount++; #region Добавление партнера wfpRadMapControl.CreateStaticPartner( nLatitude, nLongitude, sName + CRLF + sDeliveryAddress + CRLF + sCarName, new SolidColorBrush(aColors[tripsCount % aColors.Length]) ); #endregion } else { wrongPartners++; if (wrongPartners <= 20) { sWrongPartners += sName + CRLF; } else { if (!sWrongPartners.EndsWith("...")) { sWrongPartners += "..."; } } } } #endregion #region Проверка наличия точек if (pointsCount == 0) { RFMMessage.MessageBoxError("Нет данных о координатах партнеров!"); return(false); } // Отображение точек с проблемами if (sWrongPartners.Length > 0) { sWrongPartners = "Следующие " + wrongPartners.ToString() + " партнер(ов) не имеют координат:\r\n" + sWrongPartners; RFMMessage.MessageBoxInfo(sWrongPartners); } #endregion wfpRadMapControl.SetBestView(); return(true); }
// собственно заполнение свойств экземпляра объекта данными строки public override bool FillOneRow(DataRow r) { ClearOne(); if (r != null) { try { _ID = Convert.ToInt32(r["ID"]); _DateReturn = Convert.ToDateTime(r["DateReturn"]); _DateCreate = Convert.ToDateTime(r["DateCreate"]); _AutoCreated = Convert.ToBoolean(r["AutoCreated"]); if (!Convert.IsDBNull(r["OwnerID"])) { _OwnerID = Convert.ToInt32(r["OwnerID"]); } _OwnerName = r["OwnerName"].ToString(); if (!Convert.IsDBNull(r["GoodStateID"])) { _GoodStateID = Convert.ToInt32(r["GoodStateID"]); } _GoodStateName = r["GoodStateName"].ToString(); if (!Convert.IsDBNull(r["TripID"])) { _TripID = Convert.ToInt32(r["TripID"]); } _TripAlias = r["TripAlias"].ToString(); _Note = r["Note"].ToString(); if (!Convert.IsDBNull(r["DateConfirm"])) { _DateConfirm = Convert.ToDateTime(r["DateConfirm"]); } _IsConfirmed = Convert.ToBoolean(r["IsConfirmed"]); _ReadyForWMS = Convert.ToBoolean(r["ReadyForWMS"]); _SentToWMS = Convert.ToBoolean(r["SentToWMS"]); if (!Convert.IsDBNull(r["UserCreateID"])) { _UserCreateID = Convert.ToInt32(r["UserCreateID"]); } _UserCreateName = r["UserCreateName"].ToString(); if (!Convert.IsDBNull(r["DateCreate"])) { _DateCreate = Convert.ToDateTime(r["DateCreate"]); } if (!Convert.IsDBNull(r["HostID"])) { _HostID = Convert.ToInt32(r["HostID"]); } _HostName = r["HostName"].ToString(); if (!Convert.IsDBNull(r["ERPCode"])) { _ERPCode = r["ERPCode"].ToString(); } } catch (Exception ex) { _ErrorNumber = -100; _ErrorStr = "Ошибка при получении данных об возврате...\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); } } else { _ErrorNumber = -101; _ErrorStr = "Ошибка при получении данных об возврате (нет данных)..."; RFMMessage.MessageBoxError(_ErrorStr); } return(_ErrorNumber == 0); }
/// <summary> /// Конструктор для отображения маршрута /// </summary> /// <param name="PartnersTable">Таблица с точками маршрута</param> public frmShowMap(DataTable PartnersTable, bool IsOneRoute) { #region Входящие параметры tPartnersTable = PartnersTable; isOneRoute = IsOneRoute; #endregion #region Проверка входящей таблицы if (IsValid) { if (tPartnersTable == null || tPartnersTable.Rows.Count == 0 || tPartnersTable.Columns.Count == 0) { RFMMessage.MessageBoxError("Получена пустая таблица!"); IsValid = false; } } if (IsValid) { if (tPartnersTable.Rows.Count > 1000) { RFMMessage.MessageBoxError("Слишком много точек!"); IsValid = false; } } #endregion #region Проверка наличия необходимых полей // Входящая таблица должна содержать как минимум следующие поля: // Name - название партнера // DeliveryAddress - адрес доставки // Latitude - географическая широта // Longitude - географическая долгота if (IsValid) { try { string testValue; testValue = tPartnersTable.Rows[0]["Name"].ToString(); testValue = tPartnersTable.Rows[0]["DeliveryAddress"].ToString(); testValue = tPartnersTable.Rows[0]["Latitude"].ToString(); testValue = tPartnersTable.Rows[0]["Longitude"].ToString(); } catch { RFMMessage.MessageBoxError("Полученная таблица имеет некорректную структуру!"); IsValid = false; } } sMode = "T"; #endregion #region Проверка наличия дополнительных полей if (IsValid) { // № рейса try { string testValue; testValue = tPartnersTable.Rows[0]["TripID"].ToString(); isTripNumberExists = true; } catch { isTripNumberExists = false; } // Название машины try { string testValue; testValue = tPartnersTable.Rows[0]["CarName"].ToString(); isCarNameExists = true; } catch { isCarNameExists = false; } } #endregion if (IsValid) { InitializeComponent(); } }
private void btnSave_Click(object sender, EventArgs e) { int nCellID = Convert.ToInt32(oCell.ID); // всякие проверки if (oCell.TableCellsContents.Rows.Count == 0) { RFMMessage.MessageBoxError("В ячейке нет ни одного товара.\nНечего сохранять..."); return; } int nCntNoChanges = 0; int nCntAdd = 0; int nCntDel = 0; int nCntEdt = 0; foreach (DataRow r in oCell.TableCellsContents.Rows) { if (r["Changes"].ToString() == "D") { nCntDel++; } if (r["Changes"].ToString() == "A") { nCntAdd++; } if (r["Changes"].ToString() == "E") { nCntEdt++; } if (r["Changes"].ToString().Length == 0) { nCntNoChanges++; } } if (nCntAdd == 0 && nCntDel == 0 && nCntEdt == 0) { RFMMessage.MessageBoxError("Нет изменений в содержимом ячейки.\nНечего сохранять..."); return; } string sText = "Ячейка " + _sAddress + "\n"; if (nCntNoChanges > 0) { sText = sText + "\nВ ячейке находятся товары: " + nCntNoChanges.ToString(); } if (nCntDel > 0) { sText = sText + "\nИз ячейки удаляются товары: " + nCntDel.ToString(); } if (nCntAdd > 0) { sText = sText + "\nВ ячейку добавляются товары: " + nCntAdd.ToString(); } if (nCntEdt > 0) { sText = sText + "\nВ ячейке изменяется количество/срок годности товаров: " + nCntEdt.ToString(); } sText = sText + "\n\nСохранить?"; if (RFMMessage.MessageBoxYesNo(sText) == DialogResult.Yes) { Refresh(); WaitOn(this); int? nUserID = ((RFMFormMain)Application.OpenForms[0]).UserID; int? nDeviceID = null; string sNoteManual = txtNoteManual.Text.Trim(); // собственно сохранение oCell.MedicationNotFrames(nCellID, oCell.TableCellsContents, nUserID, nDeviceID, sNoteManual); // WaitOff(this); if (oCell.ErrorNumber == 0) { DialogResult = DialogResult.Yes; Dispose(); } } }
private void frmFramesEdit_Load(object sender, EventArgs e) { // заполнение cbo-классификаторов bool lResult = cboPalletsTypes_Restore(); if (!lResult) { RFMMessage.MessageBoxError("Ошибка при заполнении классификаторов (геометрия контейнера)..."); return; } DataRow r = oFrame.MainTable.Rows[0]; if (r == null) { RFMMessage.MessageBoxError("Не найдена запись для контейнера с кодом " + r["ID"].ToString() + " в таблице контейнеров..."); return; } // заполняем элементы по первой ячейке if (r["PalletTypeID"] == DBNull.Value) { cboPalletsTypes.SelectedIndex = -1; } else { cboPalletsTypes.SelectedValue = (int)r["PalletTypeID"]; } if (r["FrameHeight"] == DBNull.Value) { numFrameHeight.Value = 0; } else { numFrameHeight.Value = Convert.ToDecimal(r["FrameHeight"]); } // ------- if (oFrame.MainTable.Rows.Count == 1) { // выбран один контейнер txtBarCode.Text = r["BarCode"].ToString(); txtFrameID.Text = r["ID"].ToString(); txtCnt.Text = "Выбрано контейнеров: 1"; chkPalletsTypes.Visible = false; chkFrameHeight.Visible = false; } else { // выбрано несколько контейнеров txtBarCode.Text = ""; txtFrameID.Text = ""; txtCnt.Text = "Выбрано контейнеров: " + oFrame.MainTable.Rows.Count.ToString(); foreach (DataRow rx in oFrame.MainTable.Rows) { if (cboPalletsTypes.SelectedIndex == -1 && rx["PalletTypeID"] != DBNull.Value || cboPalletsTypes.SelectedIndex >= 0 && rx["PalletTypeID"] == DBNull.Value || cboPalletsTypes.SelectedIndex >= 0 && ((int)cboPalletsTypes.SelectedValue != (int)rx["PalletTypeID"])) { cboPalletsTypes.SelectedIndex = -1; txtPalletsTypes.Text = "...разные значения..."; } if (numFrameHeight.Value != -1 && rx["FrameHeight"] != DBNull.Value || numFrameHeight.Value >= 0 && rx["FrameHeight"] == DBNull.Value || numFrameHeight.Value >= 0 && (numFrameHeight.Value != Convert.ToDecimal(rx["FrameHeight"]))) { numFrameHeight.Value = 0; txtFrameHeight.Text = "...разные значения..."; } } chkPalletsTypes_CheckedChanged(null, null); chkFrameHeight_CheckedChanged(null, null); } _bLoaded = true; }