您的位置:首页 > 其它

用Smartforms实现化学分子式上下标动态打印

2012-01-31 15:59 232 查看
最近开发QM模块的检验报告,客户提出要按上下标打印分子式(此需求有点变态),对我来说无疑是个挑战,经过自己的摸索花了两天时间终于攻破了此问题,在此要感谢华哥,Feliz,tc_Edison在这个问题上给了我很多不错的建议,废话不多说了下面就说说具体的解决方案。
1、和业务讨论在录入化学分子式数据的时候需要加上下标标识符号,我这里用^表示上标,v标识下标

例如:Av3v4B^cJK即对应的分子式是A34BcJK(34是下标,c是上标)

2、在smartforms中创建一个全局内表,用于存放拆分后的字符




3、在Smartforms的loop循环中,将当前记录的化学分子式字段按照上面的规则进行拆分到全局内表中






4、到此,拆分内表已经填充好了,下面要做的就是去遍历改内表按特定格式输出字符了,这里的做法是建立三个text,然后根据内表的style条件来输出相关的text,因为text放在Template中的(每一个text有特定的行列号)所以在默认情况下同一行列中输出多个text,SAP只会显示第一个text的值;为了满足上面的需求我们必须要把拆分内表的字符打印在同一行(必须保证分子式是连续的),经过本人的摸索,可通过对text做相关设置即可实现。

A、打印第一个字符时需要确定行列号






B、从第二个字符开始不需要设置行列号了且要将text设置为直接添加,否则显示的永远是第一个字符







C、根据字符的Style条件打印相关的text




5、效果图


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: