动态进行“自定义公式”计算2011-12-14 博客园 Kevin-moon这几天弄完了一个"自定义公式计算"的方案,觉得比较有意思,在这里就共享下!该方案是针对一些需要用户自己去定义"计算公式",然后通过这个公式得出计算的结果这种需求的,特别适用与一些产品的BOM(在制作BOM的时候,需要去设定BOM中每个物料的数量,当这个BOM在比较复杂的时候直接去设定物料的数量,这点就不能去满足,因为有些物料是和其中的一些有关系的,所以这些的数据也想通过公式来建立关联关系并且得到数量)。例如,A产品由B和C组成,在这里面B和C有一定的关联,C的数量是B数量的2陪,当出现这种情况的时候,用户就想通过修改B的数量,然后联动修改C的数量,但是这些公式需要允许用户自己去定义。这种类试的问题就是可以通过这个来搞定的。大概可以解决的问题,大家应该了解了吧!那么如何使用和基本原理?让我们先从用户使用的角度开始吧:1、用户定义了下面结构的产品BOM:

2、现在去需要关联的产品设定数量的公式,从而达到联动改变的效果相关产品的公式:产品C: return [产品B]+[产品D];产品E: return [产品C]*2 + 10;........这里关于公式有个需要说明的地方:公式中的参数必须要在"[]"里面,必须要有return,除了这两个,其他定义的规范就是和C#一样,因为在内部是把这些转换为代码来执行的。其实在这里,公式的定义对于用户来说,还是需要做些简单培训的,因为要让用户去熟悉C#中简单的算术计算和一些基本的规范。