ZVONEK

Jsou tací, kteří čtou tuto zprávu před vámi.
Přihlaste se k odběru nejnovějších článků.
E-mailem
název
Příjmení
Jak by se vám líbilo číst Zvonek
Žádný spam

Specializovaná konfigurace "1C: Konverze dat 2.0"

Vydání osmé verze platformy 1C:Enterprise se stalo významným krokem ve vývoji automatizačních systémů. Při navrhování platformy 1C:Enterprise 8 byly zohledněny rozsáhlé zkušenosti s používáním řešení založených na platformě 1C:Enterprise 7.7: vestavěný jazyk platformy a typické konfigurace byly vážně přepracovány, struktura ukládání dat a přístup byla změněna, byla vytvořena nová průmyslová řešení, která realizují výhody nové platformy. Použití předchozích jazykových konstrukcí v nové platformě se stalo nevhodným.

Pro usnadnění řešení tohoto problému (přenos dat z verze 7.7 do verze 8) vydala společnost 1C specializovanou konfiguraci „Data Conversion 2.0“. Byl vytvořen, aby pomohl specialistům při řešení různých problémů přenosu dat. 1C vydala hotová pravidla pro přenos dat z konfigurací stejného typu, například z 1C: Accounting 7.7 do 1C: Accounting 8, ale uživatelé nestandardních nebo upravených standardních konfigurací při přechodu na platformu 1C: Enterprise 8 budete muset vytvořit data pravidel přenosu sami.

Se všemi různými soukromými metodami pro řešení problémů s přenosem dat zůstává rozsah problémů, které je třeba vyřešit, prakticky nezměněn:

Synchronizace referenčních informací (vytváření nových, aktualizace stávající prvky adresáře, mazání, ukládání nebo změna hierarchie, větvení dat, přenos historie změn hodnot periodických detailů);

Synchronizace dokumentů a operací (tvorba, úprava dokumentů nebo transformace jednoho typu dokumentu na jiný, slučování nebo reprodukce);

Vytvoření dostatečných počátečních podmínek pro vedení účetních registrů ekonomická aktivita(převoz zbytkového zboží apod.).

Struktury ukládání dat v 1C:Enterprise různých verzí a/nebo konfigurací se liší, takže přenos dat není jen kopírování souborů nebo tabulek, ale jejich převod. Aby byla transformace jednoznačná a správná, je nutné vytvořit a nakonfigurovat pravidla pro přenos dat. Vytváření a konfigurace pravidel pro přenos dat mezi různými infobázemi je možné, pokud je známa struktura ukládání dat ve zdrojové a cílové databázi. Popis struktury metadat konfigurace by měl být sjednocen. Konfigurace Data Conversion 2.0 se používá k vytváření a konfiguraci pravidel přenosu dat na základě popisů struktury metadat konfigurace zdroje a cíle.

Proces přenosu dat mezi informačními bázemi se skládá z následujících kroků:

  • 1. Vytváření souborů s popisem metadat.
  • 2. Vytvoření konfigurací v "Konverze dat".
  • 3. Vytvoření samotné konverze.
  • 4. Důsledná tvorba pravidel konverze dat.
  • 5. Důsledná tvorba pravidel nahrávání dat.
  • 6. Vlastní postup pro vykládání a načítání dat z jedné konfigurace do druhé.

Protože použití této specializované konfigurace je jednou z nejúčinnějších na tento moment způsoby řešení problémů tohoto druhu a navíc zdroj osobních zkušeností velmi užitečných pro vzdělávací účely, pak vyvinout mechanismus pro výměnu dat mezi IS „Server: Rent Calculation“ a „1C: Enterprise Accounting“ pro LLC“ LLC" metoda založená na použití konfigurace "Data Conversion 2.0".

Konverze dat 2.0 a 2.1 je technologická konfigurace 1C implementovaná na platformách verzí 8.1 až 8.3.

Hlavním úkolem nástroje je psát pravidla pro výměnu mezi aplikačními řešeními 1C 8 a 7. Aktuální verze konverze dat je dnes 3.0.

Konverze dat je velmi užitečná konfigurace, vyřešíte s ní nejen přenos informací z jedné infobáze do druhé, ale například i převod informací v rámci jedné databáze.

Konfigurace je velmi vhodná pro použití, když .

