WorldSkills是一项针对22岁以下年轻人的国际专业比赛。
国际决赛每两年举行一次。 今年的决赛场地是
喀山 (上一届决赛于2017年在阿布扎比举行,下一届将于2021年在上海举行)。
世界技能锦标赛是专业水平最高的世界锦标赛。 他们从职业开始,近年来,越来越多的人关注“未来的职业”,包括IT学科,为此在喀山锦标赛上分配了一个单独的庞大集群。
IT部门具有一种能力(特定的“体育”),称为“企业软件解决方案”(IT Software Solutions for Business)。
在每次比赛中,允许使用的工具清单都是有限的。 并且,例如,对于“景观设计”,可能的工具列表受到限制(当然,没有指定明确的制造商或颜色),那么在“企业软件解决方案”能力范围内,参与者可以使用的已批准技术的列表仅限于特定技术和特定的平台(具有一组特定框架的.NET和Java)。
1C在此问题上的立场如下:信息技术是一个非常活跃的领域,新技术和开发工具正在世界上不断出现。 从我们的角度来看,允许专家使用他们想要的和习惯的工具是正确的。
在2018年秋天,WorldSkills管理层听到了我们的声音。 现在有必要测试将新技术纳入比赛的方法。 这不容易。
在喀山锦标赛的基础架构列表中,他们包括1C:企业平台(1C:企业),并组织了用于企业沙盒的IT软件解决方案实验站点。

请注意,锦标赛的官方语言是英语。 具有解决任务结果的所有材料(源代码,支持文档,软件界面)也应以该语言传输。 尽管有人怀疑(仍然!),但是1C可以用英语编写。

来自世界8个国家(菲律宾,台湾,韩国,芬兰,摩洛哥,俄罗斯,哈萨克斯坦,马来西亚)的9个幼儿参加了该网站的比赛。
陪审团(一个专家小组)由菲律宾的Joey Manansala的专家领导。

