1. 自定义的视图,没有FocusedRecord(需要在OnLoadData_Extend中新增)
private void OnLoadData_Extend(object sender)
{
if (this.Model.MainView.FocusedRecord == null)
{
this.Model.MainView.FocusedRecord = this.Model.MainView.AddNewUIRecord();
}
OnLoadData_DefaultImpl(sender);
}
2. 单据列表中拉取的扩展字段未能显示值,但是在单据中是正常的
如果是带放大镜的文本(实体or值集or枚举类型),需要同步刷新表的的多语言表
3. 在本地的界面正常,但是打到测试服务器界面错乱(有很多字段未显示)
检查是否有个性化模板,如果有并且无法删除,通过URL强制删除个性化模板进行清除
4. UBF报表开发无法登录(密码是正确的,可以登录U9)
7月21号的一个补丁更新的加密方式,需要升级UBF到最新版
5. SQLServer Report 2017安装之后无法在U9安装工具中连接
2017版本的报表更新了代码连接方式,需要先下载同步最新补丁才能连接
6. 调度程序谨慎使用全局静态变量,特别是配置类型的,因为不同企业组织都会引用同一个DLL进行调度
7. 菜单发布包表:UBF_Assemble_AppComponents
8. 获取企业编码
string entcode = ContextManager.Context["EnterpriseID"].ToString();
string entCode = PlatformContext.Current.EnterpriseID;
9. 子行的明细行里面的弹性域名称需要自定义,不然会取默认的"DescFlexField",会报错找不到列
public void AfterCreateChildControls()
{
//弹性域设置
FlexFieldHelper.SetDescFlexField(new DescFlexFieldParameter[] { new DescFlexFieldParameter(this.FlexFieldPicker0, this.Model.CheckOrderHead) });
FlexFieldHelper.SetDescFlexField(new DescFlexFieldParameter[] { new DescFlexFieldParameter(this.FlexFieldPicker5, this.Model.CheckOrderHead_CheckWorkItemDetailLine_CheckWorkAppearanceLine, "DescFlexFields") });
FlexFieldHelper.SetDescFlexField(new DescFlexFieldParameter[] { new DescFlexFieldParameter(this.FlexFieldPicker3, this.Model.CheckOrderHead_CheckWorkItemDetailLine_CheckWorkCommentLine, "DescFlexFields") });
FlexFieldHelper.SetDescFlexField(this.DataGrid7, this.DataGrid7.Columns.Count - 1, "DescFlexFields");
FlexFieldHelper.SetDescFlexField(this.DataGrid8, this.DataGrid8.Columns.Count - 1, "DescFlexFields");
FlexFieldHelper.SetDescFlexField(this.DataGrid10, this.DataGrid10.Columns.Count - 1, "DescFlexFields");
}
10. 写了开启个性化的代码,但是个性化失效(无法保存)
开启个性化的代码必须写在AfterCreateChildControls里面
11. 打印模板在开发的服务器正常使用,但是发布到别的服务器之后报空指针引用
如果是从Model里面生成的第一份模板,是超级管理员创建的,发布应用的时候会发布到开发配置的数据库去,所以其他服务器找不到这个模板,部署到其他服务器时,需要另存为一份(可以看到另存为的后面有用户自定义的字样),然后再导出导入
12. UBF上配置了模型代码生成路径为\Code\QXQ,但是生成的代码还是到\Code里面
~\yonyou\UBFV60\U9.VOB.Product.UBF\UBFStudio\UFSoft.UBF.Business.ModelBuilder.Console.exe
ModelBuilder.BuildProject中会对targetPath重新赋值
// fullProjectFile是Model所在的目录
int num = fullProjectFile.IndexOf("Model");
targetPath = fullProjectFile.Substring(0, num + 5).Replace("Model", "Code");
可以在UFSoft.UBF.CodeGenerator.TemplateTransConfig.xml的SourceCodeConfig中配置Code的下级生成目录,Items节点的子节点为命名空间按照.分割的下标为2的字符串(例如UFIDA.U9.QXQ.XXX就是QXQ),节点内容为要拼接的下级节点(要带后\);DefaultSet为如果找不到Items子节点的默认文件夹名(例如这里配置了Main,然后有一个UFIDA.U9.Cust.XXX没有找到Items->Cust的节点就将生成路径拼接Main)
13. 菜单发布工具发布报错,ConnectionString属性尚未初始化
注释ubfenginehosting.dll.config里面值带有DBConnection的节点
<Provider type="UFIDA.U9.BS.DBConnection.EnterpriseProvider,UFIDA.U9.BS.DBConnection"></Provider>
14. 将报错信息提示到行
// lineRecord就是行的Record,第二个参数为触发提示的行字段
Model.ErrorMessage.SetErrorMessage(ref lineRecord, "ReplaceItem", "原料跟可替代料不能为空");
评论区