Zpět na domů

Migrace 1C:UPP do UH přes Python SQLite

Případ migrace dat z 1C:UPP do 1C:UH realizuje tříetapový konvejér na Python, SQLite a COM. Zajišťuje průhlednost, mapování, kontrolu odkazů a webové monitorování. Vhodný pro složité projekty s úpravami.

Konvejér migrace 1C:UPP → UH na Python + SQLite
Advertisement 728x90

Migrace dat z 1C:UPP do 1C:UH: kanál na Python, SQLite a COM

Vývojáři 1C se často setkávají s omezeními standardní konverze při přechodu z UPP na UH. Úpravy ve zdroji, rozdíly ve strukturách objektů a potřeba opakovaných běhů vyžadují mezivrstvu. Kanál na Python + SQLite + COM zajišťuje transparentnost: import do surových databází, zpracování podle mapování a export do příjemce. Otevřený kód je dostupný na GitHubu.

Třífázová architektura

Kanál je rozdělen na nezávislé fáze:

  • import: čtení z UPP přes COM, normalizace, uložení do SQLite.
  • process: transformace podle modelu UH s mapováním polí, typů a odkazů.
  • export: vyhledání/vytvoření objektů v UH, zápis přes COM.

Mezilehlé SQLite databáze umožňují kontrolovat data v každém kroku, porovnávat surové a zpracované verze. Každá entita má samostatný soubor databáze.

Google AdInline article slot

Požadavky na migrační proces

Implementace řeší klíčové úkoly průmyslového přenosu:

  • Přenos propojených entit s ohledem na závislosti.
  • Oddělení čtení, zpracování a zápisu.
  • Ukládání mezilehlých dat pro analýzu.
  • Automatické a manuální mapování polí a výčtů.
  • Samostatná kontrola odkazů podle UUID.
  • Bodový přeexport záznamů.
  • Webové rozhraní pro spuštění a monitoring.
  • Automatické spouštění podle plánu s notifikacemi.

Výhody SQLite jako mezivrstvy

SQLite je zvoleno pro praktičnost:

  • Lokální přístup bez serveru.
  • Porovnání fází zpracování.
  • Odolnost vůči opakovaným běhům.
  • Samostatná databáze pro každý katalog a fázi.

Formát dat je předvídatelný: odkazy v JSON s presentation, UUID a type; výčty jako Výčet.Název.Hodnota.

Google AdInline article slot
{
  "presentation": "Společnost Sedmikráska",
  "uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "type": "Seznam.Kontrahenti"
}

Import z UPP: modulární struktura

Moduly v IN/ se připojují k UPP přes COM, provádějí dotazy, normalizují typy a ukládají do databáze. Klíčové úkoly:

  • Extrakce reprezentací a UUID odkazů.
  • Zpracování výčtů.
  • Ukládání typů pro následnou transformaci.

Export metadat UPP a UH automatizuje hrubá mapování, porovnání atributů a diagnostiku rozdílů.

Zpracování dat: procesor a mapování

Fáze process je jádrem: přejmenování polí, převod typů, konsolidace účtů, příprava odkazů. Logika je rozdělena:

Google AdInline article slot
  • Obecný procesor pro infrastrukturu.
  • Specifické PROCESS/<katalog>_processor.py pro obchodní logiku.

Mapování v samostatných souborech:

  • catalog_mapping.json – trasy loader/processor/writer.
  • chart_of_accounts_mapping.json – účetní osnova.
  • Odpovídající objekty, pole, typy, výčty.

Automatizace generuje návrh podle metadat, manuální mapování koriguje sémantiku.

Okruh odkazů: databáze reference_objects

Samostatná databáze zaznamenává vytvořené objekty podle UUID:

  • Zdroj odkazu (objekt, pole).
  • Stav záznamu.
  • Podpora doplnění a opětovného exportu.

To eliminuje chaos při chybách: stav odkazů je sledovatelný.

Export do UH

Writer čte zpracovanou databázi, hledá objekty podle klíče, vyplňuje atributy, aktualizuje reference_objects. Výhoda: data jsou již připravena, ladění je zjednodušeno.

Operativní webové rozhraní

Webová vrstva spouští pipeline, zobrazuje logy, databáze, bodový export. Neduplikuje logiku, je dostupná týmu.

Automatizace a plánování

Integrace s plánovačem: noční běhy, notifikace do messengeru. Přechod od ručních spuštění k procesu.

Výhody oproti standardní konverzi

Okruh zajišťuje:

  • Transparentnost mezilehlých dat.
  • Cyklus export-analýza-úprava.
  • Řízená mapování a odkazy.
  • Bodová kontrola.
  • Web a plánování.

Rychlejší adaptace nových entit bez přestavby celého systému.

Co je důležité

  • Třífázový kanál s SQLite minimalizuje rizika migrace.
  • Mapování automatická a manuální urychlují nastavení podle úprav.
  • Samostatný okruh odkazů předchází ztrátám.
  • Webové rozhraní a plánování činí proces operativním.
  • Otevřený kód pro reprodukci.

— Editorial Team

Advertisement 728x90

Číst dál