Konverze dat bude užitečná pro každého programátora: schopnost vytvářet pravidla výměny je vážným plusem pro profesionální dovednosti.

Chcete-li se naučit pracovat s konfigurací, nejlépe se hodí řešení praktických problémů. Zkuste si vymyslet úkoly pro sebe, například: přenést jakékoli informace z jedné databáze do druhé, přeměnit implementační dokument na doklad o příjmu, „řídit“ aktuální zůstatky na účetnictví v dokumentu "zadání zůstatků" a další úkoly.

Bude velmi užitečné porozumět „typickým“ pravidlům výměny 1C 8.3, kde často najdete zajímavé příklady implementace úkolů.

K pochopení základů budete potřebovat materiály, zvažte je níže.

Video instrukce pro převod

Základy nastavení výměny dat v 1C pomocí konfigurace „1C Data Conversion“ najdete ve videu jako příklad:

Materiály, učebnice pro studium 1C Data Conversion 2.0

Na internetu není příliš mnoho materiálů a dokumentace, snažil jsem se shromáždit nejdůležitější a nejzajímavější materiály:

0. Nejprve doporučuji bezplatný videokurz Ilji Leontieva, je k dispozici na odkaz.

1. V první řadě bych doporučil použít vestavěnou nápovědu v konfiguraci. Je to opravdu dobře napsané a dobře technicky implementované:

2. Druhým nejdůležitějším zdrojem informací je stránka http://www.mykod.info/ (stránka byla uzavřena), specializovaná pouze na konverzi dat. Tam si můžete stáhnout velké množství konverzních materiálů.

3. Samostatně bych rád vyzdvihl učebnici tréninkového manuálu - (autor - Olga Kuznetsova).

Migrace dat mezi různými konfiguracemi není triviální úkol. Jako vždy existuje několik řešení, ale ne všechna jsou optimální. Pokusme se pochopit nuance přenosu dat a zvolit univerzální strategii pro řešení takových problémů.

Problém migrace dat (jedná se čistě o produkty společnosti 1C) z jednoho řešení do druhého včera nenastal. Společnost 1C si je dobře vědoma potíží, s nimiž se vývojáři při vytváření migrací potýkají, a proto se snaží co nejlépe pomoci s nástroji.

Během vývoje platformy společnost představila řadu univerzálních nástrojů a také technologií, které zjednodušují přenos dat. Jsou zabudovány do všech standardních řešení a problém migrace mezi identickými konfiguracemi byl obecně vyřešen. Vítězství opět potvrzuje těsná integrace standardních řešení.

U migrací mezi nestandardními řešeními je situace poněkud složitější. Široká škála technologií umožňuje vývojářům nezávisle zvolit nejlepší způsob řešení problému z jejich pohledu.

Podívejme se na některé z nich:

  • výměna prostřednictvím textových souborů;
  • využívání výměnných plánů;
  • atd.

Každý z nich má své pro a proti. Shrneme-li, hlavní nevýhodou bude upovídanost. Nezávislá implementace migračních algoritmů je zatížena značnými časovými náklady a také dlouhým procesem ladění. O další podpoře takových rozhodnutí nechci ani mluvit.

Složitost a vysoké náklady na údržbu přiměly společnost 1C k vytvoření univerzálního řešení. Technologie, která vám umožní maximálně zjednodušit vývoj a podporu migrací. V důsledku toho byla myšlenka implementována ve formě samostatné konfigurace - "Data Conversion".

Konverze dat - standardní řešení, vlastní konfigurace. Každý uživatel s předplatným ITS:Prof si může tento balíček stáhnout zcela zdarma ze stránky uživatelské podpory nebo z disku ITS. Instalace se provádí standardním způsobem - jako všechna ostatní standardní řešení od 1C.

Nyní něco málo o kladech řešení. Začněme tím nejdůležitějším – všestranností. Řešení není přizpůsobeno pro určité konfigurace/verze platformy. Funguje stejně dobře jak se standardními konfiguracemi, tak s těmi, které si sami napíšou. Vývojáři získají univerzální technologii a standardizovaný přístup k vytváření nových migrací. Všestrannost řešení umožňuje připravit migrace i pro jiné platformy než 1C:Enterprise.

Druhým odvážným plusem jsou vizuální pomůcky. Jednoduché migrace jsou vytvářeny bez programování. Ano, ano, bez jediného řádku kódu! Už jen kvůli tomu stojí za to věnovat čas naučení se technologie jednou a poté opakovaně používat neocenitelné dovednosti.

