Přeskočit na hlavní obsah

Změna vlastnosti typu Text na jiný typ

Změna vlastnosti typu Text na typ Date

Chcete-li změnit typ vlastnosti, proveďte následující:

  1. Otevřete Definice vlastností, vyberte konkrétní vlastnost a změňte její datový typ. Hodnoty vlastnosti, které jsou uvedeny v některém z podporovaných formátů, se automaticky převedou na typ Date. Protože systém negarantuje automatický převod všech hodnot vlastnosti v celém záznamu, vytvoří se automaticky záloha (kopie) původní vlastnosti s názvem <název vlastnosti> (old) (např. "Datum výroby (old)"), která ponechá původní hodnoty.

    Poznámka

    Podporovaný formát pro automatický převod je dd.mm.yyyy (např. 15.10.2015, 3.1.2015). Pokud máte většinu hodnot vlastnosti zadánu v jiném formátu, doporučujeme postupovat až do kroku 5 v tomto návodu.

  2. Ověřte, že systém dokázal převést všechny hodnoty, podle tohoto postupu:

    1. Ve stromu objektů vyberte celou organizaci.
    2. Na kartě Podřazené objekty zobrazte sloupce <property name> (typ vlastnosti Datum) a <property name> (old). Z místní nabídky použijte příkaz "Zobrazit v seznamech objektů".
    3. Jakmile se zobrazí okno "Seznamy objektů", potvrďte název pohledu klávesou "Enter" a nastavte filtry ve sloupcích takto:
      1. <property name> = ""
      2. <property name> (old) = not ""
      3. Cesta ve stromu – odstraňte filtr (poté se zobrazí objekty z celé evidence)
  3. Pokud se po nastavení filtru nezobrazí žádné řádky, byly všechny hodnoty úspěšně převedeny, pokračujte krokem 7.

  4. Pokud se systému nepodařilo převést pouze malý počet hodnot, doplňte hodnoty ručně. Doporučujeme seřadit hodnoty na kartě Podřazené objekty podle sloupce <property name> (old) a pomocí příkazu "Upravit" z místní nabídky nastavit hodnoty vlastností objektů ve sloupci <property name>. Tímto způsobem můžete nastavit stejnou hodnotu vlastnosti pro více objektů najednou.

  5. Pokud se systému nepodařilo převést velké množství hodnot, postupujte podle následujících pokynů pro hromadný převod:

    1. V okně Seznamy objektů zobrazte v tabulce pouze sloupce "NodeId", "Type" a <název vlastnosti> (old).
    2. Z místní nabídky zvolte Tabulka -> Uložit jako a uložte tabulku jako soubor "*.CSV".
    3. Otevřete soubor v Microsoft Excelu a v případě potřeby upravte původní hodnoty vlastností (tj. hodnoty ve sloupci "... (old)", např. "Date of manufacture (old)") tak, aby byly všechny v jednotném formátu podporovaném nástrojem ImportUtil; viz parametr -datetimeformat nástroje ImportUtil. Poté přejmenujte sloupec s původními hodnotami na název cílové vlastnosti (tj. odstraňte příponu "(old)").
    4. Aktualizujte hodnoty vlastností v registru pomocí ImportUtil a parametrů -datetimeformat a -keyfields "NodeId". Pokud se import dat pro některé objekty nezdaří, upravte ručně formát dat těchto objektů v souboru CSV.
  6. Pokračujte znovu krokem 2.

  7. Po dokončení převodu hodnot vlastností odstraňte vlastnost <název vlastnosti> (old) ze všech šablon a proveďte sjednocení podle šablon:

    1. Otevřete okno Nástroje - Databáze - SQL dotaz.

    2. Vytvořte nový dotaz (Soubor - Nový).

    3. Zadejte následující SQL dotaz:

      SELECT DISTINCT
      n.intNodeId,
      n.txtClass [Object type],
      n.txtPath+N'/'+n.txtName [Path and name of the object in the tree]
      FROM vNodeClass n
      JOIN tblNodeParent np on np.lintNodeId=n.intNodeId
      JOIN tblNode t on t.intNodeId=np.lintParentNodeId and t.lintClassId=3
      JOIN vNodeProperty pk ON n.intNodeId=pk.NodeId AND pk.ColumnName=N'<propertyName> (old)'
    4. V dotazu nahraďte řetězec <název vlastnosti> (old) názvem vaší staré vlastnosti.

    5. Podle cesty ve stromu vyhledejte všechny nalezené šablony objektů a odstraňte z nich starou vlastnost.

    6. Sjednoťte objekty podle šablon, které upravujete.

    7. Pomocí "Seznamy - Definice vlastností" odstraňte definici vlastnosti.

    8. Pokud ani poté nelze definici vlastnosti odstranit, je pravděpodobně použita u objektů, které nemají šablonu. Tyto objekty můžete najít pomocí dotazu:

      SELECT
      n.intNodeId,
      n.txtClass [Object type],
      n.txtPath+N'/'+n.txtName [Path and name of the object in the tree]
      FROM vNodeClass n
      JOIN vPropertyKind pk ON pk.lintNodeId=n.intNodeId and pk.txtKind=N'<propertyName> (old)'

Dotaz můžete znovu spustit z okna Nástroje - Databáze - SQL dotaz. Nezapomeňte v dotazu změnit název vlastnosti. Odstraňte všechny takto nalezené vlastnosti a znovu odeberte definici vlastnosti.

Změna vlastnosti typu Text na typ Number

Chcete-li změnit typ vlastnosti, proveďte následující:

  1. Změňte datový typ vlastnosti Text na Number. Podporovaný formát pro převod je desetinné číslo s čárkou nebo tečkou jako desetinným oddělovačem. Jako oddělovač řádů lze použít mezeru. Lze převádět také záporná čísla nebo čísla v zkráceném formátu. Například: "12 543.50", "980.56", "-1530", "1,3e-2".

  2. Po převodu zkontrolujte a importujte případné nepřevedené vlastnosti, jak je popsáno při změně typu Text na typ Date.

    Poznámka

    Při použití ImportUtil není nutné používat přepínač -datetimeformat.

Varování

Vlastnosti datového typu Date nelze změnit na Number (ani naopak). Typy Datum nelze měnit ani u systémových položek.