ASK
ASK 从您在应用程序模板中放置的标记创建数据输入字段。最常见的模板是路径,其中 ASK 值成为目标文件夹和文件名的一部分。ASK 标记也可以出现在主体元数据模板中,用于艺术家名称、版权和用户评论等字段。
当每次捕获、工作、样本、产品、客户或位置需要一些变化的值时,ASK 非常有用。您只需设计一次路径,然后只填写变化的值,而不是每次都编辑完整路径。
例如,这个路径:
c:\images\@ASK1#Client#\@ASK2#Project#\@GCT4
创建两个名为客户和项目的 ASK 字段。如果您输入 Northwind 和 Catalog,下一个保存的图像可以放在:
c:\images\Northwind\Catalog\0001.jpg
ASK 字段可以显示在主导航视图中,在页眉或页脚中,或在单独的窗口中。这使得 ASK 对于重复捕获工作非常有用,因为路径页面应该保持不干扰。
为什么使用ASK
当文件位置或文件名依赖于拍摄时已知的信息时,ASK非常有帮助。常见用途包括:
- 客户、工作、项目或订单编号。
- 国家、省、城市、地点或房间名称。
- 标本、样品、物品、产品或序列号。
- 来自条形码扫描仪的条形码值。
- 一个最终字段,可以在输入完成后提交应用程序配置的ASK操作。
ASK保持工作流程的重复部分较小。模板决定值的位置。ASK表单允许操作员仅输入或扫描这些值。
ASK 出现的位置
当 ASK 字段可用时,应用程序可以在主 NavigationView 中显示 ASK。在左侧或紧凑的导航布局中,ASK 作为一个导航项出现,内部包含字段。在顶部导航布局中,ASK 作为一个 ASK 按钮出现,点击后会在弹出窗口中打开字段。
ASK 也可以被选为视图标题、视图页脚或单独的应用内窗口。当 ASK 显示在这些位置之一时,NavigationView 中的 ASK 项会被隐藏。这保持了活动数据输入区域的清晰,避免在两个地方同时显示相同的 ASK 字段。
当您想要快速访问而不专门使用标题、页脚或窗口时,请使用 NavigationView 位置。当您希望在处理另一个页面时保持 ASK 可见时,请使用标题、页脚或应用内窗口。
基本概念
一个 ASK 令牌有三个可见部分:
@ASK1#Client#
@ASK表示创建一个普通的输入 ASK 字段。1是字段编号。Client是在 ASK 表单中显示的字段标题。
# 字符标记字段描述的开始和结束。字段标题位于它们之间。
支持扫描的 ASK 令牌使用 @SCASK:
@SCASK1#Serial#
SCASK 表示支持扫描。这并不意味着仅限于扫描。您仍然可以手动输入到 SCASK 字段中。
ASK 和 SCASK
当值通常由用户输入时使用 @ASK。当值通常由条形码扫描器提供时使用 @SCASK。
示例:
@ASK1#Client#创建一个输入的客户字段。@ASK2#Project#创建一个输入的项目字段。@SCASK1#Serial#创建一个支持扫描的序列字段。@SCASK2#Item#创建一个支持扫描的物品字段。
ASK 或 SCASK 后的数字标识值。例如,每个 @ASK1#...# 令牌都指向相同的 ASK1 值。每个 @SCASK1#...# 令牌都指向相同的 SCASK1 值。
为每个单独的值使用不同的数字。例如,使用 @ASK1#Client# 和 @ASK2#Project#,而不是两个不同标题的无关 @ASK1 字段。
字段标题
标题是位于 # 字符之间的文本。它应该简短明了,因为它出现在 ASK 表单中。
好的标题:
ClientProjectIDSerialCity
避免在标题中放入长指令。使用路径示例和此帮助页面中的指令,并保持实时数据输入表单快速可扫描。
必填字段
在描述的开头放置 * 以使字段成为必填项:
@ASK1#*Client#
字段标题仍然是客户。* 意味着在字段为空或无效时,ASK 提交操作无法运行。
必填字段在缺少数据时非常有用,因为这会导致文件夹不良、文件名不完整或捕获工作流程不完整。
示例:
c:\images\@SCASK1#*ID#\@GCT4
这创建了一个必填的扫描仪兼容 ID 字段。在 ID 有值之前,ASK 提交被阻止。
可选字段
字段默认是可选的。如果可选字段为空,Path 通常会移除该空值。
示例:
c:\images\@ASK1#Client#\@ASK2#Project#\@GCT4
如果项目为空,解析后的 Path 会移除该空段,而不是留下重复的反斜杠。
当值有用但并不总是可用时,请使用可选字段。
占位符字段
当您希望空的可选值保持可见作为占位符时,请在描述的开头放置 &:
@ASK1#&Client#
如果客户端为空,路径将显示一个带下划线的占位符,例如:
ask1
对于支持扫描仪的值,占位符使用扫描仪身份:
@SCASK1#&Serial# 在空时变为 scask1。
当您希望预览或保存的路径显示某个值被故意留空时,请使用 &。当您希望空的可选文件夹干净地消失时,请不要使用 &。
字段顺序
在标题前加上数字和冒号,以控制ASK表单中字段的顺序:
@ASK1#1:Client#
1:表示首先显示此字段。标题仍然是客户。
字段顺序在路径顺序与操作员输入顺序不同时非常有用。
示例:
c:\images\@ASK3#3:City#\@ASK1#1:Client#\@ASK2#2:Project#\@GCT4
文件夹在路径中为城市、客户、项目。由于顺序标记为1、2和3,ASK表单显示客户、项目、城市。
提交字段
在完成该字段时,将 ! 放在描述的末尾,以提交应用程序配置的 ASK 操作:
@ASK1#City!#
字段标题为城市。! 意味着完成城市尝试运行配置的 ASK 提交操作。
在相机工作流程中,该操作通常是拍摄。这允许重复输入的工作流程以最终值结束,并立即请求捕获。
完成提交字段可以通过按 Enter、按 Tab 或扫描到支持扫描的提交字段来实现。必填字段必须先有效。如果必填字段为空或无效,提交将被阻止,焦点将移动到第一个需要注意的字段。提交被接受后,焦点将返回到第一个 ASK 字段,以便可以立即输入下一个捕获的数据。
组合标记
标记可以在同一描述中组合。请从左到右阅读它们:
@SCASK1#*1:ID!#
这意味着:
@SCASK创建一个可扫描的字段。1在SCASK之后将值标识为 SCASK1。*使字段成为必填项。1:将其放在 ASK 表单的第一位。ID是显示给用户的标题。!在字段完成时提交配置的 ASK 操作。
另一个例子:
@ASK2#&3:Province#
这意味着:
@ASK创建一个类型化字段。2将值标识为 ASK2。&在为空时保持可见的占位符。3:将其放在 ASK 表单的第三位。Province是标题。- 没有
!,因此完成省份不会提交操作。
实际案例
这些示例可以直接粘贴到路径模板中,并根据您的文件夹进行调整。有些使用 @SCASK 作为串行条形码扫描仪。有些在最后一个字段上放置 !,以便完成该字段时提交应用程序配置的 ASK 操作。相同的模板可以从路径页面的示例列表中获得。
1. 产品摄影客户和 SKU
c:\images\product\@ASK1#1:Client#\@SCASK1#*2:SKU!#\@GCT4
当每个产品拍摄属于一个客户和一个扫描的产品 SKU 时使用。SKU 是必需的,完成它可以提交捕获操作。
2. 电子商务颜色和角度设置
c:\images\ecommerce\@ASK1#1:Brand#\@SCASK1#*2:Style#\@ASK2#3:Color#\@ASK3#4:Angle!#\@GCT4
用于目录集,其中样式代码可以被扫描,操作员在拍摄前输入颜色和角度。
3. 房地产房间覆盖
c:\images\real-estate\@ASK1#1:Property#\@ASK2#2:Room#\@ASK3#3:View#\@GCT4
当图像按物业、房间和视角方向分组时使用。
4. 博物馆物品摄影
c:\images\museum\@SCASK1#*1:Accession#\@ASK1#2:Object#\@ASK2#3:Side!#\@GCT4
当一个集合或入藏条形码识别物品时使用,每一面或视图单独捕获。
5. 实验室样本接收
c:\images\lab\@SCASK1#*1:Sample#\@ASK1#2:Test#\@ASK2#3:Stage!#\@GCT4
当每个图像必须与扫描的样本 ID、输入的测试名称和处理阶段相关联时使用。
6. 实验室板和孔成像
c:\images\lab\plates\@SCASK1#*1:Plate#\@ASK1#2:Well#\@ASK2#3:Channel!#\@GCT4
当扫描一个板条形码并在捕获前输入孔和成像通道时使用。
7. 标本托盘文档
c:\images\specimens\@ASK1#1:Project#\@SCASK1#*2:Specimen#\@ASK2#3:Tray#\@ASK3#4:Position!#\@GCT4
当每个标本都有一个扫描的 ID,并且在重复捕获会话中输入托盘和位置时使用。
8. 法医证据接收
c:\images\forensics\@SCASK1#*1:Case#\@SCASK2#*2:Evidence#\@ASK1#3:View!#\@GCT4
当案件和证据标识符被扫描,操作员在捕获前输入视图时使用。
9. 法医现场位置
c:\images\forensics\@ASK1#*1:Case#\@ASK2#2:Scene#\@ASK3#3:Room#\@ASK4#4:Detail!#\@GCT4
当输入标识符并且最后的详细字段可以提交捕获操作时使用。
10. 保管链物品照片
c:\images\custody\@SCASK1#*1:Case#\@SCASK2#*2:Bag#\@SCASK3#*3:Item!#\@GCT4
当每次捕获由扫描的案件、袋子和物品条形码驱动时使用。
11. 学校学生肖像
c:\images\school\@ASK1#1:School#\@ASK2#2:Grade#\@SCASK1#*3:Student!#\@GCT4
用于学校肖像拍摄会话,其中学生 ID 在设置学校和年级后被扫描。
12. 教室项目文档
c:\images\school-projects\@ASK1#1:School#\@ASK2#2:Class#\@ASK3#3:Project#\@SCASK1#4:Student#\@GCT4
当学生 ID 是可选但有帮助的,主要分组按学校、班级和项目时使用。
13. 老照片扫描客户订单
c:\images\scan-service\@ASK1#1:Client#\@SCASK1#*2:Order#\@ASK2#3:Album#\@GCT4
用于扫描服务,其中订单号被扫描,图像按客户和相册分组。
14. 幻灯片扫描盒和插槽
c:\images\slides\@SCASK1#*1:Order#\@ASK1#2:Box#\@ASK2#3:Slot!#\@GCT4
当客户订单被扫描,每个幻灯片在扫描前通过盒子和插槽进行识别时使用。
15. 家庭档案恢复
c:\images\archive\@ASK1#1:Family#\@ASK2#&2:Year#\@ASK3#3:Event#\@ASK4#4:Person!#\@GCT4
当一些历史细节未知时使用。Year 字段在为空时保持可见占位符,完成 Person 可以提交捕获操作。
扫描仪工作流程
为了确保可靠的扫描到字段行为,请使用串行条形码扫描仪。键盘楔入式扫描仪会输入到当前具有键盘焦点的控件中,这在生产工作中更容易出现误导。
串行扫描仪工作流程:
- 创建一个或多个
@SCASK字段。 - 在扫描仪页面上配置扫描仪。
- 将扫描仪设置为串行模式。
- 编程扫描仪以发送所需的扫描包装。
- 将值扫描到 ASK 表单中。
当没有扫描仪可用字段具有键盘焦点时,扫描将发送到当前扫描仪目标,然后转到下一个可用的扫描仪字段。当一个可用的扫描仪字段具有焦点时,扫描将进入该字段。
扫描仪设置包装,例如 !12345@,与 ASK 描述符 ! 提交标记是分开的。包装告诉扫描仪页面扫描的开始和结束位置。ASK 描述符 ! 告诉 ASK 完成该字段应提交配置的操作。
输入和 Tab
在 ASK 字段中按 Enter 的作用与 Tab 相同。它验证当前字段并移动到下一个字段。
如果当前字段有 ! 标记,Enter 或 Tab 也会尝试提交 ASK。如果必填字段为空或无效,则提交会被阻止。提交被接受后,焦点返回到第一个 ASK 字段。
这可以加快重复输入的速度:
- 输入或扫描第一个值。
- 按 Enter 或 Tab。
- 继续填写字段。
- 完成最后一个
!字段以提交。 - 从第一个字段开始下一个输入。
预览和保存路径
ASK 值在模板包含匹配的 ASK 令牌的任何地方使用。完成 ASK 字段后、焦点离开字段或接收到扫描器值时,路径预览会更新。这使得预览和保存路径数据与已完成的数据输入值保持同步,而不是每次部分按键时都更新。
对于空值:
- 必填字段在填写之前显示带下划线的占位符。
- 带有
&的可选字段在填写之前显示带下划线的占位符。 - 不带
&的可选字段会折叠为空。
如果没有 & 的可选值是整个文件夹段,路径会移除该空段。这避免了解析路径中出现重复的反斜杠。
主体元数据模板
主体元数据字段可以使用ASK令牌,当元数据值应来自输入或扫描的数据时。支持的元数据字段包括:
- 艺术家姓名
- 版权
- 用户评论
例如,艺术家姓名可以包含@ASK1#Photographer#,或者用户评论可以包含Item @SCASK1#*1:Item#。这些令牌创建的ASK字段与路径令牌创建的字段相同。
元数据令牌模板保存在配置文件中。字面主体元数据值是相机拥有的主体数据,不会保存在配置文件中。主体元数据的支持取决于连接的主体和活动的Nikon SDK模式。如果当前SDK模式不公开艺术家姓名、版权、用户评论或它们的附加开关,元数据ASK模板仍然可以保存在配置文件中,但无法写入该连接的主体。当v2模式在测试的主体上不公开这些字段时,主体元数据控件会被隐藏,保存的模板会保留用于遗留SDK模式。
令牌化捕获元数据写入被实现为临时主体元数据。元数据ASK模板创建ASK字段并与配置文件一起保存。在捕获之前,应用程序解析令牌化的元数据模板,并在该字段符合捕获时间附加条件时将解析的值写入相机主体。艺术家姓名和版权由主体元数据版权卡控制。该卡的附加或忽略开关控制Nikon版权元数据块,其中包括在确认的主体(如Z50和D800)上的艺术家姓名。用户评论有其自己的附加或忽略开关。版权元数据和用户评论元数据仅在匹配的主体元数据开关设置为附加时写入。捕获完成后,应用程序会尽力清除为该捕获写入的任何令牌化主体元数据字段。如果解析的元数据值过长或包含不支持的字符,则在临时值写入主体之前,捕获会被拒绝。
ASK和SCASK元数据值可能是敏感的。它们可能包含姓名、订单号、证据标识符、样本ID、学生ID或扫描仪负载。ASK日志使用隐私安全的细节,不记录输入的ASK值、扫描仪负载或解析的元数据负载。
故障排除
如果不显示 ASK 字段:
- 确认令牌以
@ASK或@SCASK开头。 - 确认数字在 1 到 9 之间。
- 确认两个
#字符都存在。 - 确认标题位于
#字符之间。 - 确认模板已在拥有它的页面中保存或处于活动状态。
如果字段顺序错误:
- 添加顺序标记,例如
1:,2:和3:。 - 检查每个顺序标记是否在
#字符内。 - 确保每个标记在标题之前。
如果提交未运行:
- 确认字段描述末尾有
!。 - 确认必填字段已填写。
- 确认值不包含模板源的无效字符。
- 确认应用程序已配置 ASK 提交操作。
如果路径中出现错误值:
- 检查是否有两个不同的令牌使用相同的 ASK 数字。
- 为不同的值使用不同的数字。
- 记住
@ASK1#Client#和@ASK1#Project#都指代 ASK1。
如果扫描仪数据进入错误字段:
- 对应该接收扫描仪值的字段使用
@SCASK。 - 在扫描之前点击预期的支持扫描仪的字段。
- 检查字段顺序标记。
- 检查扫描仪页面设置和扫描包装。
相关设置
使用路径将ASK值放置在目标文件夹和文件名中。当艺术家名称、版权或用户评论应从ASK值准备时,请使用主体元数据。当条形码值应填充@SCASK字段时,请使用扫描仪。使用配置文件保存和加载包含ASK令牌的模板。