Třetí výhodou, kterou bych poznamenal, je absence omezení distribuce dat. Vývojář sám volí způsob doručení dat do konfigurace přijímače. Po vybalení jsou k dispozici dvě možnosti: nahrání do souboru xml a přímé připojení k informační databázi (COM/OLE).

Učení architektury

Už víme, že konverze dat dokáže zázraky, ale zatím není jasné, jaké jsou technické výhody. První věc, kterou je třeba se naučit, je, že jakákoli migrace dat (konverze) je založena na pravidlech výměny. Pravidla výměny - běžný xml soubor s popisem struktury, do které se budou nahrávat data z IB. Zpracování služby, které provádí upload/download dat, analyzuje pravidla výměny a na jejich základě provede upload. Během stahování dojde k opačnému procesu.

Konfigurace „KD“ je druh vizuálního konstruktoru, pomocí kterého vývojář vytváří pravidla výměny. Neví, jak nahrát data. Za to je zodpovědné dodatečné externí servisní zpracování zahrnuté v distribuční sadě CD. Existuje několik z nich (XX v názvu souboru je číslo verze platformy):

  • MDXXExp.epf- zpracování umožňuje nahrát popis struktury infobáze do xml souboru. Popis struktury je nahrán na CD pro další analýzu a tvorbu pravidel výměny.
  • V8ExchanXX.epf- nahrává/stahuje data z infobáze v souladu s pravidly výměny. Ve většině typických konfiguracích je zpracování k dispozici ihned po vybalení (viz položka nabídky „Servis“). Zpracování je univerzální a není vázáno na žádné konkrétní konfigurace/pravidla.

Dobře, nyní na základě všeho výše uvedeného definujme fáze vývoje nové konverze:

  1. Definice úkolu. Je potřeba jasně pochopit, jaká data je potřeba přenést (z jakých konfiguračních objektů) a hlavně kam přenést.
  2. Příprava popisu konfiguračních struktur (Source/Receiver) pro následné nahrání na CD. Úloha je řešena servisním zpracováním MDXXExp.epf.
  3. Načítání připravených popisů konstrukcí v IS.
  4. Vytváření pravidel výměny pomocí vizuálních prostředků CD.
  5. Nahrávání/stahování podle vytvořených pravidel konverze dat pomocí zpracování V8ExchanXX.epf.
  6. Ladění pravidel výměny (v případě potřeby).

Nejjednodušší převod

Pro demonstraci potřebujeme dvě nasazené konfigurace. Rozhodl jsem se zastavit u možnosti: „Trade Management“ 10. vydání a malé vlastnoručně napsané řešení. Úkolem bude přenos dat z typické konfigurace UT. Samostatně napsané řešení budeme pro stručnost nazývat „Receiver“ a řízení obchodu „Source“. Začněme řešit problém přenesením prvků adresáře "Nomenclature".

Nejprve se podívejme na schéma převodu dat a znovu si přečtěte seznam akcí, které je třeba provést. Poté spustíme konfiguraci „Source“ a otevřeme v ní službu zpracovávající MD82Exp.epf.

Rozhraní zpracování nezáří přemírou nastavení. Uživatel potřebuje pouze specifikovat typy objektů metadat, které nebudou spadat do popisu struktury. Ve většině případů není nutné tato nastavení měnit, protože v akumulačních registrech (jako příklad) není žádný zvláštní důvod.

Správnější je tvořit pohyb během držení dokumentů v přijímači. Veškeré pohyby provede doklad sám po převodu. Druhým argumentem na obranu výchozího nastavení je zmenšení velikosti nahrávaného souboru.

Některé dokumenty (zejména v typických konfiguracích) tvoří pohyby ve více registrech. Uvolněním všech těchto úspor způsobí, že výsledný soubor XML bude příliš velký. To může ztížit následnou přepravu a nakládání do základny přijímače. Čím větší je datový soubor, tím více paměti RAM je potřeba k jeho zpracování. Během své praxe jsem se náhodou setkal s neslušně velkými uploadovanými soubory. Takové soubory zcela odmítly být analyzovány standardními prostředky.

Ponecháme tedy všechna výchozí nastavení a nahrajeme popis konfigurace do souboru. Stejný postup opakujeme i u druhého základu.

