Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C
Światowe umiejętności to międzynarodowy ruch organizujący profesjonalne zawody dla młodzieży do 22 roku życia.

Międzynarodowy finał odbywa się co dwa lata. W tym roku było to ostatnie miejsce Kazan (ostatni finał odbył się w 2017 roku w Abu Zabi, następny w 2021 roku w Szanghaju).

Mistrzostwa WorldSkills to największe na świecie mistrzostwa umiejętności zawodowych. Zaczęli od zawodów robotniczych, a w ostatnich latach coraz więcej uwagi poświęca się „zawodom przyszłości”, w tym dyscyplinom informatycznym, dla których na mistrzostwach w Kazaniu przeznaczono oddzielny, ogromny klaster.

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

W bloku IT występuje kompetencja (specyficzny „sport”) o nazwie „Rozwiązania IT dla Biznesu”.

W każdym konkursie dozwolony wykaz używanych narzędzi jest ograniczony. A jeśli np. dla „projektowania krajobrazu” lista możliwych narzędzi jest ograniczona (oczywiście bez wskazania jednoznacznego producenta czy koloru), to w kompetencji „Rozwiązania programowe dla biznesu” lista akceptowanych technologii, z których uczestnicy mogą korzystać jest ściśle ograniczona, wskazując konkretne technologie i konkretne platformy (.NET i Java z określonym zestawem frameworków).

Stanowisko 1C w tej kwestii jest następujące: technologie informacyjne to dziedzina bardzo dynamiczna, na świecie stale pojawiają się nowe technologie i narzędzia rozwojowe. Z naszego punktu widzenia słuszne jest umożliwienie specjalistom korzystania z narzędzi, z którymi chcą i do których są przyzwyczajeni pracować.

Jesienią 2018 roku usłyszało nas kierownictwo WorldSkills. Teraz musieliśmy przetestować metodologię włączania nowych technologii do konkursów. To nie jest proste.

Platforma 1C:Enterprise została wpisana na listę infrastruktury mistrzostw w Kazaniu oraz zorganizowana została eksperymentalna platforma dla IT Software Solutions for Business Sandbox.

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

Informujemy, że oficjalnym językiem mistrzostw jest język angielski. Wszystkie materiały z wynikami rozwiązywania zadań (kody źródłowe, dokumentacja towarzysząca, interfejsy oprogramowania) miały być także przekazywane w tym języku. Pomimo wątpliwości niektórych osób (wciąż!), W 1C można pisać po angielsku.

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

W zawodach rozgrywanych na tej stronie wzięło udział 9 młodych chłopaków z 8 krajów (Filipiny, Tajwan, Korea, Finlandia, Maroko, Rosja, Kazachstan, Malezja).

Na czele jury – zespołu ekspertów – stał ekspert z Filipin, Joey Manansala.

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

Reprezentowani byli eksperci z Finlandii, Zjednoczonych Emiratów Arabskich, Kostaryki, Korei, Rosji i Tajwanu.

