private void frmOutputsDocumentsGuiltyEmployees_Load(object sender, EventArgs e) { bool bResult = cboOutputDocumentFailReason_Restore(); if (bResult) { if (!bCarry) { // расх_документ bResult = oOutputDocument.ReFillOne(nID); if (bResult) { txtGuiltyEmployees.Text = oOutputDocument.GuiltyEmployees; chkIsDriverFoul.Checked = oOutputDocument.IsDriverFoul; if (bResult) { bResult = grdOutputsDocumentsGoods_Restore(); if (bResult) { // «апрет контролов в зависимости от уровн¤ причины: весь заказ или только отдельные позиции if (oOutputDocument.OutputDocumentFailReasonID.HasValue) { // весь заказ cboOutputDocumentFailReason.SelectedValue = (int)oOutputDocument.OutputDocumentFailReasonID; lblOutputDocument.Font = new Font(lblOutputDocument.Font, FontStyle.Bold); pnlOutputDocumentGoods.Enabled = false; } else { // товары foreach (DataGridViewColumn c in grdOutputsDocumentsGoods.Columns) { c.ReadOnly = !(c.Name.Contains("Guilty")); } cboOutputDocumentFailReason.SelectedIndex = -1; lblOutputDocumentGoods.Font = new Font(lblOutputDocument.Font, FontStyle.Bold); pnlOutputDocument.Enabled = false; } } } } } else { // перенос oOutputDocument.DateOutput = DateTime.Now.Date; bResult = oOutputDocument.FillTableOutputsDocumentsCarries(null, nCarryID) && oOutputDocument.DS.Tables.Contains("TableOutputsDocumentsCarries") && oOutputDocument.DS.Tables["TableOutputsDocumentsCarries"] != null && oOutputDocument.DS.Tables["TableOutputsDocumentsCarries"].Rows.Count == 1; if (bResult) { DataRow doc = oOutputDocument.DS.Tables["TableOutputsDocumentsCarries"].Rows[0]; txtGuiltyEmployees.Text = doc["GuiltyEmployees"].ToString(); chkIsDriverFoul.Checked = Convert.ToBoolean(doc["IsDriverFoul"]); if (!Convert.IsDBNull(doc["OutputDocumentFailReasonID"])) { cboOutputDocumentFailReason.SelectedValue = Convert.ToInt32(doc["OutputDocumentFailReasonID"]); } lblOutputDocument.Font = new Font(lblOutputDocument.Font, FontStyle.Bold); pnlOutputDocumentGoods.Enabled = false; pnlOutputDocumentGoods.Visible = false; int nShiftHeight = pnlOutputDocumentGoods.Height; pnlOutputDocumentGoods.Height = 0; MinimumSize = new Size(Width, Height - nShiftHeight); Height = Height - nShiftHeight; Refresh(); CenterToScreen(); } } } if (!bResult) { Dispose(); return; } }
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(); } }