【问题标题】:Using InfoPath for importing and exporting data使用 InfoPath 导入和导出数据
【发布时间】:2011-02-09 07:56:49
【问题描述】:

我正在编写的应用程序需要解决以下情况:

销售人员和客户位于异地。他们正在敲定一份需求清单,并将输入在某些时候需要输入到现场数据库中的业务数据。

我的想法是,销售人员会得到一个使用默认值几乎完成的 InfoPath 文档,然后将其交给客户。在客户处更新文档以满足客户的需要。我还必须说明文档是通过电子邮件在销售人员和客户之间来回传递的。

当销售人员返回办公室时,他将 InfoPath 上传到数据库中,并且只需很少的用户交互即可更新订单。

现在回答问题:

  1. 这是一个可行/明智的解决方案吗?有关如何解决此问题的其他建议?
  2. 当销售人员将文档放在 U 盘上或通过电子邮件发送给客户时,我如何确保表单和数据保持一致?
  3. 如何(使用 C# 代码)使用默认值填写表单?
  4. 如何回读更改?

Sharepoint 不是一个选项。

【问题讨论】:

  • 我想击败我的老板,只要他一开始就说“哦,这可以用 InfoPath 完成”。是的,它可以完成。但是应该完成吗? (至少没有提到表单服务 ;-)
  • 我支持你...但是当我需要来自我的应用程序之外的用户的经过验证的数据时,是否有比(坏)InfoPath 更好的可行解决方案?

标签: c# infopath


【解决方案1】:

您需要考虑的一些问题

  • 客户是否安装了 infopath,因此可能无法查看文档。
  • 如果您通过电子邮件发送文档或需要客户查看,通常只传输带有指向表单模板的指针的数据。如果您希望客户对其进行更新并将其发回,则模板需要位于可公开访问的位置。
  • 数据存储为 XML 文档,因此作为启动的一部分,您可以检测到它是一个设置了您需要的默认值的新表单。

当您将表单发布到网络文件夹时,它还会询问表单的本地路径。这允许不连接的场景。

根据我的经验,当您可以控制环境时,InfoPath 是一个很好的工具。一旦您离开受控环境,它就开始成为一个可行的选择,因为您必须开始跳过箍以使其按应有的方式工作。

编辑

一个你对环境失去控制的人我认为网络界面是要走的路。

销售人员可以在网站上创建一个新文档,后端填充所有必要的默认值。可以将文档链接通过电子邮件发送给客户,客户可以通过 Web 界面更新他们的资料,然后销售人员可以完成该流程。

【讨论】:

  • 是的...您在重申我的许多担忧... :) 尽管如此,我没有任何替代方案(除了 Word/Excel 之外,实际上会使情况变得更糟)。
  • 我在网络界面上与您同在。这是我最喜欢的解决方案,但在这个项目中实施起来非常困难,因为公司不允许将其暴露在互联网上,并且没有针对客户的 VPN 解决方案(外联网?)。我投票给你是因为你的解决方案可能是正常情况下的最佳解决方案。
  • 我明白了。我明白你的意思。讨厌公司将您的开发选择限制到使您的任务几乎不可能完成的程度。通常最终会遇到维护和扩展解决方案的噩梦。