PW中自定义Attibute可以设置为任意类型的值,也可以通过System Value与系统变量关联。
但PW中的System Value是有限的,比如文档只有这3个:$DOCUMENT$ $DOCUMENT.FULLNAME$ $DOCUMENT.FULLDESCR$文件夹还比较多:#define AAWDMS_SYSVAR_PROJECT_CODE_STR TEXT("$VAULT.CODE$")#define AAWDMS_SYSVAR_PROJECT_VER_STR TEXT("$VAULT.VER$")#define AAWDMS_SYSVAR_PROJECT_VERSEQ_STR TEXT("$VAULT.VERSEQ$")#define AAWDMS_SYSVAR_PROJECT_MANAGER_STR TEXT("$VAULT.MANAGER$")#define AAWDMS_SYSVAR_PROJECT_MANAGERNAME_STR TEXT("$VAULT.MANAGER.NAME$")#define AAWDMS_SYSVAR_PROJECT_STORAGE_STR TEXT("$VAULT.STORAGE$")#define AAWDMS_SYSVAR_PROJECT_STORAGENAME_STR TEXT("$VAULT.STORAGE.NAME$")#define AAWDMS_SYSVAR_PROJECT_CREATOR_STR TEXT("$VAULT.CREATOR$")#define AAWDMS_SYSVAR_PROJECT_CREATORNAME_STR TEXT("$VAULT.CREATOR.NAME$")#define AAWDMS_SYSVAR_PROJECT_CREATETIME_STR TEXT("$VAULT.CREATETIME$")#define AAWDMS_SYSVAR_PROJECT_UPDATER_STR TEXT("$VAULT.UPDATER$")#define AAWDMS_SYSVAR_PROJECT_UPDATERNAME_STR TEXT("$VAULT.UPDATER.NAME$")#define AAWDMS_SYSVAR_PROJECT_UPDATETIME_STR TEXT("$VAULT.UPDATETIME$")#define AAWDMS_SYSVAR_PROJECT_WORKFLOW_STR TEXT("$VAULT.WORKFLOW$")#define AAWDMS_SYSVAR_PROJECT_WORKFLOWNAME_STR TEXT("$VAULT.WORKFLOW.NAME$")#define AAWDMS_SYSVAR_PROJECT_STATE_STR TEXT("$VAULT.STATE$")#define AAWDMS_SYSVAR_PROJECT_STATENAME_STR TEXT("$VAULT.STATE.NAME$")#define AAWDMS_SYSVAR_PROJECT_TYPE_STR TEXT("$VAULT.TYPE$")#define AAWDMS_SYSVAR_PROJECT_ARCHIVENO_STR TEXT("$VAULT.ARCHIVENO$")//#define AAWDMS_SYSVAR_PROJECT_CONFIGVAR_STR TEXT("$VAULT.CONFIGVAR$")#define AAWDMS_SYSVAR_PROJECT_HAS_SUBPROJ_STR TEXT("$VAULT.SUBPROJ$")
那么如何将Attribute与文件的基本信息(例如文件的创建时间)关联呢?我们可以巧妙运用SQL脚本来解决问题。
因为有$DOCUMENT$(文档ID)和 $VAULT$(文件夹ID),并结合第三种“select”类型,用Select语句可以更加灵活的将某个Attibute和dms_doc中的任何一个字段关联。比如想关联“创建时间”,select语句可以这样写:select o_credatetime from dms_doc where o_projectno = $VAULT$ and o_itemno = $DOCUMENT$