Lotus Notes:如何删除值和替换新值

Lotus Notes : How to Remove a value and replace a new value

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

我的字段值在 InvGSTSummary 中:

值 1:

"- 0%,19291.76,0.00"

"SE 0%,1068.39,0.00"

"ST 6%,2000.00,120.00"

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

值 2:

"SE 0%,1068.39,0.00"

"- 0%,19291.76,0.00"

"ST 6%,2000.00,120.00"

我写的用于测试的示例公式如下:

InvGSTSumCode = @Word(InvGSTSummary; ","; 1)

  1. 问题是我可以知道如何将前 2 个字符 "SE" 修改最后 3 个值变为(使用 1068.39 * 6%=64.1034),比 将最后 3 个值替换为 64.1034

该值的最终结果应为:

"- 0%,19291.76,0.00"

"SE 0%,1068.39,64.10"

"ST 6%,2000.00,120.00"

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

抱歉,我的问题可能不清楚。实际上我想问的是 Loop over a "field" [text list] for condition (if found "SE" ) 值,而不是仅仅重做页面上的其他计算。

新更新项目:10/07/2019

用于提取原始值并替换值的公式

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

公式结果:

  1. 获取要更改的字段条目,
  2. 计算条目的新值,
  3. 替换字段中的条目。

替换以 "SE" 开头的条目的示例:

_entryOld := @Trim(@Replace("SE" + @Right(InvGSTSummary; "SE"); "SE"; ""));
_entryNew := @Word(_entryOld; ","; 1) + ... calculate your new value based on _entryOld;
@Replace(InvGSTSummary; _entryOld, _entryNew);

这里是 "loop" 的替代方法,可以通过 "SE" 获取条目:

_entryOld := @Trim(@Transform(InvGSTSummary; "entry"; 
                              @If(@Contains(entry; "SE"); entry; "")));

更新您的问题:

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

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);