• Tyto stránky budu průběžně aktualizovat, dokud to bude potřeba.
  • Poslední aktualizace: 08.02.2009
  • Nicméně je k i pak ponechám na webu, jen je upravím pro pobavení těch,
    co jsou již za vodou a pro poučení jiných, kteří jsou v podobné situaci.

Hledám práci...vlastně už ne, pokud...

aneb netradiční Curriculum Vitae

Kontakt
  • geneticy
  • Protože bych nerad riskoval další množství spamu ve svém soukromém e-mailu, prosím, odpovězte na tuto jednoduchou otázku:
    Kolik je 3x3 ?

Informační systém BALP


            Platforma : WindowsXP a vyšší
            Databáze  : MS SQL Server 2005
            Interface : Visual FoxPro 9.00 SP-2, ASP.NET
            Autor     : Arleth Pavel
            Účel      : ERP rozšíření systému ESO 9, výrobní a technologický software
            Vlastník  : AKZO Nobel Coatings CZ
    

Jméno BALP je akronymem pro jméno tvůrce původního systému pro MS-DOS a jména firmy. Název jsem po převzetí projektu ponechal, už kvůli dokumentaci ISO a také proto, ať uživatelům evokuje něco známého.

Jde o systém modulů pro okruhy uživatelů na společné databázi, společným frameworkem a propojený na druhou část informačního systému firmy ESO 9 pomocí uložených procedur. Jeho součástí je i webová aplikace ASP.NET, která má řídící a ověřovací funkce a obsahuje sestavy a náhledy, které se jinak nevyplatí dělat.

Původně šlo o projekt ve FoxPro 2.00 (+ nějaká rozšíření ve VFP 6.00 a PHP) a zdaleka ne v takovém rozsahu, neexistovala skutečná provázaná komunikace s ESO 9. Po jeho převzetí od původního autora byl přepracován a podstatně rozšířen na platformě Visual FoxPro 7.00. S nástupem koncernu a jeho striktní politiky v IT byl systém opět přepracován na Visual FoxPro 9 SP-2.
Jako další stadium jsem předpokládal přepracování do webové aplikace ASP.NET a přepracování databáze na těsnější integraci s ESO 9. Objevily se totiž nástupem .NET 2.00 použitelné technologie pro data - LINQ a přepracované ADO.NET + možnost využití AJAX a Silverlight pro GUI. Kromě specialit pro modelování dat - ty by zůstaly na desktopových aplikacích ve VFP. Ale k tomu již nedojde. Detailnější popis historie je zde.

Funkce

Po spuštění zástupce modulu se odpálí několik událostí. Spustí se speciální soubor, který vykoná přípravné operace - provede kontrolu přístupnosti sítě, zkontroluje aplikační adresáře v Dokumentech uživatele a případně je vytvoří, stáhne podpůrné soubory pokud neexistují. Pokud ano, zkontroluje jejich verzi a případně provede aktualizaci. Mj. každý modul má takový spouštěč.

Pokud je vše v pořádku, je zkontrolován vlastní pracovní modul. Pokud není k dispozici v aplikačním adresáři, je stažen a spuštěn, pokud je, je zkontrolována verse a pokud je na síti novější, je stažen a spuštěn.

Pracovní modul víceméně zopakuje totéž, co spouštěcí. Jde jen o pojistku. Pak kontaktuje webovou aplikaci BALPu pomocí XMLHttp a vyžádá si konfigurační údaje ke spojení k databázím. Tyto údaje poskytuje specializovaný HttpHandler předávající údaje z web.config, který také ověří uživatele - webová aplikace běží ve Windows autentifikaci. Pokud uživatel není ověřen, nedostane údaje pro spojení s databází a modul se ukončí. (Původně bylo ověřování pomocí ADO dotazu na Active Directory přímo, ale bylo to dost pomalé).

