WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben
WorldSkills ist eine internationale Bewegung, die Berufswettbewerbe für junge Menschen unter 22 Jahren organisiert.

Das internationale Finale findet alle zwei Jahre statt. Dieses Jahr war der letzte Veranstaltungsort Kazan (Das letzte Finale fand 2017 in Abu Dhabi statt, das nächste findet 2021 in Shanghai statt).

WorldSkills Championships sind die weltweit größten Berufsmeisterschaften. Begonnen hat man mit Arbeiterberufen, in den letzten Jahren wird immer mehr Wert auf „Zukunftsberufe“ gelegt, darunter auch IT-Disziplinen, für die bei der Meisterschaft in Kasan ein eigener großer Cluster eingerichtet wurde.

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Im IT-Block gibt es eine Kompetenz (eine bestimmte „Sportart“) namens „IT Software Solutions for Business“.

In jedem Wettbewerb ist die zulässige Liste der verwendeten Werkzeuge begrenzt. Und wenn beispielsweise für „Landschaftsdesign“ die Liste der möglichen Tools begrenzt ist (natürlich ohne Angabe eines expliziten Herstellers oder einer Farbe), dann in der Kompetenz „Softwarelösungen für Unternehmen“ die Liste der akzeptierten Technologien, die die Teilnehmer verwenden können ist streng begrenzt und weist auf bestimmte Technologien und bestimmte Plattformen hin (.NET und Java mit einem bestimmten Satz von Frameworks).

Die Position von 1C zu diesem Thema ist wie folgt: Informationstechnologie ist ein sehr dynamischer Bereich, neue Technologien und Entwicklungstools tauchen ständig auf der Welt auf. Aus unserer Sicht ist es richtig, Fachkräften die Werkzeuge zu überlassen, mit denen sie arbeiten wollen und gewohnt sind.

Im Herbst 2018 hörte uns die WorldSkills-Leitung zu. Jetzt mussten wir die Methodik zur Einbindung neuer Technologien in Wettbewerbe testen. Es ist nicht einfach.

Die 1C:Enterprise-Plattform wurde in die Infrastrukturliste der Meisterschaft in Kasan aufgenommen und eine experimentelle Plattform für IT-Softwarelösungen für Business Sandbox wurde organisiert.

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Bitte beachten Sie, dass die offizielle Sprache der Meisterschaft Englisch ist. Sämtliche Materialien mit den Ergebnissen der Aufgabenlösung (Quellcodes, Begleitdokumentation, Softwareschnittstellen) sollten ebenfalls in dieser Sprache übermittelt werden. Trotz der Zweifel einiger Leute (noch!) kann man in 1C auf Englisch schreiben.

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Am Wettbewerb vor Ort nahmen 9 junge Männer aus 8 Ländern (Philippinen, Taiwan, Korea, Finnland, Marokko, Russland, Kasachstan, Malaysia) teil.

Die Jury – ein Expertenteam – wurde von einem Experten aus den Philippinen, Joey Manansala, geleitet.

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Vertreten waren Experten aus Finnland, den Vereinigten Arabischen Emiraten, Costa Rica, Korea, Russland und Taiwan.

Unabhängig davon stellen wir fest, dass Teilnehmer aus Russland (Pavkin Kirill, Sultanova Aigul) und Kasachstan (Vitovsky Ludwig) beschlossen haben, die 1C:Enterprise-Plattform im Rahmen des Wettbewerbs zu nutzen. Der Rest der Teilnehmer nutzte .NET für den Desktop und Android Studio für die mobile Entwicklung. Es ist interessant, dass die Teilnehmer, die sich für 1C entschieden haben, sehr jung sind (Kirill ist Schüler einer Schule in Stawropol, dieses Jahr ist er in die 11. Klasse eingetreten, Aigul ist Student, Kasan, Tatarstan), während ihre Gegner viel erfahrener waren ( zum Beispiel ein Teilnehmer aus Korea – Gewinner der WorldSkills-Meisterschaft 2013 in Leipzig; alle haben Erfahrung bei der Teilnahme an WorldSkills und mehrjährige Berufserfahrung in der Branche).

