BE来源

by liujjz 2016.9.7 09:00
有时你会遇到,在WebPart执行保存时,会有很多校验,但是如果是BP保存时,也会有这些校验,所以需要加一个字段,来区分是WebPart执行的保存,还是BP执行的保存。但是,我又不想持久化这个字段,所以只要在代码中添加这个字段,即可。

Tags:

F财务

卡片和查找参照的联系

by liujjz 2016.7.26 15:27
注:脚本执行有风险,对于客户正式环境请在研发指导下执行。1、页面加载卡片时,卡片的过滤只参考View.CurrentFilter.Opath。 2、查找确定后,查找的CurrentFilter.Opath会附加到卡片的CurrentFilter.Opath,查找的CurrentFilter.Parameters会附加到卡片的CurrentFilter.Parameters,参数不做特殊处理(注,卡片和查找的参数名要不一样)。

Tags:

F财务

后台精度处理

by 嘉山 2016.5.16 10:31
注:脚本执行有风险,对于客户正式环境请在研发指导下执行。// 确认本币金额 = 确认金额 * 原始折本汇率this.ConfirmFunctionalMoney = this.FunctionalCurrency.MoneyRound.GetRoundValue(this.ConfirmMoney * this.OriginalExchangeRate);

Tags:

F财务

查询表中第一条记录的方法

by 嘉山 2016.3.11 08:59
ExpensePlanLine xx = ExpensePlanLine.Finder.Find("Period.BeginTime<@Period.BeginTime order by Period.BeginTime desc"); Find相当于top 1

Tags:

F财务

UBF报错:Field绑定异常:绑定属性不存在

by liujjz 2016.3.4 11:18
Field绑定异常:绑定属性不存在 [更多...]

Tags:

F财务

UBF发布对象浏览器问题

by liujjz 2016.2.29 15:39
UBF发布对象浏览器 [更多...]

Tags:

F财务

如何添加自定义资源文件

by liujjz 2016.2.25 11:27
自定义资源 [更多...]

Tags:

F财务

多语语言包资源修改