Otevřete CD a vyberte z hlavní nabídky "Adresáře" -> "Konfigurace". V adresáři jsou uloženy popisy struktur všech konfigurací, které lze použít k vytváření převodů. Popis konfigurace načteme jednou a poté jej můžeme opakovaně používat k vytváření různých konverzí.

V okně adresáře stiskněte tlačítko „ Přidat“ a v okně, které se zobrazí, vyberte soubor s popisem konfigurace. Zaškrtněte políčko „Nahrát do nové konfigurace“ a klikněte na tlačítko „Provést nahrání“. Podobné akce provádíme s popisem struktury druhé konfigurace.

Nyní je vše připraveno k vytvoření pravidel výměny. V hlavní nabídce CD vyberte „Reference“ -> „Konverze“. Přidání nového prvku. V okně pro vytvoření nového převodu je třeba zadat: konfiguraci zdroje (vyberte UT) a konfiguraci přijímače (vyberte "Přijímač"). Dále otevřete kartu „Upřesnit“ a vyplňte následující pole:

  • název souboru pravidel výměny - vytvořená pravidla výměny budou uložena pod tímto názvem. Název souboru lze kdykoli změnit, ale nejlepší je nastavit jej nyní. To ušetří čas v budoucnu. Pravidla pro demo jsem pojmenoval: "rules-ut-to-priemnik.xml".
  • jméno – název konverze. Název může být naprosto jakýkoli, omezil jsem se na „Demo. UT k přijímači“.

To je vše, klikněte na "OK". Okamžitě se před námi objeví okno s výzvou, abychom všechna pravidla vytvořili automaticky. Souhlas s takovou lákavou nabídkou dá veliteli příkaz k automatické analýze popisu vybraných konfigurací a nezávislému generování pravidel výměny.

Okamžitě tečkujme „a“. Master nebude schopen vygenerovat nic vážného. Tato možnost by se však neměla podceňovat. Pokud potřebujete navázat výměnu mezi identickými konfiguracemi, velmi vám pomohou služby průvodce. Pro náš příklad je výhodnější manuální režim.

Podívejme se blíže na okno „Nastavení pravidel burzy“. Rozhraní se může zdát trochu matoucí - velké množství záložek přeplněných ovládacími prvky. Ve skutečnosti není vše tak těžké, na tuto šílenost si začnete zvykat po pár hodinách práce s aplikací.

V této fázi nás zajímají dvě karty: „Pravidla konverze objektů“ a „Pravidla nahrávání dat“. Na prvním z nich musíme nastavit párovací pravidla, tzn. porovnat objekty dvou konfigurací. Na druhém určete možné objekty, které budou uživateli k dispozici pro vyložení.

V druhé polovině záložky „Pravidla konverze objektů“ je další panel se dvěma kartami: „Převod vlastností“ a „ Konverze hodnoty". První vybere vlastnosti (náležitosti) vybraného objektu a druhý je nezbytný pro práci s předdefinovanými hodnotami (například předdefinované prvky slovníku nebo prvky výčtu).

Skvělé, nyní vytvoříme pravidla převodu pro adresáře. Tuto akci můžete provést dvěma způsoby: použijte průvodce synchronizací objektů (klikněte na „“) nebo přidejte shody pro každý objekt ručně.

Pro úsporu místa použijeme první možnost. V okně průvodce zrušte zaškrtnutí políčka „ Dokumenty“ (zajímají nás pouze adresáře) a rozbalte skupinu “ Referenční knihy". Pečlivě listujeme seznamem a díváme se na názvy adresářů, které lze porovnávat.

V mém případě existují tři takové adresáře: Nomenklatura, Organizace a Sklady. Existuje také adresář Clients, který provádí stejné sémantické zatížení jako „ Protistrany"z konfigurace" UT". Pravda, mistr je nemohl srovnávat kvůli jejich vynikajícím jménům.

Tuto závadu můžeme opravit sami. Najděte v okně Mapování objektů» příručka « klienti“ a ve sloupci „Zdroj“ vyberte referenční knihu „Protistrany“. Poté zaškrtněte políčko ve sloupci „Typ“ a klikněte na tlačítko „OK“.