Da die Teilnehmer während des Wettbewerbs verschiedene moderne Technologien nutzten, hatten wir die Möglichkeit, die 1C:Enterprise-Plattform unter echten Kampfbedingungen zu testen und sowohl die Qualität der mit ihrer Hilfe erzielten Lösungen als auch die mit ihrer Nutzung erreichte Entwicklungsgeschwindigkeit zu vergleichen.

Unabhängig davon stellen wir fest, dass die Teilnehmer im Rahmen der speziellen Sandbox-Plattform „IT Software Solutions for Business“ die gleichen Aufgaben erledigten wie die Teilnehmer der Hauptplattform „IT Software Solutions for Business“.

Die Aufgabe selbst ist eine komplexe Aufgabe zur Automatisierung eines bestimmten Geschäfts; in diesem Jahr war das Beispiel eines Unternehmens das fiktive Unternehmen KazanNeft.

Legende

Kazan Oil ist eines der größten Ölunternehmen in der Republik Tatarstan und agiert als nationaler Marktteilnehmer und als international anerkannte Marke in diesem Bereich. Der Hauptsitz des Unternehmens, das auf Feldexploration, Produktion, Produktion, Raffinierung, Transport sowie Verkauf und Vertrieb von Öl, Erdölprodukten und Erdgas spezialisiert ist, befindet sich in Kasan (Russland).

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Da das Unternehmen eine Strategie der schnellen Expansion und der Schaffung neuer Niederlassungen in ganz Russland umsetzt, hat die Unternehmensleitung beschlossen, eine neue Geschäftsautomatisierungssoftware einzuführen, die auf die Aufrechterhaltung und Verwaltung bestimmter Abläufe abzielt.

Meisterschaftsbedingungen

Den Teilnehmern wurden Aufgaben in Form von Modulen (Sitzungen) mit der Auflage übertragen, diese in einer begrenzten Zeit zu erledigen. Insgesamt gab es 7 Module. Drei Sitzungen zum Lösen am Desktop – jeweils 2.5 Stunden. Drei Sitzungen – Client-Server-Entwicklung, wobei der Client eine mobile Anwendung war und die Kommunikation zwischen Client und Server über WEB-API erfolgte. Dies dauerte 3.5 Stunden. Letzte Sitzung – Aufgaben zum Reverse Engineering bestehender Software, 2.5 Stunden. Im Rahmen des Reverse Engineering mussten die Teilnehmer auf der Grundlage der ihnen zur Verfügung gestellten Informationen die Struktur der Anwendungsdatenbank entwerfen (durch Erstellung eines ER-Diagramms), Szenarien für die Verwendung des Systems analysieren (durch Erstellung eines Anwendungsfalldiagramms) und außerdem Entwickeln und gestalten Sie die Schnittstelle der Softwarelösung gemäß den bereitgestellten funktionalen Anforderungen.