by liujjz 2016.2.23 16:26
1、  打开TemplateReport的UBF项目,即后缀名为ubfanproj的文件,此文件不能直接打开,需要添加到UBF解决方案才可以打开 2、  在UBF工具中,打开任意一个报表模板文件,即后缀名为urdl的文件。 3、  执行菜单栏报表→模型元数据管理功能,打开报表和打印模型元数据管理对话框,连接报表元数据库,找到相应的模板。   4、  通过右侧的语言下拉列表,可以选择相应的语言包,在表格中编辑即可。 5、  修改完成后,点击保存,右击相应的模板,执行导出功能,保存到相应的位置,点击确定后,会生成五个文件,即fd45734f-7574-4598-83de-3973741e7f0bzh-CN.xml(报表ID.xml), UBF_MD_ASRPT_Category@来源明细表e9231aec-ac51-4cb7-a686-54db7f93751b.xml, UBF_MD_ASRPT_Category_Lang@来源明细表e9231aec-ac51-4cb7-a686-54db7f93751b.xml, UBF_MD_ASRPT_ReportTemplate@来源明细表e9231aec-ac51-4cb7-a686-54db7f93751b.xml, UBF_MD_ASRPT_ReportTemplate_Lang@来源明细表e9231aec-ac51-4cb7-a686-54db7f93751b.xml。 6、  将上一步的五个文件复制到U9Data\U9.VOB.Data.V2.5\Upgrade\Support\GL\ReportMD文件夹下,复制之前,需要将这五个文件对应的文件签出,然后替换后,直接覆盖,最后签入(注:即使没有改变,也要签入,且不要强制签入,修改无关XML节点后,再签入,这样补丁包才可以包含相应的文件。    

Tags:

F财务

通过页面lnk查找WebPart

by liujjz 2016.1.12 13:17
例如:http://localhost:8050/erp/display.aspx?lnk=FI.GL.Process.Voucher.Voucher&sId=3002nidselect A.* from aspnet_Parts A left join UBF_Assemble_Part B on  A.FormID=B.Component left join UBF_Assemble_Page C on B.Page=C.ID where C.URI='FI.GL.Process.Voucher.Voucher' 例如http://localhost:8050/ufsoft/simple.aspx?lnk=639f9280-954f-4506-b96f-470ffba84ab3&chromeType=4&ShowType=ShowModal&ParentTaskID=ddbbda45-3335-485a-b8c9-485ee110e99d&PFID=7a8dfe5a-072b-4884-9041-741fd6fe6560&__sk=__SK14992&__curOId=1001509070000016&ShowAtlasModalDialog=trueselect * from aspnet_Parts where formid='639f9280-954f-4506-b96f-470ffba84ab3'

Tags:

F财务

删除DataGrid行事件

by 嘉山 2016.1.12 09:56
注:脚本执行有风险,对于客户正式环境请在研发指导下执行。        /// <summary>        /// 删除DataGrid行重新计算累计余额        /// </summary>        private void OnDeletedRow()        {            AssociationControl _asso = new AssociationControl();            _asso.SourceServerControl = this.DataGrid5;            _asso.SourceControl.EventName = "OnAfterRowDeleted";             ClientCallBackFrm _cf = new ClientCallBackFrm();            _cf.ParameterControls.Add(this.DataGrid5);            _cf.DoCustomerAction += new ClientCallBackFrm.ActionCustomer(_cf_DoCustomerAction_OnAfterRowDeleted);            _cf.Add(_asso);        }

Tags:

F财务

找到实体中的第一条或者最后一条数据

by 嘉山 2016.1.12 09:42
                            UFSoft.UBF.PL.OqlParamList parameters = new UFSoft.UBF.PL.OqlParamList();                            StringBuilder sb = new StringBuilder();                            parameters.Add(new UFSoft.UBF.PL.OqlParam(expensePlan.ID));                            sb.Append("ExpensePlan=@ExpensePlan and ");                            parameters.Add(new UFSoft.UBF.PL.OqlParam(expensePlanLine.ExpenseItem.ID));                            sb.Append("ExpenseItem=@ExpenseItem and ");                            parameters.Add(new UFSoft.UBF.PL.OqlParam(expensePlanLine.Currency.ID));                            sb.Append("Currency=@Currency and ");                            //parameters.Add(new UFSoft.UBF.PL.OqlParam(expensePlanLine.Currency.ID));                             sb.Append(" (Project is null or Project=@project) and ");                            sb.Append("(Task is null or Task=@task) and ");                            //部门                            sb.Append("(Department is null or Department in (@Dept)) and ");                            ////人员                             //sb.Append("(EmployeeArchive is null or EmployeeArchive=@Employee) ");                            //项目                            if (expensePlanLine.Project != null)                            {                                parameters.Add(new UFSoft.UBF.PL.OqlParam(expensePlanLine.Project.ID));                            }                            else                            {                                parameters.Add(new UFSoft.UBF.PL.OqlParam("project", long.MinValue));                            }                            //任务                            if (expensePlanLine.Task != null)                                parameters.Add(new UFSoft.UBF.PL.OqlParam(expensePlanLine.Project.ID));                            else                                parameters.Add(new UFSoft.UBF.PL.OqlParam("task", long.MinValue));                            //部门                            if (expensePlanLine.Department != null)                                parameters.Add(new UFSoft.UBF.PL.OqlParam(expensePlanLine.Department.ID));                            else                                parameters.Add(new UFSoft.UBF.PL.OqlParam("Department", long.MinValue));                             ExpensePlanLine.EntityList planLineList1 = ExpensePlanLine.Finder.FindAll(sb.ToString().Substring(0, sb.ToString().Length - 4), parameters.ToArray());                            int count = planLineList1.Count;                             //人员                            if (expensePlanLine.EmployeeArchive != null)                            {                                sb.Append("(EmployeeArchive=@Employee) ");                                parameters.Add(new UFSoft.UBF.PL.OqlParam(expensePlanLine.EmployeeArchive.ID));                            }                            else                            {                                sb.Append("(EmployeeArchive is null) ");                                parameters.Add(new UFSoft.UBF.PL.OqlParam("EmployeeArchive", long.MinValue));                             }                               StringBuilder sbAll = new StringBuilder();                            sbAll.Append(sb + "order by Period.BeginTime");                            ExpensePlanLine.EntityList planLineList = ExpensePlanLine.Finder.FindAll(sbAll.ToString(), parameters.ToArray());                             //若包含与计划单行纬度相同的计划                            if (planLineList.Count > 0)                            {                                bool isHasCumlatedLess = false;//是否计算过期间小于新增计划行并在新增计划行上一行的累计余额                                bool isHasCumlatedGreater = false;//是否计算过期间大于新增计划行并在新增计划行下一行的累计余额                                for (int j = 0; j < planLineList.Count; j++)                                {                                    if (planLineList[j].Period.BeginTime < expensePlanLine.Period.BeginTime)                                    {                                        if (isHasCumlatedLess == false)                                        {                                            //parameters.Add(new UFSoft.UBF.PL.OqlParam(expensePlanLine.Period.BeginTime));                                            StringBuilder sbPrev = new StringBuilder();                                            sbPrev.Append(sb + "and Period.BeginTime<'" + expensePlanLine.Period.BeginTime + "' order by Period.BeginTime desc");                                            ExpensePlanLine planLine = ExpensePlanLine.Finder.Find(sbPrev.ToString(), parameters.ToArray()); ... 通过ExpensePlanLine.Finder.Find 找到期间是第一条的数据   最后总结一下Finder的几种常用的方法 Finder.Find(...)根据所用排序方法,查找出第一条数据,返回值是实体 Finder.FindAll(...)查找出所有符合SQL查询条件的数据,返回值是集合 Finder.FindByID(...)根据ID查询出一条数据,返回值是实体

Tags:

F财务

设置DataGrid是否可以增加、插入、修改

by 嘉山 2016.1.12 09:30
注:脚本执行有风险,对于客户正式环境请在研发指导下执行。((UFWebDataGridAdapter)this.DataGrid5).AllowAddRow = false;((UFWebDataGridAdapter)this.DataGrid5).AllowInsertRow = false;((UFWebDataGridAdapter)this.DataGrid5).AllowDeleteRow = false;

Tags:

F财务

鼠标悬浮在控件上显示实体名称

by 嘉山 2016.1.12 09:13
U9在V5.0版本地址栏不会显示url,右键页面空白处,单机“属性”可以显示url,复制,粘贴到地址栏中,然后在Url后面加&__dm=true,这样,在鼠标悬浮在某个控件上时,就会显示该控件所用的实体名称

Tags:

F财务

页面装配时,载入组件后找不到新增的界面

by xuleib 2016.1.12 09:05
页面装配时,载入组件后,发现找不到新增的界面 是因为需要把界面在属性中设置成主界面。 即:界面属性中,是否主Form设置成True即可。

Tags:

F财务

同步补丁失败

by 嘉山 2016.1.12 09:02
注:脚本执行有风险,对于客户正式环境请在研发指导下执行。当数据库与portal版本不一致,单击同步而同步失败时,可以在\\20.10.129.97\现场补丁\V5.0补丁\集成流,相关目录下搜索,模块的关键字如“SM”销售管理模块,找到日期相近的补丁,安装后,数据库会与portal版本保持一致。

Tags:

F财务

凭证编号规则问题

by zhaoff 2016.1.11 14:45
注:脚本执行有风险,对于客户正式环境请在研发指导下执行。201512280060:凭证编号规则只想显示年的后两位,比如2015,只想显示15,但是当前凭证编码规则无法设置和修改,请给以支持。   解决方案:用户要的这个是可以通过配置编号规则实现的,但是需要注意一点,目前,凭证编号规则不能随意设置,主要是受凭证整理编号的影响,目前系统只支持账簿,凭证类别,期间(年度或月份都可以),作为流水依据,一旦有其他的字段作为流水依据都会导致整理的结果不是用户想要的。 具体设置如下:  

Tags:

F财务

单据复制动作清空多语字段

by zhaoff 2016.1.11 14:31
注:脚本执行有风险,对于客户正式环境请在研发指导下执行。201506240174:英文版摘要显示和中文版本不一致,见附件。---总账 201511240044:同一张资产卡片日语版本与中文版本资产名称显示不同这个问题怎么改?--固定资产 问题原因: 复制时默认复制所有语种的摘要,修改摘要,只会修改当前语种的,导致不一致了。 方案:复制时清空其他语种的摘要,只复制当前语种的。 如果点复制按钮后,用户同时维护了其他语种,会全部保存,如果用户没有维护其他语种,其他语种的值为空,保存时,平台会自动将其他语种的值设置成当前语种一致,就不会再出现不一致的问题。 这种显示不一致一旦出现,错误的历史数据大多已经不能再通过Portal进行修改,只能脚本处理。   对于自动赋值这种情况,很不合理,但有用户要求才专门做成这样的。平台认为这是一个假的多语,根本没有多语的意义,解释只有一个:用户进入其他语种时就是不想看到一个空字段。 MultiLangDataDict dic = ViewRecord.GetFieldMLData("Abstracts"); foreach (string str in dic.Keys) {       if (str != PDContext.Current.Culture)       {            dic[str].LangValue = "";        } }

Tags:

F财务

凭证列表批打问题

by zhaoff 2016.1.11 14:28
注:脚本执行有风险,对于客户正式环境请在研发指导下执行。201511230094:如何在总账批量打印凭证时,设置一张A4纸打印一张凭证。(系统默认是一张A4纸两张凭证),请问怎么修改?  9201511240030: 把之前的打印模板改成用A4纸打印,改了之后用批量打印时一张纸打印了多张凭证,希望实现一张纸只打印一张凭证。 原始场景: 批量打印凭证时按凭证号拆页。不是两张凭证打印在一张纸上。   解决方案: 同时设置表体每页打印0行,0表示打满A4纸,有一些行数多的凭证打不下时才切页,而不是指定的具体数值,例如每页打印5行。  

Tags:

F财务

总账支持考核中心跨组织取数

by zhaoff 2016.1.11 14:26
注:脚本执行有风险,对于客户正式环境请在研发指导下执行。9201509280036:考核中心能否跨组织进行总账接口配置,业务接口配置进行取数  原始场景: 在组织A下面建立的考核体系,做总账接口取数是选择组织B的账簿,科目,科目有辅助核算段部门,部门的值集是取得实体(没有条件限制)。但是部门显示的内容只是A组织自己创建的基础档案部门。无法实现跨组织取数。   解决方案:目前值集的过滤完全按照账簿的科目编码结构上的值集条件进行过滤。并没有按照来源组织进行过滤,科目编码结构也无法设置组织==来源组织的条件。需要作为需求支持。但是有一定的前提,值集的过滤条件是个字符串,需要把组织那部分条件单独替换才可。   现场若想实现跨组织取数,必须严格按照以下设置才行。 值集的条件必须包含以下任意一个,且不能有多余的空格,否则该需求不予支持。 1.Org=GetCurrentOrgID() 2.Org.ID=GetCurrentOrgID() 3.Org.Code=GetCurrentOrgCode() 4.Org.Name=GetCurrentOrgName()    

Tags:

F财务

账龄设置对科目核销账龄分析表的影响

by zhaoff 2016.1.11 14:23
账龄设置对科目核销账龄分析表的影响 [更多...]

Tags:

F财务

RecentComments

评论 RSS

Statistics

989 篇文章
0 个单页
610032 条评论
11 次评分
727800 次访问
访问统计开始于 2019年9月14日
平均日访问 8177 次
当前 163 人在线