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)
- 问题是我可以知道如何将前 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
公式结果:
- 获取要更改的字段条目,
- 计算条目的新值,
- 替换字段中的条目。
替换以 "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);
我的问题:如何删除一个值并替换一个新值
我的字段值在 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)
- 问题是我可以知道如何将前 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
公式结果:
- 获取要更改的字段条目,
- 计算条目的新值,
- 替换字段中的条目。
替换以 "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);