Průvodce synchronizací objektů vás vyzve k automatickému vytvoření pravidel pro převod vlastností všech vybraných objektů. Vlastnosti budou odpovídat názvu a pro naši demonstraci to bude stačit, souhlasíme. Další otázkou bude návrh na vytvoření pravidel nahrávání. Pojďme s tím souhlasit.

Základ pro pravidla výměny je připraven. Vybrali jsme objekty pro synchronizaci a automaticky se vytvořila pravidla pro převod vlastností a pravidla pro nahrávání. Uložme pravidla pro výměnu do souboru, poté otevřeme IB „Source“ (v mém případě je to UT) a zahájíme v něm zpracování služby V8Exchan82.epf.

Nejprve v okně zpracování vyberte pravidla výměny, která jsme vytvořili. Na otázku načítání pravidel odpovídáme kladně. Zpracování analyzuje pravidla výměny a vytvoří stejnojmenný strom pro objekty dostupné pro vyložení. Pro tento strom můžeme nastavit nejrůznější filtry nebo výměnné uzly, jejichž změnou potřebujeme vybírat data. Chceme nahrávat naprosto všechna data, takže není potřeba instalovat filtry.

Po dokončení procesu nahrávání dat do souboru přejděte na IB " Přijímač". Otevíráme v něm i zpracování V8Exchan82.epf, pouze tentokrát přejdeme na kartu „Načítání dat“. Vyberte datový soubor a klikněte na tlačítko "Nahrát". Vše, data byla úspěšně přenesena.

Úkoly z reálného světa

První demo může být zavádějící. Vše vypadá celkem jednoduše a logicky. Ve skutečnosti to není pravda. V reálné práci vznikají úkoly, které je obtížné nebo zcela nemožné vyřešit pouze pomocí vizuálních prostředků (bez programování).

Abych nebyl zklamán v technologii, připravil jsem několik skutečných úkolů. V práci na ně určitě narazíte. Nevypadají tak triviálně a nutí vás podívat se na převod dat z nového úhlu. Předložené příklady pečlivě zvažte a klidně je použijte jako úryvky při řešení skutečných problémů.

Úkol číslo 1. Doplňte chybějící údaje

Předpokládejme, že potřebujeme přenést adresář “ Protistrany". Přijímač má k tomu podobnou referenční knihu „Klienti“. Je zcela vhodný pro ukládání dat, ale má rekvizity „ Organizace“, což vám umožňuje oddělit protistrany podle příslušnosti k organizaci. Standardně musí všechny protistrany patřit k aktuální organizaci (lze ji získat ze stejnojmenné konstanty).

Existuje několik řešení problému. Zvážíme možnost vyplnění rekvizit “ Organizace"přímo v základně" Přijímač", tj. v době načítání dat. Aktuální organizace je uložena v konstantě, takže neexistuje žádná překážka pro získání této hodnoty. Otevřeme pravidlo konverze objektů (dále jen FRP) “ klienti” (dvojitě klikněte na objekt) a v průvodci nastavením pravidel přejděte do sekce „Ovládače událostí“. V seznamu handlerů najdeme „ Po načtení”.

Pojďme si popsat kód pro získání aktuální organizace s následným přiřazením k atributu. Ve chvíli, kdy se spustí handler „Po načtení“, bude objekt plně zformován, ale ještě není zapsán do databáze. Nikdo nám nezakazuje to změnit podle našeho uvážení:

If NOT Object.ThisGroup Then Object.Organization = Constants.CurrentOrganization.Get(); EndIf;

Před vyplněním rekvizit " Organizace» je nutné zkontrolovat hodnotu atributu « Tato skupina". Pro průvodce" klienti» je nastaven hierarchický příznak, takže je nutná kontrola skupiny. Podobně se provádí vyplnění jakýchkoliv podrobností. Nezapomeňte si přečíst nápovědu pro další možnosti obslužného programu " Po načtení". Mezi nimi je například parametr " Zamítnutí". Pokud je mu přiřazena hodnota "True", pak objekt nebude zapsán do databáze. Je tedy možné omezit objekty pro zápis v době načítání.

Úkol číslo 2. Podrobnosti v rejstříku informací

V příručce" Protistrany"Konfigurace UT, existují podrobnosti" Kupující" a " Poskytovatel". Obě rekvizity jsou typu „ booleovský“ a používají se k určení typu protistrany. V IB" Přijímač“, v referenční knize “ klienti"Neexistují žádné podobné podrobnosti, ale existuje registr informací" Typy klientů". Provádí podobnou funkci a může uložit více značek pro jednoho klienta. Naším úkolem je přenést hodnoty detailů do samostatných záznamů registru informací.