Pokud projdou předchozí kroky a modul běží, jako následný krok provede programové vytvoření databáze VFP, kde uloží spojení na databáze, vytvoří příslušné vzdálené pohledy, pracovní tabulky a další objety. V podstatě se jedná o formu jakéhosi middleware nebo datasetu z ADO.NET. (Aplikace samozřejmě využívají také PST a ADO přímo, ale základem jsou programově vytvářené vzdálené pohledy.)

Pak je načten profil uživatele a jeho oprávnění k danému modulu z databáze. Pokud žádná práva nemá, aplikace se s přílušným hlášením ukončí. Pokud nějaká má, pokračuje modul tvorbou uživatelského rozhraní a načtení potřebných dat. Po tvorbě UI jsou zpřístupněny volby v uživatelském rozhraní. A může se pracovat.

Během provozu je v provozu automatická kontrola timerem, zda na síti není novější modul. Pokud ano, je uživatel upozorněn, ale jeho práci to nepřeruší.

Pro účely testů a výuky uživatelů se může aplikace přepnout na zkušební databáze jen prostým přepínačem.

Po ukončení práce je adresář přílušného modulu v Documents and Settings smazán.

BALP pokrývá tyto činnosti firmy:

  • Hlavní spouštěcí modul a web
  • Číselníky a katalogy surovin, polotovarů, receptur a zboží
  • Klasifikaci komodit vzhledem k nebezpečným látkám
  • Sledování zásob hotového zboží a analýzu jeho pohybů
  • Plánování výroby
  • Tvorbu a oběh příkazů k výrobě, sledování realizace výroby
  • Tvorbu a kalkulování receptur výrobků a polotovarů
  • Správa firemní metrologie
  • Evidence a správa počítačů, SW, HW a uživatelů, administrace BALPu
  • Rozhraní pro zpracovávání dat z telefonní ústředny
  • Utility pro různé činnosti, jako je část komunikace EDI, remapování účtů v účetnictví pro komunikaci s centrálou, knihovnu technických norem, rozhraní pro SQL dotazy.

Podmínky

Na cílovém počítači musí být nainstalován runtime Visual FoxPro 9.00 SP-2, SQLNative Client, MS XMLParser 6.00, Windows Scripting Host. Dále je potřeba mít připojen síťový disk, kde jsou uloženy moduly, podpůrné soubory a zástupci ke spuštění. Nic více. No, samozřejmě to musí být stroj, na kterém běží WindowsXP nebo vyšší, BALP funguje i pod Windows 2003, Windows Vista nebo Windows7 a rozlišení obrazovky musí být alespoň 1024x768, doporučeno je ale vyšší - okna většiny částí se podmíněně renderují dle velikosti obrazovky a pak je vidět více informací.

Samotné aplikace/moduly se neinstalují a jejich distribuce je výhradně síťová a bezobslužná, včetně aktualizací. Je tedy možné hned od provopočátku v rámci instalačního média pro dané PC zahrnout vše potřebné a již se k tomu nevracet.

Systém pracuje výhradně v uživatelském profilu, tzn. k počítači nemusejí být žádná zvláštní práva pro uživatele. Přesněji v UserProfile/Documents and Settings. Je jedno, o jakou jazykovou mutaci Windows jde - zda o českou nebo anglickou s MUI. Uživatel má na ploše zástupce pro spuštění hlavního modulu BALPu - zástupce je na síti. De facto se dá říci, že pokud je na cílovém stroji runtime VFP a SQLNative Client, administrátor jen připojí disk s aktualizacemi a zástupce hlavního modulu (to může vynutit login skriptem) a o víc se nemusí starat.

Každý modul má svou tabulku práv uživatelů na SQL Serveru.Uživatele není nutno zakládat, tabulky práv k modulům jsou kaskádově plněny uloženou procedurou vázanou na první použití kteréhokoliv modulu uživatelem v síti. Je tak možno profilovat práva specificky pro konrétní modul a uživatele buď přímo, nebo prostřednictvím administračního modulu.

Projektová dokumentace

Projekty modulů BALPu jsou dokumentovány pomocí software PDM Martiny Jindrů, což je profesionální freeware nástroj ke generování projektové dokumentace projektů ve Visual FoxPro.