Osobno zauważamy, że uczestnicy z Rosji (Pavkin Kirill, Sultanova Aigul) i Kazachstanu (Vitovsky Ludwig) postanowili skorzystać w ramach konkursu z platformy 1C:Enterprise. Pozostali uczestnicy korzystali z .NET na komputery stacjonarne i Android Studio do programowania na urządzenia mobilne. Co ciekawe, uczestnicy, którzy wybrali 1C, są bardzo młodzi (Kiryl jest uczniem szkoły w Stawropolu, w tym roku rozpoczął naukę w 11. klasie, Aigul jest studentem college'u, Kazań, Tatarstan), podczas gdy ich przeciwnicy byli znacznie bardziej doświadczeni ( np. uczestnik z Korei – zwycięzca mistrzostw WorldSkills 2013 w Lipsku; wszyscy mają doświadczenie w uczestniczeniu w WorldSkills i kilkuletnie doświadczenie zawodowe w branży).

Mając na uwadze, że podczas zawodów uczestnicy korzystali z różnych nowoczesnych technologii, mieliśmy okazję przetestować platformę 1C:Enterprise w iście bojowych warunkach, porównać zarówno jakość rozwiązań uzyskanych za jej pomocą, jak i osiągniętą przy jej wykorzystaniu szybkość rozwoju.

Osobno odnotowujemy, że w ramach specjalnej platformy IT Software Solutions for Business Sandbox uczestnicy wykonywali te same zadania, co uczestnicy głównej platformy IT Software Solutions for Business.

Samo zadanie jest zadaniem złożonym ze względu na automatyzację pewnego biznesu; w tym roku przykładem biznesu była fikcyjna firma KazanNieft.

legenda

Kazan Oil to jedno z największych przedsiębiorstw naftowych w Republice Tatarstanu, działające jako gracz na rynku krajowym i marka w tej branży rozpoznawalna na arenie międzynarodowej. Siedziba spółki specjalizującej się w poszukiwaniach złóż, wydobyciu, produkcji, rafinacji, transporcie oraz sprzedaży i dystrybucji ropy naftowej, produktów naftowych i gazu ziemnego mieści się w Kazaniu (Rosja).

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

Ponieważ firma realizuje strategię szybkiej ekspansji i tworzenia nowych biur na terenie całej Rosji, zarząd firmy zdecydował się na wprowadzenie nowego oprogramowania do automatyzacji biznesu, którego celem jest utrzymanie i zarządzanie niektórymi operacjami.

Warunki mistrzostw

Zadania zostały przekazane uczestnikom w formie modułów (sesji) z wymogiem ich wykonania w ograniczonym czasie. W sumie było 7 modułów. Trzy sesje rozwiązywania na komputerze stacjonarnym – każda po 2.5 godziny. Trzy sesje - rozwój klient-serwer, gdzie klientem była aplikacja mobilna, a komunikacja pomiędzy klientem a serwerem odbywała się poprzez WEB-API. Zajęło to 3.5 godziny. Ostatnia sesja – zadania z zakresu inżynierii wstecznej istniejącego oprogramowania, 2.5 godz. W ramach inżynierii odwrotnej uczestnicy musieli na podstawie dostarczonych im informacji zaprojektować strukturę bazy danych aplikacji (budując diagram ER), przeanalizować scenariusze wykorzystania systemu (budując diagram przypadków użycia), a także opracować i zaprojektować interfejs rozwiązania programowego zgodnie z dostarczonymi wymaganiami funkcjonalnymi.

Głównymi używanymi platformami programistycznymi były .NET (C#) i Java (w tym Android Studio do programowania mobilnego). Eksperymentalny SandBox wykorzystywał .NET, Java i 1C:Enterprise w wersji 8.3.13.

Na koniec każdej sesji eksperci oceniali wynik – gotowy, wykonalny projekt, realizujący zadania ustalone na początku sesji.

Osobliwością zadań jest ich „żywotność” - wiele wymagań i ograniczony czas. Większość problemów nie jest problemami specjalnymi, olimpijskimi, ale bardzo zbliżonymi do rzeczywistych problemów przemysłowych - specjaliści spotykają się z nimi na co dzień. Ale zadań jest wiele, a czas jest ograniczony. Uczestnik musi rozwiązać maksymalną liczbę problemów, które przyniosą największe korzyści biznesowi. Nie jest wcale faktem, że zadanie złożone z algorytmicznego punktu widzenia będzie miało większą wagę niż zadanie elementarne. Na przykład stworzenie działającego systemu księgowego składającego się z trzech tabel jest dla firmy ważniejsze niż piękny formularz raportowy ze złożonymi algorytmami, który bez tych tabel jest zupełnie niepotrzebny.

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

Poprosiliśmy zwycięzcę konkursu, uczestnika z Rosji, Kirilla Pawkina, aby opowiedział nam więcej o tym, jakie były zadania i jak podszedł do ich rozwiązania.

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

Poniżej znajduje się opis zadania, własna historia Cyryla o tym, jak rozwiązał zadanie. O komentarz na temat rozwiązań Kirilla poprosiliśmy także Witalija Rybałkę, pracownika 1C i jednego z ekspertów IT Solutions for Business Sandbox.

W ramach zlecenia należało zautomatyzować działania kilku typów użytkowników:

  • Odpowiedzialny za księgowanie majątku spółki
  • Odpowiedzialny za nieplanowane naprawy i planową konserwację majątku firmy
  • Menedżerowie zakupów komponentów i materiałów eksploatacyjnych
  • Oddziały poszukiwania i wydobycia ropy naftowej
  • Najwyższe kierownictwo potrzebowało raportów analitycznych

Sesja 1

Z punktu widzenia majątku (np. floty pojazdów) konieczne było wdrożenie jego rozliczania (zakładanie nowych, edycja bieżących), szybkiego wyszukiwania i różnego rodzaju filtrów wyświetlania informacji, przenoszenia majątku pomiędzy oddziałami Spółki oraz same grupy aktywów. Prowadź historię takich ruchów i dostarczaj analizy na ich temat w przyszłości. Rachunkowość aktywów została wdrożona głównie dla grup użytkowników mobilnych.

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

Kirill: Ciekawym podzadaniem była implementacja przycisków na liście zasobów. Aby rozwiązać ten problem, wykorzystaliśmy listę dynamiczną: piszemy dowolne żądanie, a po otrzymaniu danych na serwerze przypisujemy linki nawigacyjne do obrazów z biblioteki obrazów do wymaganych pól.

Tradycyjnie zdjęcia można dołączyć do zasobu na dwa sposoby: zrobić zdjęcie (multimedia) i wybrać z galerii (okno wyboru pliku).

Niektóre kształty wymagały ponownego narysowania po obróceniu ekranu:

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

Zmieniając parametry ekranu zmieniamy widoczność grup przycisków.

Zabawne, ale proste zadania obejmują filtry na dynamicznej liście, wyszukiwanie w dwóch polach (numer i nazwa) oraz generowanie numeru seryjnego zasobu.

Komentarz eksperta: z punktu widzenia rozwiązania na platformie 1C:Enterprise zadanie jest dość jasne. Oprócz samego stworzenia aplikacji mobilnej należało zadbać o transfer danych z „serwera” DBMS (MS SQL na pulpicie) do aplikacji mobilnej i z powrotem. W tym celu w desktopowej „aplikacji proxy” wykorzystano mechanizmy zewnętrznych źródeł danych i usług http. W przypadku samej platformy mobilnej wyświetlanie obrazów na dynamicznej liście wiązało się ze zwiększoną złożonością.

Sesja 2

Konieczne było ustanowienie zarządu remontowego majątku Spółki. W ramach tego zadania należało prowadzić listę zgłoszeń napraw (według działów i grup), uwzględniać priorytety dotyczące pilności napraw, planować harmonogram napraw zgodnie z priorytetami, zamawiać niezbędne komponenty i podejmować pod uwagę istniejące. Ciekawym podzadaniem było to, że niektóre składniki miały datę ważności; jeżeli część została już zamówiona do danego zasobu i nie upłynął jej termin, to dla tego zasobu nie ma konieczności ponownego zakupu tej samej części. Interfejs naprawczy został opracowany dla komponentu komputerowego oprogramowania firmy.

Konieczne było także stworzenie nietrywialnego formularza autoryzacji dla dwóch ról: osoby odpowiedzialnej i kierownika serwisu. Osobliwością jest to, że po autoryzacji musisz automatycznie wybrać jedną z ról.

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

Formularz listy dostępny dla osoby odpowiedzialnej przedstawiono poniżej:

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

Kirill: W tym miejscu można podświetlić tylko oczekujące zgłoszenia serwisowe. Rozwiązany przez formatowanie warunkowe na liście dynamicznej.

Klikając przycisk znajdujący się na dole ekranu, użytkownik może przejść do poniższego formularza:

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

Z punktu widzenia 1C w tej formie nie ma nic skomplikowanego.

Formularz dostępny dla menedżera serwisu znajduje się poniżej:

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

Formularz ten jest posortowany według priorytetu i daty żądania. Klikając w poniższy przycisk użytkownik może przejść do formularza wybranego zapytania:

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

Oprócz zabezpieczenia przed oszustwem, formularz ten sugerował wdrożenie listy części zamiennych do naprawy. Podzadanie jest o tyle ciekawe, że części mają określoną datę ważności. Oznacza to, że jeśli zdarzyła się już awaria tego zasobu i została do niego zamówiona część, której okres ważności jeszcze nie upłynął, to można go ponownie wykorzystać. Należy to pokazać użytkownikowi.

Komentarz eksperta: tutaj sam Cyryl poprawnie umieścił akcenty. Z punktu widzenia wdrożenia na platformie 1C:Enterprise nie ma nic szczególnie skomplikowanego. Wymagana była dokładna analiza warunków rozliczania i wykorzystania części zamiennych oraz kompetentna realizacja zadania jako całości. Dodatkowo konieczne było prawidłowe rejestrowanie zgłoszeń serwisowych. Główną trudnością była jedynie presja czasu wynosząca 2.5 godziny.

Dodatkowo, podobnie jak w przypadku programowania mobilnego, uczestnik musiał kompetentnie pozyskać dane z zewnętrznego systemu DBMS (MS SQL).

Sesja 3

W przypadku konserwacji (konserwacji) zaproponowano wdrożenie usługi planowania długoterminowego. Ciekawą funkcją był tutaj wymóg tworzenia harmonogramu konserwacji aktywów według harmonogramu – na przykład 3-go co drugi miesiąc. Podobnie według jakiegoś wskaźnika ilościowego – na przykład według licznika przebiegu samochodu (wymiana oleju co 5000 20000 km, wymiana opon co XNUMX XNUMX km). Kierownik utrzymania ruchu powinien otrzymać wygodną aplikację mobilną, która dynamicznie wyświetla listę przeglądów zaległych, bieżących i wykonanych za zadany okres. Dodatkowo każdy rodzaj konserwacji musiał być pomalowany na kolor według specjalnie ustalonych zasad. Aplikacja mobilna miała zapewnić tworzenie nowych harmonogramów przeglądów i oznaczanie już zrealizowanych bezpośrednio w warsztatach wraz z szybką aktualizacją tych informacji na serwerze.

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

Kirill: Istnieją dwa rodzaje napraw: oparte na czasie i oparte na przebiegu. W każdym z nich dozwolona jest zmienność. Przykładowo zgodnie z planem naprawy powinny odbywać się w każdy piątek 13 dnia miesiąca lub co 20,000 XNUMX kilometrów. Zadanie uważa się za ukończone, jeśli po jego prawej stronie znajduje się znacznik wyboru.

Podano warunek sortowania zadań na liście. Ponadto każda linia powinna być podświetlona kolorem w zależności od warunków.

Klikając poniższy przycisk możesz utworzyć nowy plan usług:

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

Wymagane pola są wyświetlane w zależności od wybranego typu wykresu. Jeżeli wybraliśmy tygodniowy harmonogram czasowy, wówczas ukażą nam się dwa pola: numer tygodnia i dzień tygodnia. Na przykład we wtorki co 3 tygodnie.

Komentarz eksperta: podobnie jak w poprzednim rozwoju mobilnym na platformie 1C:Enterprise, tutaj zadanie jest globalnie podzielone na 2 komponenty - komunikacja z „serwerem” za pośrednictwem web-api i kompetentne wyświetlanie dynamicznej listy z warunkowym projektowaniem i filtrowaniem (wyborem) dane. Ponadto interesujące było wdrożenie wymogu rozliczania napraw zarówno według okresu, jak i wskaźnika ilościowego.

Sesja 4

W przypadku komponentów i materiałów eksploatacyjnych konieczne było uwzględnienie zapasów, zaplanowanie wydatków i przyszłych zakupów. Ponadto pojawiło się tutaj rozliczanie partii, ale nie dla wszystkich towarów. Wszystko to musiało być zarządzane w ramach wielu magazynów, łącznie z przyjęciem, wydatkami i przemieszczaniem. Zgodnie z warunkami zadania należało zapewnić kontrolę sald i uniknąć konfliktów podczas pracy z bieżącymi zapasami. Menedżerowie ds. zakupów pracują w wersji desktopowej oprogramowania.

Główny formularz pokazano poniżej:

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

Kirill: Oprócz sortowania według warunku zaproponowano umożliwienie użytkownikowi sortowania losowego. Na 1C nie musisz nawet o tym myśleć. W przypadku faktur faktura pole z ilością części powinno być podświetlone na zielono.

Podczas tej sesji poproszono ich o kontrolę pozostałego towaru w magazynach. Zatem przy próbie usunięcia faktury powinien wyświetlić się odpowiedni komunikat. Tutaj pamiętamy egzamin na specjalistę platformowego. Forma faktury jest następująca:

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

Każda część posiada cechę, która decyduje o tym, czy należy ją przypisać do konkretnej partii. W przypadku takich części zamiennych konieczne jest podanie numeru partii we wszystkich dokumentach. Jest to dodatkowy pomiar przy monitorowaniu pozostałości części. Można je także przenosić pomiędzy magazynami:

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

Formularz różni się od poprzedniego jedynie tym, że zamiast Klienta należy wskazać magazyn, z którego będzie realizowana dostawa. Lista wyboru dla partii tworzona jest automatycznie po wybraniu części. Użytkownik może wygenerować raport dotyczący sald części zamiennych:

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

Tutaj możemy podejrzeć pozostałą ilość towaru w wybranym magazynie. Pola wyboru po prawej stronie magazynu pozwalają skonfigurować filtrowanie i sortowanie. Lista nie zawiera wyraźnego podziału według partii na te części, dla których jest ona wymagana. Salda dla każdego numeru partii wybranej części zamiennej można przeglądać za pomocą łącza nawigacyjnego po prawej stronie.

Komentarz eksperta: w tej sesji (module) po raz pierwszy pojawiło się rozliczanie wsadowe. Uczestnicy byli zobowiązani do rozliczania materiałów eksploatacyjnych i towarów nie tylko samodzielnie, ale także partiami. Generalnie zadanie jak na platformę 1C:Enterprise jest idealne – jednak całość trzeba było opracować od podstaw i ukończyć w 2.5 godziny.

Sesja 5

W piątej sesji przydzielono nam funkcjonalność zarządzania studnią. Dla grup poszukiwawczych konieczne było stworzenie aplikacji mobilnej, która rozliczałaby odwierty wydobywcze ropy lub gazu. Tutaj należało pobrać z serwera listę aktualnych odwiertów i wyświetlić wybrane odwierty graficznie według warstw (gleba, piasek, kamień, ropa), biorąc pod uwagę głębokość każdej warstwy. Dodatkowo aplikacja musiała umożliwiać aktualizację informacji o odwiercie oraz dodawanie nowych odwiertów. Dla tej aplikacji Klient ustawia specjalne warunki pracy w trybie offline i online (kontrola komunikacji z serwerem) - sprawdzanie komunikacji z serwerem co 5 sekund i zmianę funkcjonalności aplikacji w zależności od dostępności serwera.

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

Kirill: Po wybraniu odwiertu wyświetlany jest wykres słupkowy, który podkreśla warstwy aż do złóż ropy lub gazu. Dla każdej warstwy zapisana jest jej nazwa, kolor i zakres występowania. Ze względu na cechy konstrukcyjne diagramy wbudowane w platformę nie pomagają, ale dokument arkusza kalkulacyjnego doskonale radzi sobie z tym zadaniem. Studnie można tworzyć i modyfikować:

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

Oprócz wielu niezawodnych zabezpieczeń, w tej formie nie było nic ciekawego.
Następnie zaproponowano kontrolę połączenia z serwerem. Próbujemy łączyć się co 5 sekund. Jeżeli to nie zadziała to ograniczamy funkcjonalność aplikacji i wyświetlamy komunikat.

Komentarz eksperta: Zadanie tej sesji jest interesujące przede wszystkim ze względu na możliwości graficzne. Uczestnicy korzystający z platformy 1C:Enterprise rozwiązali to na dwa różne sposoby – niektórzy korzystając z mechanizmu diagramów, inni korzystając z dokumentu w arkuszu kalkulacyjnym. Każda metoda ma swoje zalety i wady. W ramach decyzji na mistrzostwach WorldSkills kluczowy był czas (pamiętaj jeszcze raz o limicie czasu). Osobnym ciekawym zadaniem jest pingowanie serwera co 5 sekund i zmiana zachowania aplikacji mobilnej w zależności od dostępności lub niedostępności serwera.

Sesja 6

Zaproponowano stworzenie obszaru roboczego dla najwyższej kadry menedżerskiej – Dashboard. Na jednym ekranie należało wyświetlić ogólne wskaźniki wydajności firmy za zadany okres w formie graficznej i tabelarycznej. Głównym formularzem jest raport kosztów:

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

Oprócz Dashboardu konieczne było wdrożenie dystrybucji części zamiennych do napraw majątku trwałego w oparciu o metody odpisów FIFO/LIFO/„najtańsze na pierwszym miejscu”.

Podczas dystrybucji uwzględniono rozliczanie partii, zastosowano kontrolę salda i zabezpieczenie przed nieuprawnionymi działaniami użytkownika („ochrona głupców”).

Kirill: Do rozwiązania wykorzystano tabele wartości z programowym generowaniem kolumn, ponieważ może być ich dowolna liczba:

  • Pierwsza tabela przedstawia łączne koszty działów w poszczególnych miesiącach. Najbardziej nierentowne i zyskowne dywizje zaznaczono odpowiednio kolorem czerwonym i zielonym.
  • Druga tabela pokazuje najdroższe i najczęściej używane części w każdym miesiącu. Jeżeli kryteriów spełnia kilka części, należy je wyświetlić w jednej komórce, oddzielając je przecinkami.
  • Najdroższe aktywa (pod względem kosztów części zamiennych) prezentowane są w pierwszym wierszu trzeciej tabeli. Druga linia wyświetla dział, do którego należy powyższy zasób. Jeśli istnieją dwa najdroższe aktywa o tych samych kosztach, to należy je wyświetlić w tej samej komórce, oddzielając je przecinkami.

Diagramy wyświetlano za pomocą wbudowanych mechanizmów platformy, a wypełniano programowo za pomocą zapytań.

Zaproponowano także wdrożenie wsparcia dla wielojęzyczności. Program ładuje pliki XML z lokalizacją elementów interfejsu, a przy wyborze języka z listy rozwijanej należy przerysować formularz.

Po kliknięciu przycisku w lewym dolnym rogu ekranu otwiera się formularz zarządzania zapasami:

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

W tej formie w końcu zaczynamy wydawać części na naprawy. Tutaj najpierw znajdujemy części, które będą nam potrzebne do naprawy zasobu. Na podstawie wybranych pól i metody dystrybucji (FIFO, LIFO lub cena minimalna) wyświetlane są znalezione dopasowania lub komunikat w przypadku braku dopasowań. Następnie możesz oznaczyć części jako przeznaczone do naprawy tego zasobu. Kontrola salda jest istotna dla bieżącej sesji. Jeśli przypisaliśmy już szczegóły, nie można ich już znaleźć.

Komentarz eksperta: bardzo ciekawa sesja. Wykorzystuje w pełni możliwości platformy 1C:Enterprise - tutaj jest kompetentna praca z wirtualnymi tabelami rejestrów akumulacji oraz programowa praca z elementami formularzy (przede wszystkim - tabelami, po drugie - nagłówkami) i diagramami. A nawet LIFO/FIFO przy analizie zapasów, analizie zysków/strat itp.

Sesja 7

Na zakończenie zadania (sesja 7) klient dostarczył oprogramowanie (plik exe) do działań projektowych oraz krótki film przedstawiający pracę z nim. Należało przeprowadzić inżynierię odwrotną i na jej podstawie stworzyć 2 diagramy: diagram przypadków użycia oraz diagram relacji encji. Dodatkowo postawiono pewne wymagania co do tworzenia oprogramowania w przyszłości – konieczne było stworzenie układu interfejsu zgodnego z tymi wymaganiami.

Zgodnie z warunkami konkursu do tworzenia diagramów potrzebny był wyłącznie program MS Visio.

Komentarz eksperta: w tej sesji praktycznie nie wykorzystano możliwości platformy 1C:Enterprise. Diagramy warunków konkursu zostały stworzone w programie MS Visio. Ale prototyp interfejsu można stworzyć w pustej bazie informacji 1C.

uwagi ogólne

Na początku każdej sesji proponowano import danych za pomocą skryptu SQL. To była główna wada używania 1C w porównaniu z C#, ponieważ spędziliśmy co najmniej pół godziny na destylacji danych do zewnętrznych źródeł danych, tworzeniu własnych tabel i przenoszeniu wierszy ze źródeł zewnętrznych do naszych tabel. Reszta wystarczyła kliknąć przycisk Wykonaj w Microsoft SQL Studio.

Z oczywistych względów przechowywanie danych na urządzeniu mobilnym nie jest dobrym pomysłem. Dlatego podczas sesji mobilnych stworzyliśmy bazę serwerów. Przechowywali tam dane i zapewniali do nich dostęp poprzez usługi http.

Komentarz eksperta: równowaga 1C/nie-1C jest tutaj interesująca - podczas gdy programiści 1C:Enterprise spędzili dużo czasu na łączeniu się z zewnętrznym systemem DBMS (Kirill wspomniał o tym osobno powyżej), programiści C#/Java (Android Studio do programowania mobilnego) spędzili czas na innych obszarach – interfejsy, pisząc więcej kodu. Dlatego też rezultaty każdej sesji były nieprzewidywalne i niezwykle interesujące dla wszystkich ekspertów. I ta intryga pozostała do samego końca – wystarczy spojrzeć na końcową tabelę zwycięzców z podziałem punktów.

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C
Kirill dokończył opowieść :)

Podsumowując, należy przypomnieć, że wykonawca nie musiał „tylko programować zadania według specyfikacji technicznej” – musiał przeanalizować zadanie, wybrać bloki do realizacji podzadań, zaprojektować je i zdecydować, czym dokładnie będzie w stanie wdrożyć z tego w niezwykle krótkim czasie. Przez wszystkie 4 dni musiałem działać pod dużą presją czasu, często rozpoczynając każdą kolejną sesję od zera. Nawet dorosły specjalista z wieloletnim doświadczeniem w branży będzie miał duże trudności z wykonaniem powierzonego mu zadania z sesji w 100% w wyznaczonym czasie.

Na szczególną uwagę zasługuje przyjęty system oceniania.

Dla każdej sesji autorzy zadań opracowują złożony system kryteriów obejmujący sprawdzenie funkcjonalności, poprawności działania, wymagań dotyczących interfejsu aplikacji, a nawet przestrzeganie przewodnika stylistycznego specjalnie udostępnionego uczestnikom przez firmę, dla której tworzą swoje rozwiązania.

Kryteria oceny są bardzo drobnoziarniste – całkowity koszt zadania sesyjnego wynosi kilkadziesiąt punktów, a spełnienie jakiegoś kryterium może dodać uczestnikowi dziesiąte części punktu. Pozwala to uzyskać niezwykle wysoki i obiektywny poziom oceny wyników każdego uczestnika konkursu.

wyniki

Ostateczne wyniki były imponujące.

W zaciętej walce zwyciężył Kirill Pavkin z Rosji, który korzystał z platformy 1C:Enterprise. Cyryl ma 17 lat, pochodzi ze Stawropola.

Dosłownie dziesiąte części punktu dzieliły zwycięzcę od jego prześladowców. Drugie miejsce zajęła uczestniczka z Tajwanu. Ogólna tabela sześciu najlepszych wyników wygląda następująco:

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

Oczywiście Cyryl zwyciężył dzięki swojemu talentowi, wiedzy i umiejętnościom.

Zauważamy jednak, że wszyscy trzej uczestnicy, którzy wykorzystali platformę 1C:Enterprise jako narzędzie, znaleźli się w pierwszej piątce – co jest bezwarunkowym potwierdzeniem światowego poziomu technologii 1C:Enterprise.

Po rozstrzygnięciu konkursu zwycięzcy zostali nagrodzeni w centrum medialnym KazanExpo, a chłopcy otrzymali medale z czystego złota (zgodnie z zajmowanym miejscem) oraz nagrody pieniężne. Chłopaki otrzymali także certyfikaty uprawniające do odbycia stażu w 1C.

Finał WorldSkills, rozwój rozwiązań IT dla biznesu - co to jest, jak do tego doszło i dlaczego wygrali tam programiści 1C

Źródło: www.habr.com

Dodaj komentarz