Диплом: Автоматизация складского учета на примере компании "СДЭК"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
104
return false;
}
finally
{
cmd.Connection.Close();
}
cb.DataSource = dt;
cb.ValueMember = dt.Columns["ID"].ToString();
cb.DisplayMember = dt.Columns["Description"].ToString();
return true;
}
//
//
//
private void SetSqlDataAdapter()
{
daDocEntranceItems.SelectCommand = new SqlCommand(@"SELECT ConstID,
JournalConstID, DocDate, DocNum,
DocStatusID, DigSign, ContragentsID, ContragentsConstID,
ContragentsName, ContractsID, ContractsConstID, ContragentContractsFullName,
WhseID, Destination, CurrencyID,
TotalSum, TotalSumVAT, NumPayments, NumAccompanying
FROM dbo.ViewDocEntranceItems WHERE ConstID = @ConstID", new
SqlConnection(SessionProperties.currentConnectionString));
daDocEntranceItems.SelectCommand.Parameters.Add("@ConstID", SqlDbType.Int);
////////////////////////////////////
daDocEntranceItemRows.SelectCommand = new SqlCommand(@"SELECT ConstID,
ItemsID, ItemsConstID, SLCode, FullName, Qty, QtyOnDoc,
VDEIR.UMID, VDEIR.Price, VDEIR.Summ, VDEIR.VATID,
VDEIR.DescriptionVAT,VDEIR.SumWithVAT,
VDEIR.DocVendorOrdersConstID,VDEIR.DocVendorOrdersRowsConstID,VDEIR.DocVendor
OrdersFullName
FROM ViewDocEntranceItemRows VDEIR
WHERE VDEIR.DocEntranceItemsConstID = @DocEntranceItemsConstID", new
SqlConnection(SessionProperties.currentConnectionString));
daDocEntranceItemRows.SelectCommand.Parameters.Add("@DocEntranceItemsConstID",
SqlDbType.Int).Value = limitedID;
daDocEntranceItemRows.InsertCommand = new SqlCommand(@"SELECT ConstID,
ItemsID, ItemsConstID, SLCode, FullName, Qty, QtyOnDoc,
VDEIR.UMID, VDEIR.Price, VDEIR.Summ,
VDEIR.VATID,VDEIR.DescriptionVAT,VDEIR.SumWithVAT,
VDEIR.DocVendorOrdersConstID,VDEIR.DocVendorOrdersRowsConstID,VDEIR.DocVendor
OrdersFullName
FROM ViewDocEntranceItemRows VDEIR
WHERE VDEIR.ConstID = @ConstID", new
SqlConnection(SessionProperties.currentConnectionString));
daDocEntranceItemRows.InsertCommand.Parameters.Add("@ConstID",
SqlDbType.Int);
105
daDocEntranceItemRows.InsertCommand.UpdatedRowSource =
UpdateRowSource.FirstReturnedRecord;
daDocEntranceItemRows.UpdateCommand = new SqlCommand(@"SELECT ConstID,
ItemsID, ItemsConstID, SLCode, FullName, Qty, QtyOnDoc,
VDEIR.UMID, VDEIR.Price, VDEIR.Summ, VDEIR.VATID,
VDEIR.DescriptionVAT,VDEIR.SumWithVAT,VDEIR.DocVendorOrdersConstID,VDEIR.Do
cVendorOrdersRowsConstID,VDEIR.DocVendorOrdersFullName
FROM ViewDocEntranceItemRows VDEIR
WHERE VDEIR.ConstID = @ConstID", new
SqlConnection(SessionProperties.currentConnectionString));
daDocEntranceItemRows.UpdateCommand.Parameters.Add("@ConstID",
SqlDbType.Int, 0, "ConstID");
daDocEntranceItemRows.UpdateCommand.UpdatedRowSource =
UpdateRowSource.FirstReturnedRecord;
daDocEntranceItemRows.DeleteCommand = new SqlCommand("Select 0", new
SqlConnection(SessionProperties.currentConnectionString));
}
//
//Установка режмима документа
//
private void SetModeDoc(ModeDoc mode)
{
if (mode == ModeDoc.DefaultMode)
{
tlpHeader.Enabled = false;
tlpRows.Enabled = false;
tsHeader.Enabled = true;
tsRows.Enabled = true;
dgvDocEntranceItemRows.Enabled = true;
btnCancel.Text = "Esc - выход";
btnCancel.Tag = ModeDoc.DefaultMode;
dgvDocEntranceItemRows.Focus();
}
if (mode == ModeDoc.EditHeaderMode)
{
tlpHeader.Enabled = true;
tlpRows.Enabled = false;
tsHeader.Enabled = false;
tsRows.Enabled = false;
dgvDocEntranceItemRows.Enabled = false;
btnCancel.Text = "Отмена";
btnCancel.Tag = ModeDoc.EditHeaderMode;
dtpDocDate.Focus();
}
if (mode == ModeDoc.EditRowMode)
{
tlpHeader.Enabled = false;
106
tlpRows.Enabled = true;
tsHeader.Enabled = false;
dgvDocEntranceItemRows.Enabled = false;
tsRows.Enabled = false;
btnCancel.Text = "Отмена";
btnCancel.Tag = ModeDoc.EditRowMode;
tbSLCode.Focus();
}
}
//
//
//
private void Fill_tblDocEntranceItems()
{
tblDocEntranceItems.Clear();
try
{
daDocEntranceItems.SelectCommand.Parameters["@ConstID"].Value = limitedID;
daDocEntranceItems.Fill(tblDocEntranceItems);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message + " \nМетод Fill_tblDocEntranceItems()",
"Ошибка!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
SetHeaderDocEntranceItems();
}
//
//
//
private void SetHeaderDocEntranceItems()
{
if (tblDocEntranceItems.Rows.Count > 0)
{
cbWhse.SelectedValue =
int.Parse(tblDocEntranceItems.Rows[0]["WhseID"].ToString());
tbContragent.Tag = new int[]
{int.Parse(tblDocEntranceItems.Rows[0]["ContragentsID"].ToString()),
int.Parse(tblDocEntranceItems.Rows[0]["ContragentsConstID"].ToString())};
tbContragent.Text = tblDocEntranceItems.Rows[0]["ContragentsName"].ToString();
tbContragentContracts.Tag = new int[]
{int.Parse(tblDocEntranceItems.Rows[0]["ContractsID"].ToString()),
int.Parse(tblDocEntranceItems.Rows[0]["ContractsConstID"].ToString())};
tbContragentContracts.Text =
tblDocEntranceItems.Rows[0]["ContragentContractsFullName"].ToString();
cbDocStatus.SelectedValue =
int.Parse(tblDocEntranceItems.Rows[0]["DocStatusID"].ToString());
dtpDocDate.Value =
DateTime.Parse(tblDocEntranceItems.Rows[0]["DocDate"].ToString());
107
tbAccompanyingNum.Text =
(string)tblDocEntranceItems.Rows[0]["NumAccompanying"];
tbNumPayments.Text = (string)tblDocEntranceItems.Rows[0]["NumPayments"];
_digSign = (string)tblDocEntranceItems.Rows[0]["DigSign"];
tbDocNum.Text = (string)tblDocEntranceItems.Rows[0]["DocNum"];
JournalConstID =
int.Parse(tblDocEntranceItems.Rows[0]["JournalConstID"].ToString());
tbTotalSum.Text =
((decimal)tblDocEntranceItems.Rows[0]["TotalSum"]).ToString("N2");
tbTotalSumVAT.Text =
((decimal)tblDocEntranceItems.Rows[0]["TotalSumVAT"]).ToString("N2");
}
else
{
cbWhse.SelectedValue = -1;
cbDocStatus.SelectedValue = 0;
this.Text = WindowText;
}
this.SetTextInDigSign(WindowText, _digSign);
}
//
//
//
private void Fill_tblDocEntranceItemRows()
{
daDocEntranceItemRows.SelectCommand.Parameters["@DocEntranceItemsConstID"].Value =
limitedID;
tblDocEntranceItemRows.Clear();
try
{
daDocEntranceItemRows.Fill(tblDocEntranceItemRows);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message + " \nМетод Fill_tblDocEntranceItems()",
"Ошибка!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
//
//
//
private void _tbbEditHeader_Click(object sender, EventArgs e)
{
if (!GetRight(objRgtDoc, "e"))
{
MessageBox.Show("Нет прав на редактирование документа\"" + objRgtDoc + "\".
Обратитесь к администратору.","", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
108
}
if (_digSign.Length > 0)
{
MessageBox.Show("Подписанный документ нельзя редактировать");
return;
}
SetModeDoc(ModeDoc.EditHeaderMode);
}
private void btnSaveHeader_Click(object sender, EventArgs e)
{
if (cbWhse.SelectedIndex == -1)
{
MessageBox.Show("Не выбран склад!");
return;
}
if (tbContragent.Tag == null)
{
MessageBox.Show("Не выбран контрагент!");
return;
}
if (tbContragentContracts.Tag == null)
{
tbContragentContracts.Tag = new int[] { 0, 0 };
}
if (!CheckRights.GetAllowedWhse((int)cbWhse.SelectedValue))
{
return;
}
int result = EditDocEntranceItems(limitedID,
dtpDocDate.Value,
JournalConstID: JournalConstID,
ContragentsID: ((int[])tbContragent.Tag)[0],
ContragentsConstID: ((int[])tbContragent.Tag)[1],
ContragentContractsID: ((int[])tbContragentContracts.Tag)[0],
ContragentContractsConstID: ((int[])tbContragentContracts.Tag)[1],
WhseID: (int)cbWhse.SelectedValue,
NumPayments: tbNumPayments.Text,
AccompanyingNum: tbAccompanyingNum.Text,
DocStatusID: (int)cbDocStatus.SelectedValue,
rowStatus: rowStatus,
DigSign: _digSign);
if (result > 0)
{
int tempRowStatus = rowStatus;
if (limitedID == 0)
{
109
limitedID = result;
rowStatus = 1;
}
SetModeDoc(ModeDoc.DefaultMode);
Fill_tblDocEntranceItems();
if (DocChanged != null)
{
DocChanged(this, new DocChangedEventArgs(JournalConstID,
(RowStatus)tempRowStatus,
dtpDocDate.Value));
}
}
}
//
//
//
static public int EditDocEntranceItems(int ConstId,
DateTime docDate,
int JournalConstID = 0,
int ContragentsID = 0,
int ContragentsConstID = 0,
int ContragentContractsID = 0,
int ContragentContractsConstID = 0,
int WhseID = 0,
short CurrencyID = 3,
string NumPayments = "",
string AccompanyingNum = "",
int DocStatusID=0,
int rowStatus = 0,
string DigSign = "")
{
SqlConnection cn = new SqlConnection(SessionProperties.currentConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = cn;
cmd.CommandText = "EditDocEntranceItems";
cmd.Parameters.Add("@ConstID", SqlDbType.Int).Value = ConstId;
cmd.Parameters.Add("@JournalConstID", SqlDbType.Int).Value = JournalConstID;
cmd.Parameters.Add("@DocDate", SqlDbType.DateTime).Value = docDate;;
cmd.Parameters.Add("@ContragentsID", SqlDbType.Int).Value = ContragentsID;
cmd.Parameters.Add("@ContragentsConstID", SqlDbType.Int).Value =
ContragentsConstID;
cmd.Parameters.Add("@ContragentContractsID", SqlDbType.Int).Value =
ContragentContractsID;
cmd.Parameters.Add("@ContragentContractsConstID", SqlDbType.Int).Value =
ContragentContractsConstID;
cmd.Parameters.Add("@WhseID", SqlDbType.Int).Value = WhseID;
cmd.Parameters.Add("@CurrencyID", SqlDbType.TinyInt).Value = CurrencyID;
110
cmd.Parameters.Add("@NumAccompanying", SqlDbType.NVarChar,15).Value =
AccompanyingNum;
cmd.Parameters.Add("@NumPayments", SqlDbType.NVarChar,15).Value =
NumPayments;
cmd.Parameters.Add("@DocStatusID", SqlDbType.Int).Value = DocStatusID;
cmd.Parameters.Add("@DigSign", SqlDbType.NVarChar, 100).Value = DigSign;
cmd.Parameters.Add("@RowStatus", SqlDbType.Int).Value = rowStatus;
cmd.Parameters.Add("@SessionsID", SqlDbType.Int).Value =
SessionProperties.sessionID;
cmd.Parameters.Add("@Res", SqlDbType.Int).Direction = ParameterDirection.Output;
cmd.Parameters.Add("@Msg", SqlDbType.NVarChar, 400).Direction =
ParameterDirection.Output;
SessionProperties.lastError = "";
try
{
cmd.Connection.Open();
cmd.ExecuteNonQuery();
int result = (int)cmd.Parameters["@Res"].Value;
if (result < 0)
{
MessageBox.Show((string)cmd.Parameters["@Msg"].Value, "_btnSaveHat_Click",
MessageBoxButtons.OK, MessageBoxIcon.Stop);
}
return result; //Ошибка хранимой процедуры
}
catch (Exception ex)
{
SessionProperties.lastError = ex.Message;
MessageBox.Show(SessionProperties.lastError, "_btnSaveHat_Click",
MessageBoxButtons.OK, MessageBoxIcon.Stop);
return -99; // Ошибка SQL
}
finally
{
cmd.Connection.Close();
}
}
//
//
//
static public int EditDocEntranceItemRows(int ConstID,
int DocEntranceItemsConstID = 0,
int ItemsID = 0,
int ItemsConstID = 0,
decimal Qty = 0.0M,
decimal QtyOnDoc = 0.0M,
string UMID = "шт",
decimal Price = 0.0M,
int VATID = 0,
int DocVendorOrdersRowsConstID = 0,
111
int RowStatus = 0)
{
SqlConnection cn = new SqlConnection(SessionProperties.currentConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = cn;
cmd.CommandText = "EditDocEntranceItemRows";
cmd.Parameters.Add("@ConstID", SqlDbType.Int).Value = ConstID;
cmd.Parameters.Add("@DocEntranceItemsConstID", SqlDbType.Int).Value =
DocEntranceItemsConstID;
cmd.Parameters.Add("@ItemsID", SqlDbType.Int).Value = ItemsID;
cmd.Parameters.Add("@ItemsConstID", SqlDbType.Int).Value = ItemsConstID;
cmd.Parameters.Add("@Qty", SqlDbType.Decimal).Value = Qty;
cmd.Parameters.Add("@QtyOnDoc", SqlDbType.Decimal).Value = QtyOnDoc;
cmd.Parameters.Add("@UMID", SqlDbType.NVarChar, 3).Value = UMID;
cmd.Parameters.Add("@Price", SqlDbType.Decimal).Value = Price;
cmd.Parameters.Add("@VATID", SqlDbType.Int).Value = VATID;
cmd.Parameters.Add("@DocVendorOrdersRowsConstID", SqlDbType.Int).Value =
DocVendorOrdersRowsConstID;
cmd.Parameters.Add("@SessionsID", SqlDbType.Int).Value =
SessionProperties.sessionID;
cmd.Parameters.Add("@RowStatus", SqlDbType.Int).Value = RowStatus;
cmd.Parameters.Add("@Res", SqlDbType.Int).Direction = ParameterDirection.Output;
cmd.Parameters.Add("@Msg", SqlDbType.NVarChar, 400).Direction =
ParameterDirection.Output;
SessionProperties.lastError = "";
try
{
cmd.Connection.Open();
cmd.ExecuteNonQuery();
int result = (int)cmd.Parameters["@Res"].Value;
if (result < 0)
{
MessageBox.Show((string)cmd.Parameters["@Msg"].Value, "btnOk_Click",
MessageBoxButtons.OK, MessageBoxIcon.Stop);
}
return result;
}
catch (Exception ex)
{
SessionProperties.lastError = ex.Message;
MessageBox.Show(SessionProperties.lastError, "btnOk_Click",
MessageBoxButtons.OK, MessageBoxIcon.Stop);
return -99; // Ошибка SQL
}
finally
{
cmd.Connection.Close();
}
112
}
//
//
//
private void frmEditDocEntranceItems_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
{
btnCancel_Click(btnCancel, new EventArgs());
}
}
//
//
//
private void _tbbAddLine_Click(object sender, EventArgs e)
{
if (!GetRight(objRgtDoc, "e"))
{
MessageBox.Show("Нет прав на редактирование документа\"" + objRgtDoc + "\".
Обратитесь к администратору.", "", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
//проверить статус готовности документа
if ((int)((DataRowView)cbDocStatus.SelectedItem).Row["ID"] == 1)
{
MessageBox.Show("Готовый документ нельзя редактировать");
return;
}
if (tbDocNum.Text.Length == 0)
{
MessageBox.Show("Нельзя добавлять строки в несуществующий документ");
return;
}
SetModeDoc(ModeDoc.EditRowMode);
tbSLCode.Text = "";
tbFullName.Tag = null;
tbFullName.Text = "";
tbQty.Text = "";
tbQtyOnDoc.Text = "";
tbUm.Text = "";
tbPrice.Text = "";
cbVAT.SelectedValue = 0;
btnOk.Tag = 0;
tbSLCode.Focus();
}
private void _tbbEditLine_Click(object sender, EventArgs e)
{
if (!GetRight(objRgtDoc, "e"))
113
{
MessageBox.Show("Нет прав на редактирование документа\"" + objRgtDoc + "\".
Обратитесь к администратору.", "", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (dgvDocEntranceItemRows.CurrentRow == null)
{
return;
}
//проверить статус готовности документа
if ((string)((DataRowView)cbDocStatus.SelectedItem).Row["Description"] == "Готов")
{
MessageBox.Show("Готовый документ нельзя редактировать");
return;
}
if (tbDocNum.Text.Length == 0)
{
MessageBox.Show("Нельзя редактировать строки в несуществующем
документе");
return;
}
SetModeDoc(ModeDoc.EditRowMode);
btnOk.Tag = 1; //RowStatus
tbSLCode.Focus();
}
//
//
//
private void btnOk_Click(object sender, EventArgs e)
{
if (tbFullName.Tag == null)
{
MessageBox.Show("Не задано изделие!","", MessageBoxButtons.OK,
MessageBoxIcon.Warning);
return;
}
if (tbQty.Text.Length == 0)
{
MessageBox.Show("Не задано количество!");
return;
}
if (tbQtyOnDoc.Text.Length == 0)
{
MessageBox.Show("Не задано количество по документу!");
return;
}
decimal Qty, QtyOnDoc, Price;
if (!decimal.TryParse(tbQty.Text, out Qty))

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Agile-методология в управлении проектами на примере ООО «Ресурсный центр «Академия КлассИнфо»
Aвтoмaтизaция пpoцecca вeдeния инфopмaциoннoй бaзы o дoлжнocтяx и вaкaнcияx c укaзaниeм тpeбoвaний к уpoвню знaний и нaвыкoв кaндидaтoв для гpуппы кaдpoв вoйcкoвoй чacти 3474»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
Cовершенствование управления рентабельности предприятия (на примере гуипп «бендерская типография «полиграфист»)
Event - менеджмент: реализация проекта (на примере ООО "АГРОПАК")