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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
114
{
MessageBox.Show("Значение в поле КОЛ-ВО задано неверно!");
return;
}
if (!decimal.TryParse(tbQtyOnDoc.Text, out QtyOnDoc))
{
MessageBox.Show("Значение в поле КОЛ-ВО ПО ДОК. задано неверно!");
return;
}
if (!decimal.TryParse(tbPrice.Text, out Price))
{
MessageBox.Show("Значение в поле ЦЕНА задано неверно!");
return;
}
int result = EditDocEntranceItemRows((int)btnOk.Tag == 0? 0:
(int)dgvDocEntranceItemRows.CurrentRow.Cells["ConstID"].Value,
DocEntranceItemsConstID : limitedID,
ItemsID:((int[])tbFullName.Tag)[0],
ItemsConstID: ((int[])tbFullName.Tag)[1],
Qty: Qty,
QtyOnDoc : QtyOnDoc,
UMID: tbUm.Text,
Price: Price,
VATID : (int)cbVAT.SelectedValue,
DocVendorOrdersRowsConstID: _DocVendorOrdersRowsConstID,
RowStatus:(int)btnOk.Tag);
if (result > 0)
{
if ((int)btnOk.Tag == 0)
{
tblDocEntranceItemRows.Rows.Add(tblDocEntranceItemRows.NewRow());
daDocEntranceItemRows.InsertCommand.Parameters["@ConstID"].Value = result;
dgvDocEntranceItemRows.CurrentCell =
dgvDocEntranceItemRows.Rows[LastAddRowsdgvDocEntranceItemRows].Cells[dgvDocEntra
nceItemRows.CurrentCell.ColumnIndex];
}
else if ((int)btnOk.Tag == 1)
{
((DataRowView)dgvDocEntranceItemRows.CurrentRow.DataBoundItem).Row.SetModified();
}
daDocEntranceItemRows.Update(tblDocEntranceItemRows);
SetModeDoc(ModeDoc.DefaultMode);
GetTotalSum(limitedID);
}
}
void ItemSelected(object sender, EventArgs e)
115
{
tbSLCode.Text = SessionProperties.retString2;
tbFullName.Tag = new int[] {SessionProperties.retInt2/*ItemsID*/,
SessionProperties.retInt/*ItemsConstID*/ };
tbFullName.Text = SessionProperties.retString;
tbUm.Text = SessionProperties.retString4/*SLUM*/;
tbPrice.Text = StaticMethods.GetItemPriceOnDate(SessionProperties.retInt,
1/*Закупочная*/, new DateTime(1900, 1, 1)).ToString();
}
private void tbSLCode_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
if (!CanEditRow())
{
dgvDocEntranceItemRows_RowEnter(dgvDocEntranceItemRows, new
DataGridViewCellEventArgs(dgvDocEntranceItemRows.CurrentCell.ColumnIndex,
dgvDocEntranceItemRows.CurrentCell.RowIndex));
return;
}
if (tbSLCode.Text == "")
{
Show_frmListItems();
}
else
{
int ItemsID, ItemsConstID, VATID;
string FullName, SLUM;
if
(StaticMethods.GetItemsOnSlCodeWithCountItems(tbSLCode.Text, out ItemsID, out
ItemsConstID, out VATID, out FullName, out SLUM) == 0)
{
tbFullName.Tag = new int[] { ItemsID,
ItemsConstID };
cbVAT.SelectedValue = VATID;
tbFullName.Text = FullName;
tbUm.Text = SLUM;
tbPrice.Text =
StaticMethods.GetItemPriceOnDate(ItemsConstID, 1/*Закупочная*/, new DateTime(1900, 1,
1)).ToString();
tbQty.Focus();
}
else
{
Show_frmListItems(tbSLCode.Text, 1/*по
SLCode*/);
}
}
}
}
116
private void btnCancel_Click(object sender, EventArgs e)
{
if ((ModeDoc)btnCancel.Tag == ModeDoc.DefaultMode)
this.Close();
else
{
if ((ModeDoc)btnCancel.Tag == ModeDoc.EditHeaderMode)
{
SetHeaderDocEntranceItems();
}
SetModeDoc(ModeDoc.DefaultMode);
}
}
private void _tbbDelLine_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 (dgvDocEntranceItemRows.CurrentRow != null)
{
DialogResult dr = MessageBox.Show("Удалить строку?", "Внимание!",
MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dr == DialogResult.Yes)
{
int result =
EditDocEntranceItemRows((int)dgvDocEntranceItemRows.CurrentRow.Cells["ConstID"].Value
,
RowStatus : 2);
if (result > 0)
{
((DataRowView)dgvDocEntranceItemRows.CurrentRow.DataBoundItem).Row.Delete();
daDocEntranceItemRows.Update(tblDocEntranceItemRows);
GetTotalSum(limitedID);
}
}
}
}
//
//
117
private void dgvDocEntranceItemRows_RowEnter(object sender,
DataGridViewCellEventArgs e)
{
DataRow row =
((DataRowView)dgvDocEntranceItemRows.Rows[e.RowIndex].DataBoundItem).Row;
if (row.RowState == DataRowState.Added)
return;
if (!row.IsNull("ItemsID"))
{
tbSLCode.Text = (string)row["SLCode"];
tbFullName.Tag = new int[] { (int)row["ItemsID"], (int)row["ItemsConstID"] };
tbFullName.Text = (string)row["FullName"];
tbQty.Text = (decimal.Parse(row["Qty"].ToString())).ToString("0.########");
tbQtyOnDoc.Text =
(decimal.Parse(row["QtyOnDoc"].ToString())).ToString("0.########");
tbUm.Text = (string)row["UmID"];
tbPrice.Text = row["Price"].ToString();
cbVAT.SelectedValue = (int)row["VATID"];
_DocVendorOrdersRowsConstID = (int)row["DocVendorOrdersRowsConstID"];
}
}
//
//Ввод поступления ТМЦ на основании заявки поставщику
//
static public int EntranceOnBaseDocVendorOrders(int DocEntranceItemsConstID, int
DocVendorOrdersRowsConstID)
{
SqlCommand cmd = new SqlCommand("EntranceOnBaseDocVendorOrders", new
SqlConnection(SessionProperties.currentConnectionString));
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@DocEntranceItemsConstID", SqlDbType.Int).Value =
DocEntranceItemsConstID;
cmd.Parameters.Add("@DocVendorOrdersRowsConstID", SqlDbType.Int).Value =
DocVendorOrdersRowsConstID;
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;
try
{
cmd.Connection.Open();
cmd.ExecuteNonQuery();
int result = (int)cmd.Parameters["@Res"].Value;
if (result < 0)
{
MessageBox.Show((string)cmd.Parameters["@Msg"].Value, "Ошибка",
MessageBoxButtons.OK, MessageBoxIcon.Stop);
return result;
}
118
else
{
return result;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "EntranceOnBaseDocVendorOrders",
MessageBoxButtons.OK, MessageBoxIcon.Stop);
return -99; //
}
finally
{
cmd.Connection.Close();
}
}
private void btnDelContragentContracts_Click(object sender, EventArgs e)
{
tbContragentContracts.Text = string.Empty;
tbContragentContracts.Tag = new int[] {0,0};
}
private void tbbSignIn_Click(object sender, EventArgs e)
{
if (!GetRight(objRgtDigSign, "e" )) //read only
{
MessageBox.Show("У вас нет прав на подпись документа \"Поступление ТМЦ\"
(" + objRgtDigSign + ")!!!",
"Обратитесь к администратору!!!", MessageBoxButtons.OK,
MessageBoxIcon.Warning);
return;
}
//проверить готовность документа
if ((string)((DataRowView)cbDocStatus.SelectedItem).Row["Description"] == "Не
готов")
{
MessageBox.Show("Подписывать можно только готовый
документ!!!","",MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
frmDigSign frm = new frmDigSign();
frm.Result = _digSign;
if (frm.ShowDialog(this) == DialogResult.OK)
{
int result = EditDocEntranceItems(limitedID, dtpDocDate.Value,
JournalConstID: JournalConstID,
119
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: frm.Result);
if (result > 0)
{
_digSign = frm.Result;
Fill_tblDocEntranceItems();
if (DocChanged != null)
{
DocChanged(this, new DocChangedEventArgs(JournalConstID,
(RowStatus)rowStatus, dtpDocDate.Value));
}
}
}
}
private void _txtQty_KeyPress(object sender, KeyPressEventArgs e)
{
// Если это не цифра.
if (!Char.IsDigit(e.KeyChar))
{
// Запрет на ввод более одной десятичной точки.
TextBox tb = (TextBox)sender;
if (e.KeyChar != ',' || tb.Text.IndexOf(",") != -1)
{
if (e.KeyChar != (int)Keys.Back)
e.Handled = true;
}
}
}
private void btnItems_Click(object sender, EventArgs e)
{
if (!CanEditRow())
return;
Show_frmListItems();
}
private void Show_frmListItems()
{
frmListItems frm = new frmListItems();
frm.rowStatus = -1;
frm.RaiseItemSelected += new EventHandler<EventArgs>(ItemSelected);
frm.Show();
120
}
//
//
//
private void Show_frmListItems(string filterText, int indexFilterBy)
{
frmListItems frm = new frmListItems(filterText, indexFilterBy);
frm.rowStatus = -1;
frm.RaiseItemSelected += new EventHandler<EventArgs>(ItemSelected);
frm.Show();
}
private void btnContragent_Click(object sender, EventArgs e)
{
ShowForm.Show_frmContragentList(FormModes.Select, selectedContragent:
frmContragentList_SelectedContragent);
}
private void frmContragentList_SelectedContragent(object sender,
frmContragentList.SelectedContragentEventArgs e)
{
tbContragent.Tag = new int[] {e.Contragent.Id, e.Contragent.Id};
tbContragent.Text = e.Contragent.ToString();
}
private void btnConvertUM1_Click(object sender, EventArgs e)
{
int itemsConstID;
if (tbFullName.Tag == null)
return;
else
itemsConstID = ((int[])tbFullName.Tag)[1];
if (!FormManager.IsPresent("frmConvertUM", itemsConstID))
{
Button btn = (Button)sender;
frmConvertUM _frmConvertUM = new frmConvertUM();
_frmConvertUM.Owner = this.Owner;
_frmConvertUM.MdiParent = this.MdiParent;
_frmConvertUM.limitedID = itemsConstID;
_frmConvertUM.cbTo.Enabled = false;
_frmConvertUM.CurrentUM = tbUm.Text;
if (btn.Name == btnConvertUM1.Name)
{
_frmConvertUM.QtyFrom = tbQty.Text;
_frmConvertUM.RaiseConvertUMCommitted += Set_txtQty;
}
if (btn.Name == btnConvertUM2.Name)
{
_frmConvertUM.QtyFrom = tbQtyOnDoc.Text;
_frmConvertUM.RaiseConvertUMCommitted += Set_tbQtyOnDoc;
}
121
_frmConvertUM.Show();
}
}
private void Set_txtQty(object sender, EventArgs e)
{
decimal Qty = (decimal)sender;
tbQty.Text = Qty.ToString();
}
private void Set_tbQtyOnDoc(object sender, EventArgs e)
{
decimal Qty = (decimal)sender;
tbQtyOnDoc.Text = Qty.ToString();
}
private void tbbCreditSlipV2_Click(object sender, EventArgs e)
{
if (_digSign == "")
{
MessageBox.Show("Документ не подписан!!!", "Внимание!!!",
MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (dgvDocEntranceItemRows.RowCount == 0)
{
MessageBox.Show("Нет строк!!!", "Внимание!!!", MessageBoxButtons.OK,
MessageBoxIcon.Warning);
return;
}
string WhseCode;
frmRptCreditSlip FrmRptCreditSlip = new frmRptCreditSlip();
FrmRptCreditSlip.Owner = this.Owner;
FrmRptCreditSlip.MdiParent = this.MdiParent;
SqlCommand cmd = new SqlCommand("SELECT Whse FROM Whse WHERE ID = " +
cbWhse.SelectedValue.ToString(), new
SqlConnection(SessionProperties.currentConnectionString));
try
{
cmd.Connection.Open();
WhseCode = (cmd.ExecuteScalar()).ToString();
cmd.Connection.Close();
}
catch (Exception ex)
{
MessageBox.Show("Ошибка!!!", ex.Message, MessageBoxButtons.OK,
MessageBoxIcon.Error);
return;
}
FrmRptCreditSlip.DocNum = tbDocNum.Text + @"/" + WhseCode;
122
FrmRptCreditSlip.StructDept = cbWhse.Text;
FrmRptCreditSlip.DocumDate = dtpDocDate.Value.ToString("dd.MM.yy");
FrmRptCreditSlip.CodeTypeOper = "";
FrmRptCreditSlip.CodeWhse = WhseCode;
FrmRptCreditSlip.NameWhse = cbWhse.Text;
FrmRptCreditSlip.CodeSupplier =
tblDocEntranceItems.Rows[0]["ContragentsConstID"].ToString();
FrmRptCreditSlip.NameSupplier = tbContragent.Text;
FrmRptCreditSlip.Underwriter = string.Empty;
FrmRptCreditSlip.AccountOrSubAccount = string.Empty;
FrmRptCreditSlip.CodeAnalAccounting = string.Empty;
FrmRptCreditSlip.NumAccompanying = tbAccompanyingNum.Text;
FrmRptCreditSlip.NumPayments = tbNumPayments.Text;
try
{
SqlDataAdapter sdr = new SqlDataAdapter(@"SELECT FullName AS Name,SLCode
AS CodeItem,'' AS CodeUnitMeasure, UMID AS NameUnitMeasure,
SUM(QtyOnDoc) AS QtyDoc, SUM(Qty) AS QtyAccepted, Price AS UnitPrice, SUM(Summ)
AS TotalSummPriceRows, SUM(SumWithVAT-Summ) AS SummVAT, SUM(SumWithVAT)
AS TotalSummVATRows,
'' AS NumPassport, '' AS NumCardWhse
FROM ViewDocEntranceItemRows WHERE DocEntranceItemsConstID = " + limitedID + @"
Group BY FullName, SLCode,UMID,Price
", SessionProperties.currentConnectionString);
sdr.Fill(FrmRptCreditSlip.DataSetReportCreditSlip, "DataTableReportCreditSlip");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Ошибка!!!", MessageBoxButtons.OK,
MessageBoxIcon.Error);
return;
}
FrmRptCreditSlip.Show();
}
private void dgvDocEntranceItemRows_RowsAdded(object sender,
DataGridViewRowsAddedEventArgs e)
{
if (e.RowIndex > -1)
{
LastAddRowsdgvDocEntranceItemRows = e.RowIndex;
}
}
private void dgvDocEntranceItemRows_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Insert)
{
_tbbAddLine_Click(null, null);
}
if (e.KeyData == Keys.Enter)
{
123
e.SuppressKeyPress = true;
_tbbEditLine_Click(null, null);
}
if (e.KeyData == Keys.Delete)
{
_tbbDelLine_Click(null, null);
}
}
private void dgvDocEntranceItemRows_CellMouseDoubleClick(object sender,
DataGridViewCellMouseEventArgs e)
{
_tbbEditLine_Click(null, null);
}
private void btnConvertUM1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Enter)
{
btnConvertUM1_Click(sender, null);
}
}
private void tsbEnderDocVenderOrder_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;
}
frmEditDocEntranceItemsUnderDocVendorOrders
_frmEditDocEntranceItemsUnderDocVendorOrders = new
frmEditDocEntranceItemsUnderDocVendorOrders(((int[])tbContragent.Tag)[1],
(int)cbWhse.SelectedValue, ((int[])tbContragentContracts.Tag)[1]);
_frmEditDocEntranceItemsUnderDocVendorOrders.Owner = this.Owner;
_frmEditDocEntranceItemsUnderDocVendorOrders.MdiParent = this.MdiParent;
_frmEditDocEntranceItemsUnderDocVendorOrders.RaiseSelectRows +=
frmEditDocEntranceItemsUnderDocVendorOrders_RaiseSelectRows;

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

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 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 - менеджмент: реализация проекта (на примере ООО "АГРОПАК")