智能参数的常规结构
智能参数可包含在运行时组合的任何数量的元素以生成单个操作自变量。
元素可包含特殊变量、字符串常量和导航元素。
限制: 智能参数不适用于所有操作。 检查 Datacap Studio 中的 "操作" 帮助以获取兼容性信息。
示例 1
以下示例显示具有单个智能参数自变量的操作,其中自变量包含三个智能参数元素。
SetSourceDirectory("@Appath(vscandimagedir)+\+Input")
| 智能参数元素 | Description | |
|---|---|---|
@APPPATH(vscanimagedir) |
从应用程序配置 (.app) 文件获取设置的特殊变量。 请参阅使用特殊变量访问应用程序配置设置主题。 | |
\ |
字符串常量 | |
Input |
字符串常量 | |
使用“+”符号组合元素。 在运行时, Datacap 首先评估任何特殊变量,然后并置元素以创建成为操作参数的单个字符串。
07:13:25.53 3 Smart Parameter elements found
07:13:25.53 Parsing Smart Parameter element {0} value: "@APPPATH(vscanimagedir)"
07:13:25.54 @APPPATH key root value: 'vscanimagedir'
07:13:25.54 @APPPATH looking for workflow key: '*/dco_TravelDocs/vscanimagedir'
07:13:25.54 workflow key found: 'C:\Datacap\TravelDocs\images'
07:13:25.54 Parsing Smart Parameter element {1} value: "\"
07:13:25.54 Parsing Smart Parameter element {2} value: "Input"
07:13:25.54 Smart Parameter return value: 'C:\Datacap\TravelDocs\images'
07:13:25.54 looking for:C:\Datacap\TravelDocs\images\Input
07:13:25.55 Action changes: Directory with source images: C:\Datacap\TravelDocs\images\Input将自变量指定为 @APPPATH(vscanimagedir)+\Input 不正确。 后跟字符串的“\”符号表示导航元素。 请参阅使用导航元素访问运行时层次结构主题。 在此示例中,您不想要指定导航元素。 而是想使用 +\+Input 将 @APPPATH(vscanimagedir) 的结果与字符串 \Input 相连。
示例 2
下一个示例显示具有两个智能参数自变量的操作。 每个自变量包含一个智能参数元素:
rrSet ("..\Pickup Location","@B.FieldValue")| 智能参数自变量 | Description | |
|---|---|---|
..\Pickup_Location |
引用运行时层次结构中同一页面上的其他字段的导航元素 | |
@B.FieldValue |
引用运行时层次结构中的批处理级别定制变量的特殊变量 | |
以下日志文件的部分显示了 Datacap 如何通过将第一个自变量识别为导航元素来对其进行求值。 然后,转至运行时层次结构中的引用元素,并检索字段的值。 在此示例中,操作绑定到字段,因此 ..\Pickup_Location 引用同一页面上相同级别的其他字段。
08:17:30.892 action rrSet (str="..\Pickup_Location",str="@B.FieldValue")
08:17:30.892 execute statement On Action Start
08:17:30.892 executing code:
08:17:30.892 Call OnActionStart()
08:17:30.892 /execute statement On Action Start
08:17:30.892 1 Smart Parameter element found
08:17:30.892 Parsing Smart Parameter element {0} value: "..\Pickup_Location"
08:17:30.892 DCO Parent Navigation key match (starts with '\' or '..\'). Calling
DCONavGetValue(..\Pickup_Location)
08:17:30.892 Finding Child 'Pickup_Location' -->
08:17:30.893 Found child 'Pickup_Location'
08:17:30.895 Finding Dictionary assigned to DCO Node:'Pickup_Location'
08:17:30.895 This DCO does not have an assigned Dictionary or is not an OMR type Field.
08:17:30.895 Smart Parameter return value: 'Orlando (MCO)'
08:17:30.896 Setting '20110054.002.FieldValue' value to 'Orlando (MCO)'.