Ani zde si bohužel vizuální prostředky samy o sobě neporadí. Začněme v malém, vytvořte nové PCO pro registr informací " Typy klientů". Neuvádějte nic jako zdroj. Odmítnout automatické vytváření pravidel nahrávání.

Dalším krokem je vytvoření pravidel nahrávání. Přejděte na příslušnou kartu a klikněte na „ Přidat". V okně pro přidání pravidel nahrávání vyplňte:

  • vzorkovací metoda. Změňte na „Arbitrary algorithm“;
  • konverzní pravidlo. Vyberte informační registr „Typy zákazníků“;
  • Kód (název) pravidla. Píšeme to jako „Nahrávání klientských druhů“;

Nyní je potřeba napsat kód pro výběr dat pro nahrání. Zde je parametr „ Vzorkování dat". V něm můžeme umístit kolekci s připraveným souborem dat. Parametr " Vzorkování dat“může přijmout různé významy- výsledek dotazu, výběr, kolekce hodnot atd. Inicializujeme jej jako tabulku hodnot se dvěma sloupci: klient a typ klienta.

Níže je uveden kód obsluhy události " Před zpracováním". Inicializuje parametr „ Vzorkování dat“ následuje vyplnění údajů z adresáře “ Protistrany". Zde stojí za to věnovat pozornost vyplnění sloupce „ Typ klienta". V „UT“ máme vlastnosti typu „Boolean“ a v příjemci výčet.

V této fázi je neumíme dovést na požadovaný typ (není v UT), takže to zatím necháme ve formě strun. Nemusíte to dělat, ale hned chci ukázat, jak přetypovat na chybějící typ ve zdroji.

DataFetch = NewValueTable(); Data Selection.Columns.Add("Klient"); Data Selection.Columns.Add("ClientType"); Výběr dat z adresáře = Directories.Contractors.Select(); While Fetching DataFromCatalog.Next() Loop If FetchingDataFromCatalog.ThisGroup Then Continue; EndIf; If DataFetchFromCatalog.Buyer Then NewString = DataFetch.Add(); NewString.Client = SamplingDataFromCatalog.Reference; NewString.ClientType = "Kupující"; EndIf; If DataFetchFromCatalog.Provider Then NewString = DataFetch.Add(); NewString.Client = SamplingDataFromCatalog.Reference; NewString.ClientType = "Dodavatel"; EndIf; EndCycle;

Uložte pravidlo nahrávání dat a vraťte se do „ Pravidla konverze objektů". Dodejme pro registr informací “ Typy klientů” pravidla převodu vlastností: klient a typ klienta. Zdroj necháme prázdný a do obslužné rutiny události „Před uvolněním“ napíšeme:

//Pro vlastnost "Client" Value = Source.Client; //Pro vlastnost “CustomerType” If Source.Customer = "Buyer" Then Expression = "Enumerations.CustomerTypes.Buyer" ElseIf Source.Customer = "Supplier" Then Expression = "Enumerations.CustomerTypes.Supplier"; EndIf;

Ve výpisu se údaje vyplní na základě provedeného výběru dat. Klienta předáme jednoduše jako odkaz a typ klienta zapíšeme do parametru " Výraz". Data tohoto parametru budou interpretována v přijímači a při spuštění se atribut doplní správnou hodnotou z výčtu.

To je vše, pravidla výměny jsou připravena Uvažovaný příklad se ukázal jako zcela univerzální. Podobný přístup se často používá při přenosu dat z konfigurací vytvořených na platformě 7.7. Nápadným příkladem toho je přenos periodických detailů.

Úkol číslo 3. Tabulkové triky

Často existují úkoly, které vyžadují zaúčtování řádků jedné tabulkové části do několika. Například v počáteční konfiguraci jsou služby a zboží evidovány v jedné tabulkové sekci, přičemž úložiště těchto entit je odděleno v přijímači. Problém opět nelze vyřešit vizuálními prostředky. Zde je vhodné vzít za základ řešení druhého problému.

Vytvoříme pravidlo pro nahrávání dat, určíme libovolný algoritmus a zapíšeme dotaz do obslužné rutiny „Před nahráním“, abychom získali data z tabulkové části.

