侧边栏壁纸
  • 累计撰写 45 篇文章
  • 累计创建 1 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

【001】U9问题集

绀香廿九
2023-10-28 / 1 评论 / 0 点赞 / 40 阅读 / 7331 字

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");

767700e1e1144d3fafefc1bb946bfa40.png
  可以在UFSoft.UBF.CodeGenerator.TemplateTransConfig.xml的SourceCodeConfig中配置Code的下级生成目录,Items节点的子节点为命名空间按照.分割的下标为2的字符串(例如UFIDA.U9.QXQ.XXX就是QXQ),节点内容为要拼接的下级节点(要带后\);DefaultSet为如果找不到Items子节点的默认文件夹名(例如这里配置了Main,然后有一个UFIDA.U9.Cust.XXX没有找到Items->Cust的节点就将生成路径拼接Main)
351f9271019342948a12eaec414abd7e.png

13. 菜单发布工具发布报错,ConnectionString属性尚未初始化

注释ubfenginehosting.dll.config里面值带有DBConnection的节点

<Provider type="UFIDA.U9.BS.DBConnection.EnterpriseProvider,UFIDA.U9.BS.DBConnection"></Provider>

de66b0ec2f884adaafa4c1084fcb2b2e.png

14. 将报错信息提示到行

// lineRecord就是行的Record,第二个参数为触发提示的行字段
Model.ErrorMessage.SetErrorMessage(ref lineRecord, "ReplaceItem", "原料跟可替代料不能为空");
0

评论区