Die wichtigsten verwendeten Entwicklungsplattformen waren .NET (C#) und Java (einschließlich Android Studio für die mobile Entwicklung). Die experimentelle SandBox verwendete .NET, Java und 1C:Enterprise Version 8.3.13.

Am Ende jeder Sitzung bewerteten die Experten das Ergebnis – ein fertiges, umsetzbares Projekt, das die zu Beginn der Sitzung gestellten Aufgaben umsetzt.

Die Besonderheit von Aufgaben ist ihre „Vitalität“ – viele Anforderungen und begrenzte Zeit. Bei den meisten Problemen handelt es sich nicht um spezielle Olympia-Probleme, sondern um reale Industrieprobleme, mit denen sich Fachleute jeden Tag auseinandersetzen. Aber es gibt viele Aufgaben und die Zeit ist begrenzt. Der Teilnehmer muss die größtmögliche Anzahl an Problemen lösen, die den größten Nutzen für das Unternehmen bringen. Es ist keineswegs eine Tatsache, dass eine komplexe Aufgabe aus algorithmischer Sicht mehr Gewicht hat als eine elementare. Beispielsweise ist die Erstellung eines funktionierenden Buchhaltungssystems aus drei Tabellen für ein Unternehmen wichtiger als ein schönes Berichtsformular mit komplexen Algorithmen, das ohne diese Tabellen völlig unnötig ist.

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Wir haben den Gewinner des Wettbewerbs, einen Teilnehmer aus Russland, Kirill Pavkin, gebeten, uns mehr über die Aufgaben zu erzählen und wie er an deren Lösung herangegangen ist.

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Nachfolgend finden Sie eine Beschreibung der Aufgabe und Kirills eigene Geschichte darüber, wie er die Aufgabe gelöst hat. Wir haben auch Vitaly Rybalka, einen 1C-Mitarbeiter und einen der IT Solutions for Business Sandbox-Experten, gebeten, sich zu Kirills Lösungen zu äußern.

Im Rahmen der Aufgabe war es notwendig, die Aktivitäten verschiedener Benutzertypen zu automatisieren:

  • Verantwortlich für die Buchhaltung des Unternehmensvermögens
  • Verantwortlich für außerplanmäßige Reparaturen und geplante Wartung von Unternehmensanlagen
  • Einkaufsleiter für Komponenten und Verbrauchsmaterialien
  • Abteilungen für Ölexploration und Ölproduktion
  • Das Top-Management benötigte analytische Berichte

Session 1

Aus Sicht der Vermögenswerte (z. B. einer Fahrzeugflotte) war es notwendig, deren Buchhaltung (Erstellung neuer, Bearbeitung bestehender), Schnellsuche und verschiedene Arten von Filtern zur Anzeige von Informationen sowie die Verschiebung von Vermögenswerten zwischen den Unternehmensbereichen umzusetzen und Gruppen von Vermögenswerten selbst. Behalten Sie den Verlauf solcher Bewegungen bei und stellen Sie in Zukunft Analysen dazu bereit. Die Anlagenbuchhaltung wurde hauptsächlich für mobile Benutzergruppen implementiert.

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Kirill: Eine interessante Teilaufgabe war die Implementierung von Schaltflächen in der Asset-Liste. Um dieses Problem zu lösen, haben wir eine dynamische Liste verwendet: Wir schreiben eine beliebige Anfrage und weisen beim Empfang von Daten auf dem Server den erforderlichen Feldern Navigationslinks zu Bildern aus der Bildbibliothek zu.

Konventionell können Fotos auf zwei Arten an ein Asset angehängt werden: Nehmen Sie ein Foto auf (Multimedia) und wählen Sie es aus der Galerie aus (Dateiauswahldialog).

Einige Formen mussten beim Drehen des Bildschirms neu gezeichnet werden:

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Wenn wir Bildschirmparameter ändern, ändern wir die Sichtbarkeit von Schaltflächengruppen.

Zu den unterhaltsamen, aber einfachen Aufgaben gehören das Filtern in einer dynamischen Liste, die Suche in zwei Feldern (Nummer und Name) und die Generierung einer Asset-Seriennummer.

Expertenmeinung: Aus Sicht der Lösung auf der 1C:Enterprise-Plattform ist die Aufgabe ganz klar. Neben der eigentlichen Erstellung der mobilen Anwendung musste man sich auch um die Übertragung der Daten vom DBMS-„Server“ (MS SQL auf dem Desktop) zur mobilen Anwendung und zurück kümmern. Hierzu wurden in der Desktop-„Proxy-Anwendung“ die Mechanismen externer Datenquellen und http-Dienste genutzt. Für die mobile Plattform selbst stellte die Anzeige von Bildern in einer dynamischen Liste eine erhöhte Komplexität dar.

Session 2

Es war notwendig, ein Reparaturmanagement für die Vermögenswerte des Unternehmens einzurichten. Im Rahmen dieser Aufgabe war es erforderlich, eine Liste der Reparaturanfragen (nach Abteilungen und Gruppen) zu führen, die Prioritäten für die Dringlichkeit von Reparaturen zu berücksichtigen, einen Reparaturplan entsprechend den Prioritäten zu planen, die erforderlichen Komponenten zu bestellen und abzunehmen unter Berücksichtigung der bereits vorhandenen. Eine interessante Teilaufgabe bestand darin, dass einige Komponenten ein Verfallsdatum hatten; Wenn für eine bestimmte Anlage bereits ein Teil bestellt wurde und die Frist noch nicht abgelaufen ist, besteht für diese Anlage keine Notwendigkeit, dasselbe Teil erneut zu kaufen. Die Reparaturschnittstelle wurde für die Desktop-Komponente der Unternehmenssoftware entwickelt.

Außerdem war es notwendig, ein nicht triviales Autorisierungsformular für zwei Rollen zu erstellen: die verantwortliche Person und den Servicemanager. Die Besonderheit besteht darin, dass Sie nach der Autorisierung automatisch eine der Rollen auswählen müssen.

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Nachfolgend finden Sie das dem Verantwortlichen zur Verfügung stehende Listenformular:

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Kirill: Hier kann nur die Hervorhebung ausstehender Serviceanfragen hervorgehoben werden. Gelöst durch bedingte Formatierung in einer dynamischen Liste.

Durch Klicken auf die Schaltfläche am unteren Bildschirmrand gelangt der Benutzer zu folgendem Formular:

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Aus 1C-Sicht ist in dieser Form nichts Kompliziertes.

Das Formular, das dem Servicemanager zur Verfügung steht, ist unten:

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Dieses Formular ist nach Priorität und Datum der Anfrage sortiert. Durch Klicken auf die Schaltfläche unten gelangt der Benutzer zum Formular der ausgewählten Anfrage:

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Zusätzlich zur Sicherheit wurde in diesem Formular die Implementierung einer Liste von Ersatzteilen für Reparaturen vorgeschlagen. Die Teilaufgabe ist interessant, weil die Teile ein Verfallsdatum haben. Das heißt, wenn bei diesem Vermögenswert bereits ein Notfall eingetreten ist und für ihn ein Teil bestellt wurde, dessen Gültigkeitsdauer noch nicht abgelaufen ist, kann dieser wiederverwendet werden. Dies sollte dem Benutzer angezeigt werden.

Expertenmeinung: Hier hat Kirill selbst die Akzente richtig gesetzt. Aus Sicht der Implementierung auf der 1C:Enterprise-Plattform gibt es nichts extrem Kompliziertes. Gefordert waren eine sorgfältige Analyse der Bedingungen für die Abrechnung und den Einsatz von Ersatzteilen sowie eine kompetente Umsetzung der Gesamtaufgabe. Darüber hinaus war es notwendig, Serviceanfragen ordnungsgemäß zu erfassen. Die Hauptschwierigkeit war lediglich der Zeitdruck von 2.5 Stunden.

Darüber hinaus musste der Teilnehmer, wie bei der mobilen Entwicklung, kompetent Daten von einem externen DBMS (MS SQL) beziehen.

Session 3

Für die Instandhaltung (Instandhaltung) wurde vorgeschlagen, einen langfristigen Planungsdienst zu implementieren. Ein interessantes Feature hierbei war die Anforderung, einen Wartungsplan für Anlagen nach Zeitplan zu erstellen – zum Beispiel jeden zweiten Monat am 3. Ebenso nach einem quantitativen Indikator – zum Beispiel nach dem Kilometerzähler eines Autos (Ölwechsel alle 5000 km, Reifenwechsel alle 20000 km). Der Wartungsmanager sollte eine praktische mobile Anwendung erhalten haben, die dynamisch eine Liste überfälliger, aktueller und abgeschlossener Wartungen für einen bestimmten Zeitraum anzeigt. Darüber hinaus musste jede Wartungsart nach speziell vereinbarten Regeln farbig lackiert werden. Die mobile Anwendung sollte die Erstellung neuer Wartungspläne und die Markierung bereits erledigter Wartungspläne direkt in den Werkstätten mit zeitnaher Aktualisierung dieser Informationen auf dem Server gewährleisten.

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Kirill: Es gibt zwei Arten von Reparaturen: zeitbasierte und laufbasierte Reparaturen. In jedem ist Variabilität erlaubt. Beispielsweise soll die Reparatur laut Plan jeden Freitag, den 13. des Monats oder alle 20,000 Kilometer erfolgen. Eine Aufgabe gilt als erledigt, wenn rechts daneben ein Häkchen steht.

Für das Sortieren von Aufgaben in der Liste wurde eine Bedingung bereitgestellt. Außerdem sollte jede Zeile je nach Bedingungen farblich hervorgehoben werden.

Durch Klicken auf die Schaltfläche unten können Sie einen neuen Serviceplan erstellen:

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Abhängig vom ausgewählten Diagrammtyp werden die erforderlichen Felder angezeigt. Wenn wir einen wöchentlichen Zeitplan ausgewählt haben, werden uns zwei Felder angezeigt: die Wochennummer und der Wochentag. Zum Beispiel dienstags alle 3 Wochen.

Expertenmeinung: Wie bei der vorherigen mobilen Entwicklung auf der 1C:Enterprise-Plattform ist die Aufgabe hier global in zwei Komponenten unterteilt: Kommunikation mit dem „Server“ über eine Web-API und kompetente Anzeige einer dynamischen Liste mit bedingtem Design und Filterung (Auswahl). Daten. Darüber hinaus war es interessant, die Anforderung umzusetzen, Reparaturen sowohl nach Zeitraum als auch nach quantitativem Indikator zu erfassen.

Session 4

Bei Komponenten und Verbrauchsmaterialien mussten Bestände, Planungskosten und zukünftige Einkäufe berücksichtigt werden. Außerdem erschien hier eine Chargenabrechnung, jedoch nicht für alle Waren. All dies musste in mehreren Lagern verwaltet werden, einschließlich Eingang, Ausgabe und Bewegung. Gemäß der Aufgabenstellung galt es, die Kontrolle der Salden sicherzustellen und Konflikte bei der Arbeit mit aktuellen Beständen zu vermeiden. Einkaufsmanager arbeiten in der Desktop-Version der Software.

Das Hauptformular ist unten dargestellt:

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Kirill: Zusätzlich zur Sortierung anhand der Bedingung wurde vorgeschlagen, dem Benutzer die Möglichkeit zu geben, nach dem Zufallsprinzip zu sortieren. Bei 1C müssen Sie nicht einmal darüber nachdenken. Für Rechnungen sollte das Feld mit der Teilemenge grün hinterlegt sein.

In dieser Sitzung wurden sie gebeten, die verbleibenden Waren in den Lagerhäusern zu kontrollieren. Daher sollte die entsprechende Meldung angezeigt werden, wenn Sie versuchen, die Rechnung zu löschen. Hier erinnern wir uns an die Prüfung zum Plattformspezialisten. Die Form der Rechnung sieht wie folgt aus:

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Jedes Teil hat eine Eigenschaft, die bestimmt, ob es einer bestimmten Charge zugeordnet werden soll. Bei solchen Ersatzteilen ist es zwingend erforderlich, in allen Dokumenten die Chargennummer anzugeben. Dies ist eine zusätzliche Messung bei der Überwachung von Teilerückständen. Sie können auch zwischen Lagern verschoben werden:

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Das Formular unterscheidet sich vom vorherigen nur dadurch, dass Sie anstelle des Kunden das Lager angeben müssen, von dem aus die Lieferung erfolgen soll. Die Auswahlliste für die Charge wird nach der Auswahl des Teils automatisch zusammengestellt. Der Benutzer kann einen Bericht über Ersatzteilbestände erstellen:

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Hier können wir die verbleibende Ware im ausgewählten Lager einsehen. Mit den Kontrollkästchen rechts neben dem Lager können Sie Filter und Sortierung konfigurieren. Die Liste enthält keine explizite Losteilung für die Teile, für die sie erforderlich ist. Die Salden für jede Chargennummer des ausgewählten Ersatzteils können über den Navigationslink rechts eingesehen werden.

Expertenmeinung: In dieser Sitzung (Modul) erschien erstmals die Batch-Abrechnung. Die Teilnehmer waren verpflichtet, Verbrauchsmaterialien und Waren nicht nur einzeln, sondern auch pro Charge zu erfassen. Im Allgemeinen ist die Aufgabe perfekt für die 1C:Enterprise-Plattform – aber alles musste von Grund auf entwickelt und in 2.5 Stunden erledigt werden.

Session 5

In der fünften Sitzung wurden uns die Funktionen des Brunnenmanagements zugewiesen. Für Explorationsgruppen war es notwendig, eine mobile Anwendung zu erstellen, die Öl- oder Gasförderbohrungen berücksichtigt. Hier war es notwendig, eine Liste der aktuellen Brunnen vom Server zu erhalten und den ausgewählten Brunnen grafisch nach Schichten (Boden, Sand, Stein, Öl) unter Berücksichtigung der Tiefen jeder Schicht darzustellen. Darüber hinaus musste die Anwendung die Aktualisierung von Informationen über den Brunnen und das Hinzufügen neuer Brunnen ermöglichen. Für diese Anwendung stellt der Kunde spezielle Betriebsbedingungen im Offline- und Online-Modus ein (Steuerung der Kommunikation mit dem Server) – alle 5 Sekunden wird die Kommunikation mit dem Server überprüft und die Funktionalität der Anwendung je nach Verfügbarkeit des Servers geändert.

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Kirill: Wenn Sie eine Bohrung auswählen, wird ein Balkendiagramm angezeigt, das die Schichten bis zu den Öl- oder Gasvorkommen hervorhebt. Für jede Ebene werden Name, Farbe und Vorkommensbereich gespeichert. Aufgrund der Designmerkmale helfen die in die Plattform integrierten Diagramme nicht weiter, aber das Tabellenkalkulationsdokument meistert die Aufgabe perfekt. Brunnen können erstellt und geändert werden:

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Abgesehen von mehrfachem, narrensicherem Schutz gab es an dieser Form nichts Interessantes.
Als nächstes wurde vorgeschlagen, die Verbindung zum Server zu kontrollieren. Wir versuchen alle 5 Sekunden eine Verbindung herzustellen. Wenn es nicht funktioniert, schränken wir die Funktionalität der Anwendung ein und zeigen eine Meldung an.

Expertenmeinung: Die Aufgabe dieser Sitzung ist vor allem aufgrund ihrer grafischen Möglichkeiten interessant. Teilnehmer, die die 1C:Enterprise-Plattform nutzten, lösten das Problem auf zwei verschiedene Arten – einige nutzten einen Diagrammmechanismus, andere nutzten ein Tabellenkalkulationsdokument. Jede Methode hat ihre Vor- und Nachteile. Bei der Entscheidung bei der WorldSkills-Meisterschaft war die Zeit entscheidend (denken Sie noch einmal an das Zeitlimit). Eine weitere interessante Aufgabe besteht darin, den Server alle 5 Sekunden anzupingen und das Verhalten der mobilen Anwendung abhängig von der Verfügbarkeit oder Nichtverfügbarkeit des Servers zu ändern.

Session 6

Es wurde vorgeschlagen, einen Arbeitsbereich für das Top-Management zu schaffen – das Dashboard. Auf einem Bildschirm galt es, die allgemeinen Leistungsindikatoren des Unternehmens für einen bestimmten Zeitraum in grafischer und tabellarischer Form darzustellen. Das Hauptformular ist der Kostenbericht:

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Zusätzlich zum Dashboard war es notwendig, die Verteilung von Ersatzteilen für Anlagenreparaturen mithilfe der Abschreibungsmethoden FIFO/LIFO/„Das Billigste geht zuerst“ zu implementieren.

Bei der Verteilung wurde die Chargenabrechnung berücksichtigt, die Saldenkontrolle und der Schutz vor unbefugten Benutzeraktionen („Narrenschutz“) genutzt.

Kirill: Zur Lösung wurden Wertetabellen mit Software-Generierung von Spalten verwendet, da es beliebig viele davon geben kann:

  • Die erste Tabelle ist für die Gesamtkosten der Abteilungen pro Monat verantwortlich. Die unrentabelsten und profitabelsten Geschäftsbereiche sind rot bzw. grün hervorgehoben.
  • Die zweite Tabelle zeigt für jeden Monat die teuersten und am häufigsten verwendeten Teile. Wenn es mehrere Teile gibt, die die Kriterien erfüllen, sollten diese durch Kommas getrennt in einer Zelle angezeigt werden.
  • Die teuersten Anlagen (gemessen an den Ersatzteilkosten) werden in der ersten Zeile der dritten Tabelle angezeigt. In der zweiten Zeile wird die Abteilung angezeigt, zu der das oben stehende Asset gehört. Wenn es zwei teuerste Vermögenswerte mit denselben Kosten gibt, sollten sie durch Kommas getrennt in derselben Zelle angezeigt werden.

Die Diagramme wurden mithilfe der integrierten Mechanismen der Plattform angezeigt und programmgesteuert mithilfe von Abfragen ausgefüllt.

Außerdem wurde vorgeschlagen, die Unterstützung der Mehrsprachigkeit umzusetzen. Das Programm lädt XML-Dateien mit der Lokalisierung von Schnittstellenelementen und das Formular sollte bei der Auswahl einer Sprache in der Dropdown-Liste neu gezeichnet werden.

Wenn Sie auf die Schaltfläche in der unteren linken Ecke des Bildschirms klicken, öffnet sich das Formular zur Bestandsverwaltung:

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

In dieser Form fangen wir endlich an, Teile für Reparaturen auszugeben. Hier finden wir zunächst die Teile, die wir zur Reparatur des Vermögenswerts benötigen. Basierend auf den ausgewählten Feldern und der Verteilungsmethode (FIFO, LIFO oder Mindestpreis) werden die gefundenen Übereinstimmungen oder eine Meldung angezeigt, wenn keine Übereinstimmungen vorliegen. Anschließend können Sie die Teile als für die Reparatur dieser Anlage vorgesehen markieren. Die Balancekontrolle ist für die aktuelle Sitzung relevant. Wenn wir Details bereits zugeordnet haben, sind diese nicht mehr auffindbar.

Expertenmeinung: sehr interessante Sitzung. Es nutzt die Möglichkeiten der 1C:Enterprise-Plattform optimal aus – hier ist kompetentes Arbeiten mit virtuellen Tabellen von Akkumulationsregistern und programmatisches Arbeiten mit Formularelementen (erstens Tabellen, zweitens Überschriften) und Diagrammen möglich. Und sogar LIFO/FIFO bei der Bestandsanalyse, Gewinn-/Verlustanalyse usw.

Session 7

Am Ende der Aufgabe (Sitzung 7) stellte der Kunde eine Software (exe-Datei) für Projektaktivitäten und ein kurzes Video zur Arbeit damit zur Verfügung. Es war notwendig, ein Reverse Engineering durchzuführen und darauf basierend zwei Diagramme zu erstellen: ein Use-Case-Diagramm und ein Entity-Relationship-Diagramm. Darüber hinaus wurden einige Anforderungen an die zukünftige Erstellung von Software gestellt – es war notwendig, ein Schnittstellenlayout gemäß diesen Anforderungen zu erstellen.

Gemäß den Wettbewerbsbedingungen war für die Diagrammerstellung lediglich MS Visio erforderlich.

Expertenmeinung: In dieser Sitzung wurden die Möglichkeiten der 1C:Enterprise-Plattform praktisch nicht genutzt. Diagramme zu den Wettkampfbedingungen wurden in MS Visio erstellt. Aber ein Prototyp der Schnittstelle könnte in einer leeren 1C-Informationsbasis erstellt werden.

Allgemeine Bemerkungen

Zu Beginn jeder Sitzung wurde vorgeschlagen, Daten mithilfe eines SQL-Skripts zu importieren. Dies war der Hauptnachteil der Verwendung von 1C im Vergleich zu C#, da wir mindestens eine halbe Stunde damit verbracht haben, Daten in externe Datenquellen zu destillieren, unsere eigenen Tabellen zu erstellen und Zeilen aus externen Quellen in unsere Tabellen zu verschieben. Der Rest musste nur auf die Schaltfläche „Ausführen“ in Microsoft SQL Studio klicken.

Aus offensichtlichen Gründen ist die Speicherung von Daten auf einem mobilen Gerät keine gute Idee. Deshalb haben wir während mobiler Sitzungen eine Serverbasis erstellt. Dort speicherten sie Daten und ermöglichten den Zugriff darauf über http-Dienste.

Expertenmeinung: Das 1C/Nicht-1C-Gleichgewicht ist hier interessant – während 1C:Enterprise-Programmierer viel Zeit damit verbrachten, eine Verbindung zu einem externen DBMS herzustellen (Kirill erwähnte dies oben separat), verbrachten C#/Java-Entwickler (Android Studio für mobile Entwicklung) Zeit mit anderen Bereichen – Schnittstellen, mehr Code schreiben. Daher waren die Ergebnisse jeder Sitzung unvorhersehbar und für alle Experten äußerst interessant. Und diese Intrige blieb bis zum Schluss bestehen – schauen Sie sich nur die endgültige Siegertabelle mit der Punkteverteilung an.

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben
Kirill hat die Geschichte beendet :)

