鼠标编程:我们如何逃避CRM例程

什么是鼠标编程? 这是创建避免编写代码的用户界面的原理。 许多人批评这种方法:他们说用鼠标编程不适合真正的开发人员,所有内容都应该在代码中。 但是在此之前,即使要画一个圆,您也需要了解同一Basic语法的基础知识。 现在,任何用户都可以在任何简单的图形编辑器中绘制任何形状,这甚至不称为编程,因为操作太简单了。 这是用户界面的发展,它使与计算机的交互变得更加容易。 在本文中,我将分享我们在CRM Dynamics中最大化“用鼠标编程”原理的经验。



在创建新服务时,我们始终专注于用鼠标最大化“编程原理”。 也就是说,在解决问题时,您需要考虑:如何确保随后不会因功能改进而再次出现? 摆脱常规的渴望将加速产品的开发。 如果用户希望经常更改表单的某些可视部分,请给他一种机制,使您可以自己执行此操作,而不会分散您对主要目标的注意力,但同时又不会干扰系统。 如果在设计阶段我们以最简单的解决方案为指导,并将所有内容放入代码中,那么肯定会更快地实施第一步。 但是随着时间的流逝,在产品支持阶段,您可能会沉迷于运营工作-编辑报告,添加目录以及从模板系统生成业务文档。 最终,系统开发可能会停止。

CRM Dynamics的功能


CRM Dynamics提供了用于构建业务流程序列的图形界面-您可以使用鼠标移动块并构建特定的序列和依赖关系,而无需任何代码。 但更有趣的是,在这里您可以用单个鼠标创建用户界面,就像在内置表单设计器中一样容易。 因此,开发人员可以在几分钟内以单一样式形成多种形式。 当然,这可以加快开发速度。 我将举例说明我们的解决方案。

资料验证


在绝大多数业务系统中,都对用户输入到系统中的数据进行了验证。 许多人以直接的方式处理任务-他们在代码中记录算法,以检查输入数据的存在性和有效性。 我们经历了一项单独服务的实施,该服务使业务管理员(我们的特权用户)可以使用用户界面中的简单机制来配置验证。 是的,我们实施的第一步(形成验证方法)仍然是程序员编写的代码。 但是他用一种简单的语言编写了一种用于在用户表单中构建查询的语言-这意味着具有构建查询基本技能的高级用户也可以形成类似的方法。 此后,普通用户已经自行收集了完整的验证路径并设置了使用条件。

考虑一个具体的例子。 我们正在检查系统中个人护照的可用性。 我们在代码中对其进行描述,并将此方法提供给业务管理员。 此外,所有基本关系都已注册在相应的对象中。 业务管理员已经使用基本界面和系统功能通过鼠标独立配置了所有连接,确定在业务产品生命周期的哪个阶段以及使用此方法的产品,即:是否有必要检查借款组织的负责人,担保人的会计师或应用程序中的其他角色和关系。 护照本身也以相同的方式检查,并且与此相关的条件和关系由业务管理员确定。 我们不参与此过程。


用户通过指定以下名称来创建停止条件:名称,阶段,产品和验证对象


使用验证方法配置验证对象的链接


开发人员仍在设置验证方法,但是在这里用户可以关闭然后启用带有复选框的选中属性

打印表格


最大限度地发挥“用鼠标编程”原理的功能的另一个示例是印刷表格。 在Dynamics中,可以通过从系统中提取数据来最初为合同,同意书和其他客户文档的打印表格创建模板。 但是,此功能的标准实现有许多业务无法忍受的限制,因此我们必须构建一个更灵活的机制。

第一个快速解决方案是使用SQL和SSRS通过系统中的报告机制生成打印表格。 在其他解决方案中,我已经多次遇到这种情况。 但是,随着我们系统开发工作的不断深入,打印表格变得越来越复杂。 结果,我们沿着与上一个示例类似的路径进行操作:我们实现了对SQL查询的处理,并使用Open XML从中构建了一组标记。 业务用户可以通过使用鼠标将标签放置在模板的静态文本中来重用此查询,从而创建并快速更改合同,调查表和其他业务文档的形式。

结果,我们对所有基本属性提出了很高的要求,只有当新属性出现时才会改变。 在它的帮助下,用户将可以随时在线收集所需的印刷表格。 为了加快请求的执行速度,我们总是可以稍后在方便的时候进行连接,而不会违反scrum的原则,如有必要,可以为特定需求进行计划和提出更理想的请求。


这是Word中完成的模板


这是用户对打印表格的偏好

在Excel中,打印表单需要用于形成标签的其他解决方案,但我们也可以完成此任务。 从表面上看,对于用户来说,他们所做的一切都与使用Word模板相同。

在数据验证和打印表格的创建中,较低水平的服务(尽管部分)仍在我们这边。 但是将来我们计划创建一个方便的图形查询生成器。 然后,我们可以使用这些易失性系统组件为业务管理员提供99%的工作。

使用我们使用的方法,当然,最初的人工成本会大得多-毕竟,编写一份完整的服务会更加困难。 但是,我们不是要提供成品并忘记它的集成承包商。 我们了解我们将继续使用该产品并进行开发。 遵循“用鼠标编程”的原理,我们节省了进一步的系统支持。

还有一个细节值得一提。 为了遵循通过“用鼠标编程”的要素来最大化功能的原则,需要具有较高资格的专家-开发人员和分析人员不仅要解决当前的功能要求,而且还可以展望未来,最终完成最大的潜在任务以进行进一步的开发。

当然,与使用代码相比,“用鼠标编程”的可能性的实现存在一定的局限性,因为在我们的情况下,所有功能都将由开发人员预先确定。 但这激励了用户开发工具的功能,灵活性和便利性。

Source: https://habr.com/ru/post/zh-CN419181/


All Articles