Kvůli úspoře místa neuvádím kód (vždy se můžete odkázat na zdrojový kód) požadavku - není v něm nic neobvyklého. Protřídíme výsledný vzorek a seřazené výsledky umístíme do již známého parametru “ Vzorkování dat". Opět je vhodné použít jako kolekci tabulku hodnot:

DataFetch = NewValueTable(); //Tady bude ještě jedna tabulková sekce Data Selection.Columns.Add("Products"); //Zde bude také tabulková sekce Data Selection.Columns.Add("Services"); Výběr dat z.Columns.Add(“Link”);

Úkol číslo 4. Přenos dat do operace

Pokud organizace používá několik účetních systémů, bude dříve nebo později potřeba migrace dat s následnou tvorbou účtování.

V konfiguraci " BP"existuje univerzální dokument" Úkon“ a je ideální pro vytváření více drátů. Je tu jen jeden problém - dokument je vyroben mazaně a není tak snadné do něj přenést data.

Příklad takové konverze najdete ve zdrojovém kódu článku. Množství kódu se ukázalo být poměrně velké, takže nemá smysl ho pro článek zveřejňovat. Dovolte mi jen říci, že nahrávání opět používá libovolný algoritmus v pravidlech pro nahrávání dat.

Úkol číslo 5. Synchronizace dat mezi více atributy

Několik příkladů jsme již probrali, ale zatím jsme nemluvili o synchronizaci objektů během migrace. Představme si, že potřebujeme převést protistrany a některé z nich jsou pravděpodobně v databázi příjemců. Jak přenést data a zabránit duplicitám? V tomto ohledu nabízí CD několik způsobů synchronizace přenášených objektů.

První je podle jedinečného identifikátoru. Mnoho objektů má jedinečný identifikátor, který zaručuje jedinečnost v rámci tabulky. Například v příručce " Protistrany” nemůže mít dva prvky se stejným ID. CD pro to provede výpočet a pro všechny vytvořené PSP je ve výchozím nastavení okamžitě povoleno vyhledávání podle identifikátoru. Při vytváření PSP jste si měli všimnout ikony lupy vedle názvu objektu.

Synchronizace pomocí jedinečného identifikátoru je spolehlivá metoda, ale zdaleka ne vždy vhodná. Při slučování adresářů“ Protistrany“ (z několika různých systémů) je málo nápomocný.

V takových případech je správnější synchronizovat objekty podle několika kritérií. Správnější je hledat protistrany podle TIN, KPP, Name nebo rozdělit hledání do několika fází.

Konverze dat neomezuje vývojáře v definování kritérií vyhledávání. Vezměme si abstraktní příklad. Předpokládejme, že potřebujeme synchronizovat adresáře “ Protistrany“ z různých informačních bází. Připravíme si PCP a v nastavení pravidel pro převod objektu zaškrtneme políčko “ Pokračujte v hledání ve vyhledávacích polích, pokud nebyl objekt příjemce nalezen podle ID". Touto akcí jsme okamžitě definovali dvě vyhledávací kritéria - pomocí jedinečného identifikátoru a libovolných polí.

Máme právo si obory vybrat sami. Po zaznamenání TIN, KPP, Name okamžitě uvedeme několik kritérií vyhledávání. Komfortní? Docela, ale opět to nestačí. A co když chceme změnit kritéria vyhledávání? Například nejprve hledáme spoustu TIN + KPP, a pokud nic nenajdeme, pak začneme zkoušet štěstí se jménem.

Je docela možné implementovat takový algoritmus. V obsluze události Vyhledávací pole” můžeme zadat až 10 vyhledávacích kritérií a pro každé z nich definovat vlastní složení vyhledávacích polí:

Pokud SearchOptionNumber = 1, pak SearchPropertyNameString = “TIN, KPP”; ElseIfSearchVariantNumber = 2 ThenSearchPropertyNameString = “Jméno”; EndIf;

Vždy existuje více řešení.

Každá úloha má několik řešení a přenos dat mezi různými konfiguracemi není výjimkou. Každý vývojář má právo zvolit si vlastní cestu řešení, ale pokud neustále musíte vyvíjet složité migrace dat, pak důrazně doporučuji věnovat pozornost konfiguraci "". Zpočátku musíte investovat prostředky (čas) do školení, ale ty se více než vyplatí na prvním více či méně seriózním projektu.

