zoukankan      html  css  js  c++  java
  • 使用GetUniqueIndentifier为某类对象连续编码

    在一般的客户化情景中,总会有对某类对象连续编码的情况,例如对规格文档(SpcDoc)使用如下规则进行连续编码:
    前缀'SPEC-' + 5位流水码,ex: SPEC-00001,SPEC-00002,...
    解决方法:
    要点:使用GetUniqueIndentifier方法获取编码。
    步骤:
    1、两个关键类常量的设置
       SpcDoc.UdfPrefixC = "SPEC-"; // 设置编码前缀
       SpcDoc.UdfSeriesChrsC = "5"; // 设置流水码长度为5位
    2、重新定义DSpdCre对话框的SetDialogDefaults方法
       (注:DSpdCre为创建SpcDoc的对话框)
       attach object message SetDialogDefaults to DSpdCre in server bbksvr;
     
    message DSpdCre:SetDialogDefaults(...)
    {
       string nextId = NULL;
       dstat = SetDialogDefaultsAtParent(DSpdCreClass,...);
       // check dstat
     
       dstat = GetUniqueIndentifier(SpcDocClass, &nextId, mfail);
       // check dstat and mfail
     
       dstat = objSetAttribute(thisObj, DocumentNameAttr, nextId);
       // check dstat
    }
     
    3、注意最后要使用DWE更改一下DSpdCre对话框的DocumentName字段为只读属性
     
    4、更多想法:到此为止,用户点击创建SpcDoc文档的时候,DocumentName会自动编码,
    但是,点击Apply按钮,文档创建之后准备创建下一个文档的时候,DocumentName字段没有
    及时更新为下一个编码,该如何做?
     
    solution for Point 4
    重新定义DSpdCre的ApplyButton方法,在该方法中获取SpcDoc的下一个编码,并设置到
    DocumentName字段中去,代码略。
  • 相关阅读:
    Day 9 作业题(完成)
    Day 9 函数的初识1
    Day 8 集合与文件的操作
    Day 7 深copy和浅Copy
    Day6 ,周期末考试试题
    Day 6 编码的进阶
    Day5 作业(完成)
    Day 5 字典的操作
    Day4 作业
    Day 4 list 列表的使用方法
  • 原文地址:https://www.cnblogs.com/hcfalan/p/422512.html
Copyright © 2011-2022 走看看