SVF 函数详解(计算式&编集式)--adding

一 计算式与编集式

   日版理解并翻译手绘,同在学习很辛苦的,请手动点32个赞。

   首先需要理解计算式和编集式的用途以及存在意义。当vrq查询数据套用xml模板输出时,如果想要更改某字段的输出数据,就需要计算式和编集式。计算式和编集式是附加在相应字段上的一段公式,目的是改变相应字段的输出内容,例如输出格式20141010->2014-10-10;根据需求和用途内容分为两种公式,同一字段可以同时拥有两种公式。

      开篇引用一段原话:

·計算式で指定した場合

  式の結果によりフィールドバッファの値を置き換えます。 

·編集式で指定した場合

  式の結果によってフィールドバッファの値を置き換えません。 

  意思就是说,当在一个数据字段里定义了计算式,那么除了打印输出时该数据字段的值变味计算式的结果外,这个字段的缓存值也由原值变为了计算式的值,如果之后在别处调用到这个字段,那么调用的也是计算式的结果而不是原值;与之相反,编集式只是在输出这个字段是更改输出内容为编集式的结果,不改动字段缓存值。

    两者的关系与差别如图:


 fieldname    data  计算式  编集式  打印输出的字段结果

理解:假设xml上有四个字段 名称为A,B,C,D且都只有一条数据,对应的数据分别为 东京,大阪,“” ,“”。

A中附加计算式:名古屋(理解为此计算式输出结果为名古屋),则A字段最后打印的数据是东京;

B中附加编辑式:九州,则B的打印输出数据是九州,注意:此时A中缓存存储的数据已经变为名古屋了,而B中还是原始数据大阪;

C中附加了计算式:A,可以理解为计算式的结果为A字段数据,而此时A字段的缓存数据已经变为名古屋,所以C的打印输出数据位名古屋;

D同理相反,不解释;

    以上是字符型的,数字型和日期型同理,使用例如下:


   

二 计算式&编集式解析

    1.计算式,首先上图,使用svf打开一个xml模板:


     使用svf分两个文件  xml(制订模板)和 vrq(制订数据查询),计算式和编集式位于xml的数据字段处使用,具体如图。

   现在以计算式IF(数量>10,単価*数量,0)为例,但是吧 还要改表数据做测试, 就凑乎用别的例子实验一下;

   IF(request_id>0,name,value)


    PS:IF(conditional_expression,expression_if_true,expression_if_false);
 

    2.编集式,位置一样,上图的下一个属性即是;

    

 

    padding:如果为0表示【0,空;  

    zero-suppress:左面位数不够是否补0;

    comma:是否有千分位;

    integer:显示位数;

    decimal:小数几位,小数超长是取舍不是四舍五入,如不满可以调用函数处理;

    additional sign:加符号的 钱或百分号;

下面用这个测试:FORMAT(request_id,"ZZZ,ZZ9")  对象为request_id;

 

 PS: FORMAT(numeric_value_or_numeric_field_name,format_string)

        FORMAT2(character_field_name_or_numeric_field_name,format_string)

具体format2如以下设计具体再详解。

三 函数解析

  1.字符串函数

    AT()  :获取字符位置

    ATW() :获取字符位置

 

猜你喜欢

转载自nechiy.iteye.com/blog/2142946
今日推荐