Vygenerované soubory dokumentace obsahují kompletní popis a zdrojové kody objektů projektu. Jsou pak následně zpracovávány wrapperem v .NET pro zobrazení na stránkách webové intranetové presentace BALPu.

Databáze

Databáze BALPu je na MS SQL2005 a je propojena s databázemi ostatních částí IS. Samozřejmě nelze zveřejnit vše, ale několik screenshotů a ukázek uložených procedur ano.

Moduly

Bohužel nelze zveřejnit komlexní rozsah modulů, protože by byla zobrazena i citlivá data. Nicméně si lze zajisté učinit představu o tom, jak vypadají.

Jejich počet a rozsah se také průběžně měnil s časem, dle potřeby firmy. Protože základ je společný framework, vytvoření nového prázdného modulu je otázkou velice krátké doby - asi tak půl hodiny. Samozřejmě osazení skutečným aplikačním kodem pak trvá různou dobu dle rozsahu.

Menu
  • Spouštěcí modul

    Je jakýmsi centrem a správcem systému, obsahuje i integrované webové prohlížeče pro rychlé odskoky po firemním intranetu (na jednotlivých záložkách). Zástupce tohoto modulu má uživatel na ploše.

Číselníky a katalogy

BALP slouží jako tvůrce a správce číselníků nejen sám pro sebe, ale i pro systém ESO 9 v těch oblastech, které se týkají přímo produkce firmy. Tzn. většiny. Tyto číselníky v kritických oblastech obsahují i cenotvorbu a příslušné analýzy.

  • Katalog a evidence nebezpečných látek

    Dle příslušných zákonných předpisů musí být každá látka používaná ve výrobě, obchodu a distribuci evidována. Většiny firem se tohle netýká, protože nebezpečné látky nezpracovávají ani s nimi nijak nemanipulují.

    Zásadním problémem je fakt, že jednotlivé úřady, jak české, tak EU se dodnes neshodly na jedné formě klasifikace. Takže máme systémy CAS, IUPAC, IC, EINECS apod. Proto byla nutná jistá syntéza základního číselníku, kterým pak jsou jednotlivé výrobní entity klasifikovány co do složení a nebezpečnosti (ona grafika a S a R věty). Takto je evidován je souhrn látek, které jsou pro firmu zajímavé. Nemělo by smysl evidovat všechny chemické látky.

    Z těchto klasifikací a evidencí je pak potřeba podávat hlášení jednotlivým úřadům. S aplikací pracuje tým autorizované osoby - tzn. sama autorizovaná osoba a jí pověřené osoby. Data jsou pak k dispozici i v ostatních oblastech.

  • Katalog obalů

    Jde o číselník obalových materiálů. Obsahuje kromě vlastní evidence i cenotvorbu a náhledy na stavy v ESO 9. Slouží jako podklad pro ESO 9 - v rámci firmy se z něj přímo zakládají skladové karty v ESO 9 pro obaly.

  • Katalog obchodního zboží

    Jde o jeden z kritických číselníků. Aplikace je vlastně nadstavbou ESO 9 pro zakládání karet hotového zboží, které má předka v platných recepturách, tzn. se ve firmě vyrábí. Obsahuje podklady i pro cenotvorbu a příslušné analýzy.

    Protože je možnost v ESO 9 založit skladovou kartu přímo, případně ji odstranit, je implementována speciální synchronizační procedura (jako SP na úrovni databáze v MSSQL), která při staru aplikace nebo obnovení dat provede kontrolu položek mezi ESO 9 a BALPem a udržuje tak číselník v synchronním stavu.

    S modulem primárně pracuje ekonomický útvar a obchdoní oddělení.

  • Katalog odstínů

    Je specializovaným číselníkem pro firmu. Jako základ je použit původní obsah příslušné normy ČSN, ale nyní obsahuje podstatně více dat s odpovídajícím odstínem RAL, povrchovou specifikací a možnosti laborace pro zobrazení v RGB nebo HSV, vícejazyčné názvy a tam kde není možno určit přesně odstín (např. lazury), možnost vložit obrázek s nasnímaným povrchem.

    S aplikací primárně pracují technologové a oddělení OŘKJ.

  • Katalog surovin a polotovarů

    Jde o vysoce kritický číselník. Obsahuje data o používaných surovinách a polotovarech, jejich technicko-taktická data, finanční a ekonomické zhodnocení, archivaci, příslušné druhy analýz.

    Slouží jako podklad pro ESO 9 - v rámci firmy se z něj přímo zakládají skladové karty v ESO 9 pro suroviny a polotovary.

    S modulem primárně pracují technologové, ekonomický útvar a logistika.

  • Katalog etiket

    Katalog etiket je spíše jen nadstavbou nad část spotřebního materiálu v ESO 9 a nemá velký význam. Původní záměr byl však jiný - měl obsahovat i grafické návrhy etiket z marketingu a schvalovací systém řízení. K tomu však již nedošlo.

    Obsahuje i údaje o spotřebě ve výrobě + příslušné analýzy. Používá jej výroba a logistika.