芬兰,阿联酋,哥斯达黎加,韩国,俄罗斯和台湾的专家参加了会议。
应当单独注意的是,来自俄罗斯(Pavkin Kirill,Sultanova Aigul)和哈萨克斯坦(Vitovsky Ludwig)的参与者决定使用1C:企业平台作为比赛的一部分。 其余参与者使用.NET进行桌面开发,使用Android Studio进行移动开发。 有趣的是,选择1C的参与者还很年轻(Kirill是Stavropol的一名学生,今年升至11年级,Aigul是大学生,Ka斯坦的喀山),而其竞争对手则更有经验(例如,来自韩国是2013年莱比锡世界技能大赛的冠军;每个人都有世界技能方面的经验,并拥有几年的行业专业经验。
考虑到参赛者在比赛的框架中使用了各种现代技术,我们有机会在真正的战斗条件下测试1C:企业平台,以比较在其帮助下获得的解决方案的质量以及在其使用下获得的开发速度。
另外,我们注意到,在用于企业沙箱平台的特殊IT软件解决方案框架中,参与者执行的任务与用于企业IT软件解决方案主平台的参与者相同。
任务本身对于某项业务的自动化而言是一项复杂的任务,今年,有条件的公司KazanNeft成为了一个业务的典范。
图例
喀山石油公司是Ta斯坦共和国最大的石油公司之一,是该领域的国家市场参与者和国际认可的品牌。 该公司的总部位于俄罗斯喀山,专门从事油田,石油产品和天然气的现场研究,生产,生产,精炼,运输以及销售和分销。

随着公司实施在整个俄罗斯快速扩张和建立新办事处的战略,公司管理层决定引入旨在维护和管理某些业务的新业务自动化软件。
冠军条款
任务以模块(会话)的形式分配给参与者,要求在有限的时间内实施。 共有7个模块。 在桌面上进行三个会话进行解决-每个会话需要2.5个小时。 三个会话-客户端-服务器开发,其中客户端是移动应用程序,以及客户端和服务器之间的通信是通过WEB-API进行的。 为此分配了3.5个小时。 最后一个会话-现有软件的逆向工程任务,为2.5小时。 作为逆向工程的一部分,参与者必须根据提供给他们的信息,设计应用程序数据库的结构(通过构建ER图),分析系统的使用场景(通过构建用例图),并根据提供的功能要求开发和设计软件解决方案界面。
作为开发平台,它们在主要平台.NET(C#)和Java(包括用于移动开发的Android Studio)上使用。 实验性的SandBox使用.NET,Java和1C:企业版8.3.13。
根据每次会议的结果,专家们对结果进行了评估-一个现成的可行项目,可以执行在会议开始时设定的任务。
任务的一个特点是它们的“活力”-很多要求和有限的时间。 大多数任务不是特殊的奥林匹克运动问题,而是非常接近实际的工业问题-专家每天都会面对这些问题。 但是任务很多,时间也很有限。 参与者必须解决最大数量的任务,这将为企业带来最大的利益。 从算法学的角度来看,一项艰巨的任务比基本任务具有更大的权重,这完全不是事实。 例如,为业务创建三个表的有效会计系统比漂亮的报告表更为重要,因为没有这些表就不需要使用复杂的算法。

我们要求比赛的获胜者,来自俄罗斯的参赛者Kirill Pavkin,向我们详细介绍任务是什么以及他如何解决问题。

下面是任务的描述,是西里尔本人关于他如何解决任务的故事。 我们还请1C的员工Vitaliy Rybalka(针对商业沙箱的IT解决方案专家之一)对Cyril的决定发表评论。
作为分配的一部分,需要自动执行几种类型的用户的活动:
- 负责会计公司资产
- 负责公司资产的非计划维修和计划维护
- 组件和物料采购经理
- 石油勘探和石油生产单位
- 高层管理人员需要分析报告
第一场
从资产(例如车队)的角度来看,有必要实施其会计(建立新资产,编辑当前资产),快速搜索和各种过滤器以显示信息,在公司各部门之间以及资产组之间移动资产。 保留此类移动的历史记录,并在将来对其进行分析。 资产会计主要针对移动用户组。
Kirill :一个有趣的子任务是资产列表中按钮的实现。 解决方案使用动态列表:我们编写一个任意请求,并且在服务器上接收数据时,我们将图像库的导航链接分配给图像库中的必要字段。
根据条件,可以通过两种方式将照片附加到资产:拍照(多媒体)并从图库中选择(文件选择对话框)。
屏幕旋转时必须重新绘制某些表格:

更改屏幕设置时,我们将更改按钮组的可见性。
有趣但简单的任务包括动态列表中的过滤器,两个字段(数字和名称)的搜索,资产序列号的生成。
专家评论 :从1C:企业平台解决方案的角度来看,这项任务是可以理解的。 除了实际创建移动应用程序外,还必须注意将数据从“服务器”的DBMS(台式机上的MS SQL)传输到移动应用程序,反之亦然。 为此,我们在桌面“代理应用程序”中使用了外部数据源和http服务的机制。 对于移动平台本身,增加的复杂性通过将图像输出到动态列表来表示。
第二场
有必要对公司资产进行维修管理。 作为此任务的一部分,有必要保留一份维修请求清单(按单位和团体),考虑紧急维修的优先级,根据优先级计划维修时间表,订购必要的组件并考虑现有组件。 一个有趣的子任务是某些组件的到期日期; 如果已经为给定资产订购了零件并且其期限尚未到期,则对于该资产,无需再次购买该零件。 修复界面是为公司软件的桌面组件开发的。
还必须为两个角色创建一个重要的授权表单:负责人和服务经理。 特殊之处在于授权后,您必须自动选择其中一个角色。

负责人可用的列表如下:
Kirill :您只能在此处突出显示未完成的服务请求的积压。 它通过在动态列表中有条件出现来解决。
通过单击屏幕底部的按钮,用户可以转到以下表格:

从1C的角度来看,这种形式没有什么复杂的。
服务经理可以使用的表格如下:

该表格按优先级和请求日期排序。 通过单击下面的按钮,用户可以转到所选请求的形式:

除了防止傻瓜,还建议以这种形式实施一份备件清单以进行维修。 子任务很有趣,因为零件具有到期日期。 这意味着,如果该资产已经发生紧急情况,并且已订购了该资产的一部分,但其有效性尚未到期,则可以重新使用该资产。 这应该显示给用户。
专家评论 :在这里,西里尔本人正确地强调了。 从1C:企业平台上的实施角度来看,没有什么令人生畏的。 需要对会计和备件使用条件以及整个任务的有效执行进行认真分析。 另外,有必要正确设置服务请求的计费。 主要的困难只是时间压力为2.5小时。
此外,与移动开发一样,参与者应正确地从外部DBMS(MS SQL)接收数据。
第三场
对于维护(维护),建议实施长期计划服务。 这里一个有趣的功能是要求按条款形成资产的维护计划,例如,第三天的第二个月。 因此,对于某种定量指标而言,例如汽车的里程表(每5000km换油一次,每20,000km换一次轮胎)。 维护经理应该已经收到一个方便的移动应用程序,该应用程序可以动态显示指定期间内过期,当前和已完成维护的列表。 此外,每种维护类型均应根据特别同意的规则涂上颜色。 该移动应用程序应该提供新的维护计划的建立,并在服务器上将该信息的操作更新标记为已经在车间直接完成。
西里尔(Cyril) :维修有两种类型:基于时间(基于时间)和里程(基于行驶)。 在每个变体之内都是允许的。 例如,应该在每月的13号星期五或每20,000公里制定一次维修计划。 如果任务旁边有对号,则认为该任务已完成。
提供了对列表中的任务进行排序的条件。 另外,应根据情况突出显示每一行。
当您单击下面的按钮时,可以创建一个新的服务计划:

根据所选图表类型显示必填字段。 如果我们选择每周时间表,则将向我们显示两个字段:星期数和星期几。 例如,每3周的星期二。
专家评论 :与之前在1C:Enterprise平台上进行的移动开发一样,此处的任务在全球范围内分为两个部分-通过Web-api与“服务器”进行通信以及动态显示具有条件格式和过滤(选择)数据的动态列表。 此外,对按期和按数量进行维修的会计要求也很有趣。
会议4
对于组件和消耗品,需要考虑库存,计划支出和将来的购买。 此外,此处还显示了批次帐户,但不是所有货物。 所有这些必须在许多仓库的框架内进行,包括收据,支出和转移。 根据任务的条件,在使用实际准备金时,有必要确保余额的控制并避免冲突。 采购经理在软件的桌面版本中工作。
主要形式如下:
西里尔(Cyril) :除了根据条件进行排序外,还建议为用户提供任意排序的选项。 在1C,您甚至都无法考虑它。 带有发票编号的字段应以绿色突出显示。
在本次会议上,他们要求控制仓库中的货物余额。 因此,尝试删除收据时应显示相应的消息。 在这里,我们回顾了平台专家的考试。 发票表格如下:

每个部分都有一个功能,通过它可以确定是否应将其附加到特定的参与者。 对于此类备件,必须在所有文件中注明批号。 这是监视残留零件时的附加测量。 它们也可以在仓库之间移动:

该表格与前一个表格的不同之处仅在于,代替客户,必须指出要从其进行交货的仓库。 选择零件后,将自动编译批次的选择列表。 用户可以生成有关备件余额的报告:

在这里,我们可以看到所选仓库中的剩余货物。 仓库右边的复选框允许您配置过滤和排序。 该列表没有针对所需零件的明确批次分隔。 可以使用右侧的导航链接查看选定备件的每个批号的余额。
专家评论 :在本次会议(模块)中,派对会计首次出现。 参与者不仅需要自己考虑耗材和货物,还需要分批考虑。 总的来说,该任务非常适合1C:企业平台-要进行全部开发,您必须从头开始并花2.5个小时的时间。
会议5
在第五届会议上,我们承担了井管理功能的任务。 对于侦察小组,有必要创建一个移动应用程序来记录用于石油或天然气生产的油井。 在这里,有必要从服务器获取一个实际井的清单,并在考虑各层深度的情况下,以图形方式选择显示的井(层,土,砂,石,油)。 另外,该应用程序应该允许更新有关井的信息并添加新井。 对于此应用程序,客户在脱机和联机模式(控制与服务器的通信)中设置特殊的工作条件-每5秒钟检查一次与服务器的通信,并根据服务器的可用性更改应用程序的功能。
西里尔(Cyril) :选择井时,将显示条形图,在该条形图上会突出显示油气层的层数。 对于每一层,将存储其名称,颜色和范围。
由于设计功能,平台中内置的图表无法保存,但电子表格文档做得很好。可以创建和修改孔:
除了对傻瓜的多重保护之外,这种形式没有什么有趣的。进一步建议控制与服务器的连接。每5秒钟我们尝试连接一次。如果无法解决问题,则我们将限制该应用程序的功能并显示一条消息。专家评论 : . , 1: – - , - . . WorldSkills ( ). – 5 .
6
- – Dashboard. . :

Dashboard , FIFO/LIFO/« ».
, (« »).
: , :
, .
. XML- , .
:

- . , . (FIFO, LIFO ) , . . . , .
: . 1: – , ( – , — ), . LIFO/FIFO , / ..
7
(7 ) (exe-) . - 2 : -. , – .
MS Visio.
: 1: . MS Visio. 1.
SQL-. 1C C#, , . - Execute Microsoft SQL Studio.
. . http-.
: 1/1 – 1: ( ), C#/Java (Android Studio ) – , . . – .
:), « » – , , , . 4 , . , 100% .
.
, , , , , .
— , - . .
结果
.
, 1:. 17 , .
. . :

, , .
, , 1:, — 1:.
, ( ) . , 1.
