Power Table extension functions using writeall?

I tried taking data from a power table using the double click extension function and writing to tags using the writeall function but I keep getting errors, is that functionality not allowed? Thanks

[code]ERROR [AdvancedTable-AWT-EventQueue-2] Error invoking extension method.
Traceback (most recent call last):
File “”, line 34, in onDoubleClick
File “”, line 31, in populateTags
at com.inductiveautomation.ignition.client.script.ClientTagUtilities.writeToTagsImpl(ClientTagUtilities.java:303)

at com.inductiveautomation.ignition.common.script.builtin.AbstractTagUtilities.writeAll(AbstractTagUtilities.java:288)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

java.lang.Exception: java.lang.Exception: Gateway Comm Mode is not Read/Write.

at org.python.core.Py.JavaError(Py.java:495)
at com.inductiveautomation.ignition.common.script.builtin.AbstractTagUtilities.writeAll(AbstractTagUtilities.java:290)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:186)
at com.inductiveautomation.ignition.common.script.ScriptManager$ReflectedInstanceFunction.__call__(ScriptManager.java:427)
at org.python.core.PyObject.__call__(PyObject.java:404)
at org.python.core.PyObject.__call__(PyObject.java:408)
at org.python.pycode._pyx373.populateTags$3(<extension-method onDoubleClick>:31)
at org.python.pycode._pyx373.call_function(<extension-method onDoubleClick>)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyBaseCode.call(PyBaseCode.java:134)
at org.python.core.PyFunction.__call__(PyFunction.java:317)
at org.python.pycode._pyx373.onDoubleClick$1(<extension-method onDoubleClick>:34)
at org.python.pycode._pyx373.call_function(<extension-method onDoubleClick>)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyBaseCode.call(PyBaseCode.java:301)
at org.python.core.PyFunction.function___call__(PyFunction.java:376)
at org.python.core.PyFunction.__call__(PyFunction.java:371)
at org.python.core.PyFunction.__call__(PyFunction.java:361)
at org.python.core.PyFunction.__call__(PyFunction.java:356)
at com.inductiveautomation.vision.api.client.components.model.ExtensionFunction.invoke(ExtensionFunction.java:126)
at com.inductiveautomation.factorypmi.application.components.VisionAdvancedTable$7.onClick(VisionAdvancedTable.java:316)
at com.inductiveautomation.ignition.client.util.gui.CommonMouseAdapter.mouseReleased(CommonMouseAdapter.java:69)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Caused by: java.lang.Exception: Gateway Comm Mode is not Read/Write.
at com.inductiveautomation.ignition.client.script.ClientTagUtilities.writeToTagsImpl(ClientTagUtilities.java:303)
at com.inductiveautomation.ignition.common.script.builtin.AbstractTagUtilities.writeAll(AbstractTagUtilities.java:288)
… 56 more
[/code]

Looks like… Caused by: java.lang.Exception: Gateway Comm Mode is not Read/Write.

Is the designer set to read-only right now?

Unfortunately, it was set to read only… Good catch, it was driving me nuts why it wasn’t working.

I would like to say I feel pretty dumb for missing that…

:blush:

It has happened to us all.

But you should look at the error stack trace. When an error occurs, often there is an understandable, readable explanation somewhere in the error stack trace.

Follow Nick advice and allways find the “Caused by:” part of the stack trace.
Regards,