Abschließend sei daran erinnert, dass der Ausführende nicht „nur die Aufgabe gemäß den technischen Spezifikationen programmieren musste“ – er musste die Aufgabe analysieren, Blöcke für die Umsetzung von Teilaufgaben auswählen, sie entwerfen und entscheiden, was genau er sein würde Dies in der extrem kurzen Zeit umsetzen zu können. Alle 4 Tage musste ich unter starkem Zeitdruck agieren und oft jede weitere Sitzung von vorne beginnen. Selbst ein erwachsener Spezialist mit langjähriger Erfahrung in der Branche wird große Schwierigkeiten haben, die ihm für die Sitzung zugewiesene Aufgabe innerhalb der vorgegebenen Zeit zu 100 % zu erledigen.

Besonders hervorzuheben ist das eingeführte Bewertungssystem.

Für jede Sitzung entwickeln die Aufgabenautoren ein komplexes Kriteriensystem, das die Überprüfung der Funktionalität, der korrekten Bedienung, der Anforderungen an die Anwendungsoberfläche und sogar die Befolgung eines Styleguides umfasst, der den Teilnehmern speziell von dem Unternehmen zur Verfügung gestellt wird, für das sie ihre Lösungen entwickeln.

Die Bewertungskriterien sind sehr fein granuliert – da die Gesamtkosten der Sitzungsaufgabe mehrere zehn Punkte betragen, kann die Erfüllung eines Kriteriums dem Teilnehmer Zehntelpunkte einbringen. Dadurch wird ein äußerst hohes und objektives Niveau der Bewertung der Ergebnisse jedes einzelnen Wettbewerbsteilnehmers erreicht.

