Změnit vlastnost typu Text na jiný typ
Změnit vlastnost typu textu na typ Datum
Chcete-li změnit typ vlastnosti, proveďte následující:
-
Otevřete Definice vlastností, vyberte konkrétní vlastnost a změňte její datový typ. Hodnoty vlastností zadané v jednom z podporovaných formátů se automaticky převedou na typ data. Protože není zaručeno, že systém automaticky převede všechny hodnoty vlastností v celém záznamu, je automaticky vytvořena záloha (kopie) původní vlastnosti s názvem
<název vlastnosti> (starý)
(např. "Datum výroby (starý)"), která si zachová původní hodnoty.PoznámkaPodporovaný formát pro automatickou konverzi je
dd.mm.yyyy
(např. 15.10.2015, 3.1.2015). Pokud máte většinu hodnot vlastností zadaných v jiném formátu, doporučujeme postupovat až do kroku 5 v tomto průvodci. -
Tímto postupem zkontrolujte, zda systém dokázal převést všechny hodnoty:
- Vyberte celou organizaci ve stromu objektů.
- Na záložce Podřazené objekty zobrazte sloupec
<název vlastnosti>
(typ vlastnosti Datum) a sloupec<název vlastnosti> (starý)
. Z místní nabídky použijte příkaz "Zobrazit v seznamech objektů". - Jakmile se objeví okno "Seznamy objektů", potrvďte název pohledu stisknutím klávesy "Enter" a nastavte filtry ve sloupcích následujícím způsobem:
<název vlastnosti>
=\"\"
<název vlastnosti> (starý)
=ne \"\"
Cesta ve stromu
- odebrat filtr (pak se zobrazí objekty z celého inventáře)
-
Pokud se po nastavení filtru nezobrazí žádný řádek, byly všechny hodnoty převedeny správně, proto pokračujte krokem 7.
-
Pokud se systému nepodařilo převést malý počet hodnot, přidejte je ručně. Doporučuje se seřadit hodnoty na kartě Podřazených objektů podle sloupce
<property name> (old)
a použít příkaz "Edit" z místní nabídky k nastavení hodnot vlastností objektu ve sloupci<property name>
. Tímto způsobem můžete nastavit stejnou hodnotu vlastnosti pro více objektů najednou. -
Pokud se systému nepodařilo převést velký počet hodnot, postupujte podle následujících pokynů pro hromadný převod:
- Zobrazit pouze sloupce "NodeId" v tabulce v okně Seznamy objektů, "Typ" a
<property name> (old)
. - Vyberte Table -> Save as z místní nabídky a uložte tabulku jako soubor "\*.CSV".
- Otevřete soubor v Microsoft Excel a, pokud je to nutné, upravte původní hodnoty vlastností (tj. hodnoty ve sloupci "... (old)", např. "Date of manufacture (old)") tak, aby všechny byly ve 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 "(staré)").
- Použití ImportUtil a parametrů -datetimeformat a -keyfields "NodeId". aktualizujte hodnoty vlastností v evidenci. Pokud se import dat u některých objektů nezdaří, ručně upravte formát dat pro objekty v souboru CSV.
- Zobrazit pouze sloupce "NodeId" v tabulce v okně Seznamy objektů, "Typ" a
-
Pokračujte s krokem 2 znovu.
-
Po dokončení konverze hodnot vlastností odeberte vlastnost
<název vlastnosti> (starý)
pro všechny šablony a proveďte sjednocení podle šablon:-
Otevřete okno Nástroje - Databáze - SQL dotaz.
-
Vytvořit nový dotaz (Soubor - nový).
-
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)' -
V dotazu nahraďte řetězec
<název vlastnosti> (starý)
názvem vaší staré vlastnosti. -
Podle cesty ve stromu najděte všechny nalezené Šablony objektů a odeberte z nich starou vlastnost.
-
Učinit objekty sjednocenými podle šablon, které upravujete.
-
Použijte "Seznamy - Property definitions" k odstranění definice vlastnosti.
-
Pokud ani poté nelze definici vlastnosti odebrat, je pravděpodobně aplikována na objekty, které nemají šablonu. Tyto 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 spustit znovu v okně Nástroje - databáze - SQL dotaz. Nezapomeňte v dotazu změnit název vlastnosti. Odstraňte všechny takto nalezené vlastnosti a znovu odstraňte definici vlastnosti.
Změna vlastnosti typu textu na typ čísla
Chcete-li změnit typ vlastnosti, proveďte následující:
-
Změnit datový typ vlastnosti textu na číslo. Podporovaným formátem pro převod je desetinné číslo s čárkou nebo tečkou jako desetinným oddělovačem. Jako oddělovač řádků lze použít znak mezery. Převádět lze také záporná čísla nebo čísla ve zkráceném formátu. Například: "12 543.50", "980.56", "-1530", "1,3e-2".
-
Po převodu zkontrolujte a importujte všechny nepřevedené vlastnosti, jak bylo popsáno při změně typu Text na typ Datum.
PoznámkaNení třeba používat přepínač -datetimeformat při používání ImportUtil.
Vlastnosti datového typu nelze změnit na číslo (nebo naopak). Typy dat nelze měnit ani u systémových položek.