Výrobě-technologická část

Tato skupina aplikací je určena pro komunikaci mezi obchodem, výrobou, oddělením výstupní kontroly a technologií.

  • Správce receptur

    Jde o vysoce kritický číselník a současně pracovní aplikaci. Obsahuje definice směrných receptur pro výrobky, jejich technicko-taktická data, alternativní receptury, finanční a ekonomické zhodnocení, archivaci, příslušné druhy analýz, možnost přenosu části dat do jiné části koncernu.

    Slouží jako podklad pro ESO 9 - v rámci firmy se z něj přímo zakládají skladové karty v ESO 9 pro nedokončenou výrobu a vrácené zboží do výroby.

    Bohužel, detailní popis a screenshoty nelze poskytnout, jen několik obecných obrazovek. Jde o citlivá data know-how firmy.

    S modulem primárně pracují technologové a ekonomický útvar.

  • Manufacturing KPI

    Je rozšířením výroby a technologie pro divizi Powder. Šlo o přepracování dříve používaného systému založeného na sdílených sešitech MS Excel. Věc byla víceméně nařízena z centrály koncernu, ale zpracování bylo poplatné spíš úřednickému myšlení, než IT.

    Po nějaké době používání došlo k poškození homogenity dat a nemožnosti najít chyby. Proto byl importovaný systém z centrály opuštěn, nahrazen modulem BALPu napojeným přímo na výrobní data.

    S aplikací pracuje technologie a výroba divize Powder.

  • Schvalování výrobních příkazů

    Jde o zjednodušenou verzi modulu pro výrobu a rozšíření pro zápis jakostních dat. Modul je určen pro laboratoře výstupní kvality ke schválení výrobního příkazu k adjustaci.

  • Plánování výroby

    Tento modul slouží pro definování výrobních plánů na podkladu prognóz obchodního oddělení. Slouží nejen k plánům a jejich vyhodnocení, ale i k zajištění alokace surovin, obalů a polotovarů pro uvažované období. Plány, pokud jsou k tomu signovány, mohou být průběžně hodnoceny a porovnávány jak s výrobou, tak prodejem.

    Primárně jej používá obchodní oddělení, výroba a logistika.

  • Sledování stavů zboží

    Aplikace slouží k průběžné kontrole stavů zásob zboží k prodeji. Porovnává aktuální stav objednávek, stavu zboží ve skladech a stavu ve výrobě. Umožňuje provést ad hoc výpočty, zda je případná nová zakázka pokryta surovinami a obaly + porovnání s aktuálním plánem.

    Primárně jej používá obchodní oddělení a výroba.

  • Výroba

    Je základním a největším modulem. Jeho hlavním účelem je oběh výrobních příkazů od zahájení až po ukončení a zaúčtování položek v systému ESO 9, včetně všech souvisejcích výrobních operací.

    Primárně jej používá obchodní technologie a výroba.

  • Prohlížeč EDI komunikace

    Jde o doplněk pro potřeby divize Powder - zpracovává soubory z EDI komunikace s externím skladem a porovnává je s údaji ESO 9.

  • Tisk štítků

    Jde o doplněk pro divizi Powder. Dle koncernové politiky je pro výrobu práškových nátěrových hmot předepsána forma popisného štítku pro obaly. Štítek je poměrně dost složitý, s velkým množstvím údajů a dvojicí čárových kodů.

    V aplikaci jde o propojení výrobních dat do externího SW pro ovládání průmyslové tiskárny. Tento software neumí komunikovat s MSSQL, takže aplikace musí vybraná data převést do databáze MS Access, aktivovat SW, načíst příslušnou šablonu, případně předchozí instanci SW externě ukončit. A to vše jen jedním povelem. Poměrně složité řešení je funkční a bezproblémové.

    Součástí je i možnost kontroly čárového kodu čtečkou a vyhledání výsledků v historii výroby.

  • Kontroly čárových kodů

    Jde o doplněk pro divizi Deco. Umožňuje kontrolu tištěného čárového kodu čtečkou na hotovém zboží.

