Lotus notes LotusNotes:如何删除值并替换新值

Lotus notes LotusNotes:如何删除值并替换新值,lotus-notes,lotus-formula,Lotus Notes,Lotus Formula,我的问题:如何删除值并替换新值 “我的字段值在InvgstCommand中”: 值1: “-0%,19291.76,0.00” “SE 0%,1068.39,0.00” “ST 6%,2000.00120.00” 文本列表的顺序可能每次都会改变 值2: “SE 0%,1068.39,0.00” “-0%,19291.76,0.00” “ST 6%,2000.00120.00” 我为测试编写的示例公式如下: InvGSTSumCode=@Word(InvGSTSummary;“,”1) 问题是

我的问题:如何删除值并替换新值

“我的字段值在InvgstCommand中”

值1:

“-0%,19291.76,0.00”

“SE 0%,1068.39,0.00”

“ST 6%,2000.00120.00”

文本列表的顺序可能每次都会改变

值2:

“SE 0%,1068.39,0.00”

“-0%,19291.76,0.00”

“ST 6%,2000.00120.00”

我为测试编写的示例公式如下:

InvGSTSumCode=@Word(InvGSTSummary;“,”1)

  • 问题是,我可以知道如何将前两个字符is“SE”转换为 将最后3个值修改为(使用1068.39*6%=64.1034),然后 将最后3个值替换为64.1034
  • 该值的最终结果应为:

    “-0%,19291.76,0.00”

    “SE 0%,1068.39,64.10”

    “ST 6%,2000.00120.00”

    新更新项目:2019年7月8日

    对不起,我的问题可能不清楚。实际上,我想问的是,除了在页面上重做其他计算外,还可以对条件(如果找到“SE”)值的“字段”[文本列表]进行循环

    新更新项目:2019年7月10日

    提取原始值和替换值的公式

    FullSummary := @Trim(@Replace("SE" + @Right(InvGSTSummary; "SE"); "SE"; ""));
    STCode := @Word(FullSummary; ","; 1);
    Price := @Word(FullSummary; ","; 2);
    SST:=@TextToNumber(Price) * 0.06;
    
    CompVal:= STCode +","+Price+","+@Text(SST; "F2");
    
    CompVal
    
    公式的结果:

  • 获取要更改的字段条目
  • 计算条目的新值
  • 替换字段中的条目
  • 替换以“SE”开头的条目的示例:

    下面是“循环”获取带有“SE”的条目的替代方法:

    更新您的更新问题:

    在最后一行代码中使用@Replace将旧条目(FullSummary)替换为新值(CompVal):


    这6%来自哪里?该行仍然以0%的SE开始。。。您的代码是否会在使用逗号作为十进制分隔符的国家使用?逗号“,”来自另一个公式(使用dbcolumn和dblookup)以获取值,但客户希望我特别(对SE(特殊请求)计算6%,最初为0%)我可以知道如何循环文本列表值,如果发现SE=进行计算,比替换“SE”行值我看到了替换值,但是“循环”通过3个值,我不明白如何写它第一行做循环。它用空字符串“”替换所有不包含“SE”的条目,@Trim消除所有空条目。这样,只有“SE”条目保留在entryOld中。我知道这有点难理解。
    _entryOld := @Trim(@Replace("SE" + @Right(InvGSTSummary; "SE"); "SE"; ""));
    _entryNew := @Word(_entryOld; ","; 1) + ... calculate your new value based on _entryOld;
    @Replace(InvGSTSummary; _entryOld, _entryNew);
    
    _entryOld := @Trim(@Transform(InvGSTSummary; "entry"; 
                                  @If(@Contains(entry; "SE"); entry; "")));
    
    FullSummary := @Trim(@Replace("SE" + @Right(InvGSTSummary; "SE"); "SE"; ""));
    STCode := @Word(FullSummary; ","; 1);
    Price := @Word(FullSummary; ","; 2);
    SST:=@TextToNumber(Price) * 0.06;
    
    CompVal:= STCode +","+Price+","+@Text(SST; "F2");
    
    @Replace(InvGSTSummary; FullSummary, CompVal);