Esempio n. 1
0
        public override void BarItemClick(BOS.Core.DynamicForm.PlugIn.Args.BarItemClickEventArgs e)
        {
            base.BarItemClick(e);
            switch (e.BarItemKey)
            {
            case "tbAmountAllocation":
                //点击“金额分摊”功能后,重新计算销售增值税专用发票的单据体分录“含税单价”,含税单价=原价*折扣率;
                EntryEntity             entryEntity = this.View.BusinessInfo.GetEntryEntity("FSALESICENTRY");
                DynamicObjectCollection rows        = this.View.Model.GetEntityDataObject(entryEntity);
                decimal disaccount = Convert.ToDecimal(this.View.Model.GetValue("F_PAEZ_disaccount"));    //折扣率
                int     rowCount   = rows.Count;
                for (int i = 0; i < rowCount; i++)
                {
                    decimal origPrice = Convert.ToDecimal(this.View.Model.GetValue("F_PAEZ_origPrice", i)); //原价
                    //5、	金额分摊时,要把折扣率和折扣额清零,否则会造成折上折
                    this.View.Model.SetValue("FENTRYDISCOUNTRATE", 0, i);                                   //折扣率%
                    this.View.Model.SetValue("FDISCOUNTAMOUNTFOR", 0, i);                                   //折扣额

                    this.View.Model.SetValue("FAUXTAXPRICE", origPrice * disaccount, i);                    //含税单价=原价*折扣率
                }
                return;
            }
        }
Esempio n. 2
0
        public override void BarItemClick(BOS.Core.DynamicForm.PlugIn.Args.BarItemClickEventArgs e)
        {
            base.BarItemClick(e);

            string PformId = this.View.BillBusinessInfo.GetForm().Id;

            switch (PformId)
            {
            case "STK_InStock":      //采购入库
                tableName = "T_STK_INSTOCKENTRY";

                break;

            case "STK_MISCELLANEOUS":    //其他入库
                tableName = "T_STK_MISCELLANEOUSENTRY";

                break;

            case "SP_InStock":    //简单生产入库
                tableName = "T_SP_INSTOCKENTRY";

                break;

            case "STK_InitInStock":    //期初采购入库
                tableName = "T_STK_INITINSTOCKENTRY";

                break;

            case "STK_OEMInStock":    //受托加工材料入库
                tableName = "T_STK_OEMINSTOCKENTRY";

                break;

            case "STK_InvInit":
                tableName = "T_STK_INVINITDETAIL";
                break;

            default: break;
            }



            if (e.BarItemKey.Equals("tbQANo"))
            {
                List <string> ids      = new List <string>(); //所选择行的数据ID
                List <string> entryIds = new List <string>(); //所选择行的数据ID
                List <int>    lotIds   = new List <int>();
                string        sql      = "";


                ListSelectedRowCollection selectedRowsInfo = this.ListView.SelectedRowsInfo;
                if (selectedRowsInfo.Count == 0)
                {
                    this.ListView.ShowMessage("请选择至少一条数据!");
                    e.Cancel = true;
                }
                else
                {
                    foreach (var one in selectedRowsInfo)
                    {
                        if (null == one.EntryEntityKey)
                        {
                            ids.Add(one.PrimaryKeyValue);
                        }
                        else
                        {
                            entryIds.Add(one.EntryPrimaryKeyValue);
                        }
                    }
                    if (entryIds.Count != 0)
                    {
                        sql = string.Format("SELECT FLOT FROM {0} WHERE FLOT<>0 AND  FENTRYID IN  ({1})", tableName, string.Join(",", entryIds));
                    }
                    else if (ids.Count != 0)
                    {
                        sql = string.Format("SELECT FLOT FROM {0} WHERE  FLOT<>0 AND  fid IN  ({1})", tableName, string.Join(",", ids));
                    }

                    using (IDataReader reader = DBUtils.ExecuteReader(this.Context, sql))
                    {
                        while (reader.Read())
                        {
                            int s = reader.GetInt32(0);
                            lotIds.Add(s);
                        }
                    }

                    ShowBemForm(string.Join("','", ids), string.Join("','", entryIds), string.Join("','", lotIds), PformId);
                }
            }
        }