Ekonomická část

Tato skupina aplikací je určena pro ekonomických útvar, protože buď v ESO 9 neexistují, nebo by je bylo obtížné implementovat.

  • Modelování cen

    Jde o utilitu, která umožňuje pracovníkům ekonomického útvaru modelovat prodejní ceny dle metody z centrály koncernu.

  • Mapování účtů

    Jde o utilitu, která umožnuje pracovníkům ekonomického útvaru mapovat účty ESO 9 na účty v IS centrály a ICI. Účelem je zjednodušení reportingu ekonomických dat do centrály (pro SAP) a ICI.

    Screenshot nelze zveřejnit, obsahuje citlivá data.

  • Majetek

    Jde o utilitu, která umožňuje sledovat pracoovníkům stav jejich hmotného a nehmotného majetku z ESO 9, tisknout sestavy pro inventury a vyřazení, popisovací štítky apod.

  • Výsledné kalkulace

    Provádí porovnání nákladů na výrobu s předpoklady za určité časové období. Výpočetně poměrně složitá záležitost, je podkladem pro případná hodnocení a korekce plánů z hlediska ekonomie firmy.

  • Plánové kalkulace

    Nejsou v podstatě modulem. Jde o skript, kde se provádějí výpočty pro předpoklady dalšího roku. Screenshot nelze zveřejnit.

Ostatní

Jde o nejrůznější aplikace, které řeší různé oblasti firemního života.

  • Administrace PC a uživatelů

    Aplikace pro potřeby administrátorů. Eviduje uživatele a počítače s kontrolou oproti Active Directory, provádí vzdálený audit uživatelů - SW a HW vybavení, je zde integrována správa BALPu. Součástí je také systém sestav pro úředničinu kolem IS a IT obecně.

  • Správce metrologie

    Evidence měřidel, u kterých to určují zákonné normy, kontrola jejich expirace, evidence záznamů o kalibraci.

  • Knihovna dotazů

    Speciální rozhraní pro analytiky výroby. Knihovna SQL dotazů pro občas řešené úkoly a možnost exportu výsledků do různých formátů.

  • Technické normy

    Knihovna technických norem firmy. Dala by se nahradit SharePointem, nicméně oddělení OŘJ trvalo na naprost seperátní aplikaci.

  • Správa telefonů

    Rozhraní pro správu výsledků z telefonní ústředny. Importuje TXT soubor s výsledky, umožní je zpracovat na MS SQL, přidělit hovory uživatelům a vytvořit sestavy pro platby + vytvořit importní soubor pro modul mezd na ESO 9.

  • Evidence provozních hodin výduchů

    Utilita pro potřeby EMS. Eviduje provozní hodiny výduchů z odsávání výroben.

Menu

Programátor hledá práci - Visual FoxPro, VFP, MS SQL, ASP, ASP.NET, HTML, CSS. Kontakt zde.