# There're a few functions lacking in 8.1 from 7.8.5, what are ways to get the same thing

**URL:** <https://forum.inductiveautomation.com/t/therere-a-few-functions-lacking-in-8-1-from-7-8-5-what-are-ways-to-get-the-same-thing/40929>\
**Category:** Ignition\
**Tags:** scripting, ignition80\
**Created:** [November 24, 2020, 7:06pm UTC](https://forum.inductiveautomation.com/t/therere-a-few-functions-lacking-in-8-1-from-7-8-5-what-are-ways-to-get-the-same-thing/40929 "2020-11-24T19:06:39Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [November 24, 2020, 7:13pm UTC](https://forum.inductiveautomation.com/t/therere-a-few-functions-lacking-in-8-1-from-7-8-5-what-are-ways-to-get-the-same-thing/40929/2 "2020-11-24T19:13:55Z")

</div>

To check tag quality from script, use this at the bottom of Paul's post:

> [@How to locate the number 'value' of a Tag's Data Quality](http://forum.inductiveautomation.com/t/how-to-locate-the-number-value-of-a-tags-data-quality/26840/9):
>
> You shouldn’t use string comparison or integer comparison. In the vast majority of cases, it’s preferable to use the dedicated methods on [QualityCode](http://files.inductiveautomation.com/sdk/javadoc/ignition80/8.0.14/com/inductiveautomation/ignition/common/model/values/QualityCode.html#isGood()) - isGood(), isBad(), etc directly: system.tag.read("TagPath").quality.isGood() Or, thanks to Jython: system.tag.read("TagPath").quality.good If you actually need to check for a specific quality code, then you should use is against a static member of the QualityCode class: from com.inductiveautomation.ignition.common.model.values import Quality…

While the old tag read function still exists, it's gone from doco an thus you should probably move to the new `system.tag.readBlocking` or `readAsync` in 8, which now take lists.

Maybe have a look at some things I found migrating from 7 to 8 as well that aren't obvious from doco:

> [@Undocumented changes when migrating from v7 to v8](http://forum.inductiveautomation.com/t/undocumented-changes-when-migrating-from-v7-to-v8/38044):
>
> Just some items I’ve found during v7 to v8 upgrades that may not be documented (some of them might be) and can cause hiccups (and quite a bit of work, relatively speaking!). The official guide to upgrading from IA is [here](https://docs.inductiveautomation.com/display/DOC81/Ignition+8+Upgrade+Guide). Tags: UDT v7 property UDTParentType has been renamed in v8 to TypeId Tag quality string values have changed. E.g. EDITED FOR 8.1.10 below 8.1.10 “Not Found” ==\> “Bad\_NotFound”; “Disabled” ==\> “Bad\_Disabled”; 8.1.10 and above “Bad\_NotFound(Error description…)”, “Bad\_ErrorC…

---

_[View the full topic](https://forum.inductiveautomation.com/t/therere-a-few-functions-lacking-in-8-1-from-7-8-5-what-are-ways-to-get-the-same-thing/40929)._
