protected override void EntityFieldInit() { if (!V4IsPostBack) { id = Request.QueryString["id"]; idDoc = Request.QueryString["idDoc"]; idParentPage = Request.QueryString["idpp"]; typeNabor = Request.QueryString["type"]; TypeNabor = typeNabor == "Payer"; ParentPage = KescoHub.GetPage(idParentPage) as Nakladnaya; if (ParentPage == null) { ShowMessage(Resx.GetString("errRetrievingPageObject"), Resx.GetString("errPrinting"), MessageStatus.Error); return; } if (!String.IsNullOrEmpty(id) && id != "0") { mris = new Mris(id); CurrentDv = Convert.ToInt32(id); if (mris == null || mris.Id == "0") { throw new LogicalException(Resx.GetString("TTN_ ERRMoveStockInitialized"), "", System.Reflection.Assembly.GetExecutingAssembly().GetName(), Priority.Info); } } else { mris = new Mris { DocumentId = int.Parse(idDoc) }; } SetInitValue(); } Entity = mris; efShipperPayer.Value = TypeNabor ? ParentPage.PayerField.Value : ParentPage.ShipperField.Value; efResource.Value = mris.Resource.Id; efUnit.Value = mris.Unit.Id; efResidence.Value = TypeNabor ? mris.PayerStore.Residence.Id : mris.ShipperStore.Residence.Id; efStore.Value = TypeNabor ? mris.PayerStore.Id : mris.ShipperStore.Id; base.EntityFieldInit(); }
/// <summary> /// Кнопка: Сохранить /// </summary> private void SaveData() { Mris.SaveDistrib(Document.Id, mris.Resource.Id, mris.Unit.Id, TypeNabor, NaborDoc); }
public void SetInitValue() { var Sklad = TypeNabor ? mris.PayerStore : mris.ShipperStore; //получим движения нашего документа по заданному ресурсу var sqlParams = new Dictionary <string, object> { { "@КодДокумента", Document.Id }, { "@КодРесурса", mris.Resource.Id }, { "@КодЕдиницыИзмерения", mris.UnitId } }; DvDoc = DBManager.GetData(SQLQueries.SELECT_DvDoc, Config.DS_document, CommandType.Text, sqlParams); DvDoc.Constraints.Add("pk", DvDoc.Columns["КодДвиженияНаСкладе"], true); if (DvDoc.Rows.Count == 1) { CurrentDv = Convert.ToInt32(DvDoc.Rows[0]["КодДвиженияНаСкладе"]); } sqlParams = new Dictionary <string, object> { { "@КодДокумента", Document.Id }, { "@КодРесурса", mris.ResourceId }, { "@КодЕдиницыИзмерения", mris.UnitId }, }; var sql = TypeNabor ? SQLQueries.SELECT_NaborDocPayer : SQLQueries.SELECT_NaborDocShipper; NaborDoc = DBManager.GetData(sql, CN, CommandType.Text, sqlParams); NaborDoc.Columns.Add("ТипТранзакции", typeof(int)); DataColumn[] fcNaborDoc = { NaborDoc.Columns["КодДвиженияВДокументе"], NaborDoc.Columns["КодДвиженияВНаборе"] }; NaborDoc.Constraints.Add("pk", fcNaborDoc, true); // Приход без набора ost = Mris.GetOstatkiDoc(int.Parse(Sklad.Id), TypeNabor, mris.ResourceId, int.Parse(mris.UnitId.ToString()), int.Parse(Document.Id), Document.Date); Document doc; foreach (DataRow r in ost.Rows) { if (!ostDocs.ContainsKey(r["КодДокумента"])) { doc = new Document(r["КодДокумента"].ToString()); if (doc.Unavailable) { ostDocs.Add(r["КодДокумента"], "#" + r["КодДокумента"].ToString()); } else { ostDocs.Add(r["КодДокумента"], doc.GetFullDocumentName(CurrentUser)); } } //Для получения итогов по типу транзакции дополним наборы этим полем foreach (DataRow nr in NaborDoc.Select("КодДвиженияВНаборе=" + r["КодДвиженияНаСкладе"])) { nr["ТипТранзакции"] = r["ТипТранзакции"]; } } // РасходБезНабора Mris.GetDebit(int.Parse(Sklad.Id), mris.ResourceId, int.Parse(mris.UnitId.ToString()), int.Parse(Document.Id), date, out RashodBezNaboraFakt, out RashodBezNaboraRaschet); }