Ergebnisse

Die Endergebnisse waren beeindruckend.

In einem erbitterten Kampf gewann Kirill Pavkin aus Russland, der die 1C:Enterprise-Plattform nutzte. Kirill ist 17 Jahre alt, er kommt aus Stawropol.

Buchstäblich Zehntelpunkte trennten den Sieger von seinen Verfolgern. Den zweiten Platz belegte ein Teilnehmer aus Taiwan. Die Gesamttabelle der besten sechs Ergebnisse sieht wie folgt aus:

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Natürlich hat Kirill dank seines Talents, seines Wissens und seiner Fähigkeiten gewonnen.

Wir stellen jedoch fest, dass alle drei Teilnehmer, die die 1C:Enterprise-Plattform als Tool nutzten, in die Top 1 aufgenommen wurden – was eine bedingungslose Bestätigung des Weltniveaus der XNUMXC:Enterprise-Technologie ist.

Nach den Ergebnissen des Wettbewerbs wurden die Gewinner im Medienzentrum KazanExpo ausgezeichnet; die Jungs erhielten reine Goldmedaillen (entsprechend ihrer Platzierung) und Geldpreise. Die Jungs erhielten auch Zertifikate, die ihnen ein Praktikum bei 1C ermöglichen.

WorldSkills-Finale, Entwicklung von IT-Lösungen für Unternehmen – was es ist, wie es dazu kam und warum 1C-Programmierer dort gewonnen haben

Source: habr.com

Kommentar hinzufügen