问题:
在销售订单上增加了一个字段叫做“Special For CSV Import”。 想通过CSV导入的方式,给所有的销售订单赋值。
但是在建立字段映射关系时,怎么也找不到这个自定义字段。
分析:
这个问题的解决方法比较简单。
在CSV导入向导中,“高级选项”下有一个参数,叫做“表单(Form)”。这里默认是“Primary Sales Order Form”,但是我们增加的那个自定义字段是在另外一个叫做“Sales Order By Rick”的Form中。由于那个自定义字段在“Primary Sales Order Form”中没有被激活,所以在做字段映射时就无法呈现了。
当我们选择了正确的Form后,那个字段也就出现了。
通过解决这个问题,我们有个疑问,“为什么要这样设计?”
经过长达300秒的思考后,有了感悟。
其实这样设计的主要意图还是“权限控制”。可以说CSV导入是另一种用户访问数据的途径,和在录入界面访问数据本质上是一样的。Form是NetSuite处理访问权限的手法之一,有其独特的使用场景。例如,系统原生字段是不受“Field Permission”控制的,譬如一些个人、财务敏感数据字段。用户不能针对这些字段进行权限控制。控制的主要方法就是用Form来做隔离,做个特别的Form把给看的字段显示出来。然后将角色与这个Form强制关联,从而保证用户看到的字段是“受限”的。因此,在CSV导入时,也是按照通过Form权限来限制字段显示的。没有选择到对的Form,字段当然就出来了。