如何用SQL脚本使Attribute与文件基本信息关联


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$