设为首页 收藏本站
查看: 881|回复: 0

[经验分享] SharePoint 2010 + Infopath 2010 VSTA + WF + Timer Job + BI 之 报销单实例系列---------创建报

[复制链接]

尚未签到

发表于 2015-9-27 08:14:28 | 显示全部楼层 |阅读模式
  关于Infopath的详细操作步骤这里不在详细介绍,如果想更深入的了解Infopath如何使用,请下载视频教程(英文)自己学习。
  根据上一篇的介绍,先把报销单完成,完成后的报销单击如图所示
DSC0000.png
DSC0001.png
  下面介绍一下详细开发步骤:
  第一步:创建报销人,采用默认值,用到了内置函数
DSC0002.png
  第二步:创建年月,同样要用到内置函数,函数的详细用法在图上会说明的
DSC0003.png
  这是两个比较特殊的字段,做了详细说明,还有一个字段是 报销金额,这个字段是字符类型,因为这个值是通过VSTA编程计算得到的,目前情况下只是字符,如果是数据会提示错误,目前没有找到合适的解决办法,代码会在后面写出来的,如果有好方法的兄弟可以给点指点。
  第三步:配制VSTA编程的代码
  选择---文件----窗体选项,会弹出如下窗体
DSC0004.png
  第四步:打开编码窗体,添加代码,计算报销金额的值。
DSC0005.png
  第五步:编写代码,并计算总金额
DSC0006.png
  主要代码介绍



  public void 金额_Changed(object sender, XmlEventArgs e)
{
XPathNavigator getData = this.CreateNavigator();
XPathNavigator expensiveGroup = getData.SelectSingleNode("/my:ExpensiveReport/my:Expensive",NamespaceManager);
XPathNodeIterator expensiveAmount = expensiveGroup.SelectDescendants("ExpensiveDetail", expensiveGroup.NamespaceURI, false);
double amountTotal = 0;
string amountValue = "";
foreach (XPathNavigator amount in expensiveAmount) //遍历金额字段
            {
amountValue = amount.SelectSingleNode("my:金额", NamespaceManager).Value;
if (!string.IsNullOrEmpty(amountValue))
{
amountTotal += double.Parse(amountValue);
}
}
//设置报销金额的值
//通过查找资料发现这里只能设置String的值,如果设置Double类型会出错的,目前没有办法解决设置数字类型的值
//如果有知道的兄弟,请回复一下,不胜感激
getData.SelectSingleNode("/my:ExpensiveReport/my:报销金额", NamespaceManager).SetValue(amountTotal.ToString());
  就这样一个报销单就完成了,目前在网上看到了别人建议,不要把代码写到报销单里面,这样维护与管理比较难,但是没有看到有关解决方法,只提出了建议,我知道的一种计算方法是在Workflow里面可以对总金额进行计算,但这一种方法,在填写报销单时总金额不能及时显示的,不知其他兄弟有何高见,有经验的兄弟可以与大家分享一下,关于代码应该在哪里写会更好一点。
  上面还有一个关于序号的问题,目前这个序号问题没有实现,技术实现方案:我想获取添加与删除的事件,当添加与删除的时,通过代码循环设置序号的,但目前不能触发这两个事件,不过网上有这样一篇博客,但是他的处理有点缺陷,如果添加几个后,删除其中一个,序号就不连续了。针对这个问题,兄弟们有何高见呢?
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-119272-1-1.html 上篇帖子: sharepoint读取站点下列表 下篇帖子: Sharepoint 2010 BDC 之 访问已被业务数据连接拒绝 ,经过九九八十一难修成正果
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表