コード例 #1
0
        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();
        }
コード例 #2
0
 /// <summary>
 ///     Кнопка: Сохранить
 /// </summary>
 private void SaveData()
 {
     Mris.SaveDistrib(Document.Id, mris.Resource.Id, mris.Unit.Id, TypeNabor, NaborDoc);
 }
コード例 #3
0
        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);
        }