Dle mého názoru společnost 1C nezaslouženě obchází téma využití konverze dat. Za celou dobu existence technologie o ní vyšla pouze jedna kniha: „1C: Enterprise 8. Konverze dat: výměna mezi aplikačními řešeními“. Kniha je poměrně stará (2008), ale přesto je žádoucí se s ní seznámit.

Stále je nutná znalost platformy

» je univerzální nástroj, ale pokud jej plánujete použít k vytváření migrací dat z konfigurací vyvinutých pro platformu 1C:Enterprise 7.7, budete muset věnovat čas seznámení se s vestavěným jazykem. Syntaxe a ideologie jazyka jsou velmi odlišné, takže musíte trávit čas učením. Zbytek principu zůstává stejný.

Mechanismus obsluhy událostí je jednou z klíčových technologií pro konverzi dat pomocí "Data Conversion 2.0". Kompetentní a dovedné použití tohoto mechanismu umožňuje vývojáři rychle vyřešit téměř jakýkoli úkol konverze dat. S pomocí procesorové technologie se snadno implementuje výběr dat, konverze dat odlišné typy, komplexní výběr dat, nastavení převodu a mnoho dalších úkolů.

Zvažte základní principy této technologie. V klíčových bodech algoritmů pro vyjímání a načítání dat při zpracování univerzální výměny je možné provádět programový kód převzatý z pravidel výměny dat a není „napevno zapojen“ do zpracování vykládání nebo načítání dat. Konfigurace "Data Conversion 2.0" poskytuje příležitosti pro integraci takového programového kódu do pravidel výměny dat.

Celkem existuje více než dvacet různých míst v algoritmech výměny dat, kde lze spustit kód třetích stran. V souladu s tím konfigurace umožňuje vytvoření různých typů obsluhy událostí.

Kód obslužných rutin událostí je „připojen“ k objektům pravidel výměny – prvkům adresářů: konverze, pravidla konverze objektů, pravidla konverze vlastností, pravidla nahrávání dat a pravidla čištění dat. Kód obsluhy události musí přirozeně splňovat řadu požadavků. Zejména pro řízení procesu převodu v kódu handleru je nutné používat speciální proměnné – parametry. Kompletní popis všech typů obslužných rutin událostí a dostupných proměnných naleznete v informacích o obslužných rutinách v příslušných formulářích.

POZORNOST!!!

Technologie Data Conversion 2.0 umožňují výměnu dat s informačními bázemi implementovanými na platformách 1C:Enterprise 7.7 a 1C:Enterprise 8.0. Vzhledem ke zvláštnostem fungování platformy 1C:Enterprise 7.7 má příprava pravidel výměny dat pomocí obsluhy událostí pro infobáze implementované na této platformě řadu funkcí.

Pro platformu 1C:Enterprise 7.7 není možné spustit libovolný kód (obdobně jako u funkce Run pro V8). Pokud je nutné použít obslužné rutiny událostí pro platformu V7.7, je nutné nahradit text zpracování nahrávání nebo stahování dat textem zpracování, které produkuje konfigurace "Data Conversion 2.0".

Pokud potřebujete přenést data z V7.7 do V8, pak:

Při vykládání systém kromě samotného souboru pravidel vygeneruje text modulu pro zpracování V77Exp.ert s funkcemi implementujícími obsluhu událostí. Poté musíme v konfigurátoru nahradit standardní modul V77Exp.ert novým vygenerovaným „Data Conversion 2.0“.

Při vývoji řešení pro výměnu dat na platformě 1C:Enterprise 7.7 je třeba pamatovat na tuto důležitou „maličkost“. Vaše pravidla budou správně fungovat pouze v případě, že použijete upravené zpracování, jehož text modulu byl vytvořen při načítání pravidel výměny dat. Toto pravidlo má jednu výjimku – pokud nepoužíváte obslužné rutiny událostí, můžete použít standardní zpracování.

S pozdravem, Vladimír Milkin(učitel a vývojář).

ZVONEK

Jsou tací, kteří čtou tuto zprávu před vámi.
Přihlaste se k odběru nejnovějších článků.
E-mailem
název
Příjmení
Jak by se vám líbilo číst Zvonek
Žádný spam