Istanziamo innanzitutto l'applicativo e definiamo l'oggetto db
from gnr.app.gnrapp import GnrApp
app = GnrApp('sandboxpg')
mydb = app.db
dir(mydb)
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_autoRestore_one', '_connections', '_currentEnv', '_getUserConfiguration', '_get_connection', '_get_currentEnv', '_get_locale', '_get_packages', '_get_store_connection', '_get_workdate', '_multiCursorExecute', '_onDbChange', '_set_currentEnv', '_set_locale', '_set_workdate', '_tablesMasterIndex_step', 'adapter', 'analyze', 'application', 'autoCommit', 'autoRestore', 'auto_static_enabled', 'changeLogTable', 'checkDb', 'checkTransactionWritable', 'clearCurrentEnv', 'closeConnection', 'colToAs', 'commit', 'connection', 'connectionKey', 'createDb', 'createModel', 'createSchema', 'currentConnectionName', 'currentEnv', 'currentPage', 'currentStorename', 'currentUser', 'customVirtualColumns', 'dbevents', 'dbname', 'dbpar', 'dbstores', 'debug', 'debugger', 'deferToCommit', 'deferredRaise', 'delete', 'dropColumn', 'dropDb', 'dropSchema', 'dropTable', 'dump', 'exceptions', 'execute', 'executeDeferred', 'fixed_schema', 'freezedPkeys', 'getFromStore', 'getResource', 'getUserConfiguration', 'get_connection_params', 'get_dbname', 'host', 'implementation', 'importArchive', 'importModelFromDb', 'importXmlData', 'inTransactionDaemon', 'insert', 'insertMany', 'listen', 'loadModel', 'localVirtualColumns', 'locale', 'localizer', 'main_schema', 'mixin', 'model', 'notify', 'notifyDbEvent', 'notifyDbUpdate', 'onCommitting', 'onDbCommitted', 'package', 'packageMixin', 'packageSrc', 'packages', 'password', 'port', 'query', 'queryCompile', 'quickThermo', 'raw_delete', 'raw_insert', 'raw_update', 'read_only', 'relationExplorer', 'restore', 'reuse_relation_tree', 'rollback', 'rootstore', 'saveModel', 'setConstraintsDeferred', 'setLocale', 'started', 'startup', 'stores_handler', 'systemDbEvent', 'table', 'tableMixin', 'tableTreeBag', 'tablesMasterIndex', 'tempEnv', 'thermoMessage', 'typeConverter', 'unfreezeSelection', 'update', 'updateEnv', 'use_store', 'user', 'usingMainConnection', 'usingRootstore', 'vacuum', 'whereTranslator', 'workdate']
Nel db, il primo oggetto che ci interessa รจ il model
model = mydb.model
dir(model)
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_columnsWithRelations', '_doMixin', 'addRelation', 'applyModelChanges', 'build', 'check', 'checkAutoStatic', 'checkRelationIndex', 'checker', 'column', 'db', 'debug', 'deferOnBuilding', 'enableForeignKeys', 'importFromDb', 'load', 'mixins', 'obj', 'onBuildingCb', 'package', 'packageMixin', 'relations', 'resolveAlias', 'runOnBuildingCb', 'save', 'src', 'table', 'tableMixin']
Il model presenta una prima componente descrittiva: src
src = model.src
print(src)
0 - (DbModelSrc) packages(*): <tag='package_list'> 0 - (DbModelSrc) sys(*): <comment='sys' sqlschema='sys' name_short='System' name_long='System' name_full='System' _syspackage='True' pkgcode='gnrcore:sys' tag='package'> 0 - (DbModelSrc) tables(*): <tag='table_list'> 0 - (DbModelSrc) batch_log(*): <name_long='!!Batch log' pkey='id' pkg='sys' fullname='sys.batch_log' name_plural='!!Batch logs' caption_field='log_caption' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) batch_title(*): <name_long='!!Batch title' tag='column'> 6 - (DbModelSrc) page_id(*): <size='22' name_long='!!Page' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='adm.served_page.page_id' mode='relation' onDelete='raise' onUpdate_sql='cascade' relation_name='batches'> 7 - (DbModelSrc) start_ts(*): <dtype='DH' name_long='!!Start ts' tag='column'> 8 - (DbModelSrc) end_ts(*): <dtype='DH' name_long='!!End ts' tag='column'> 9 - (DbModelSrc) notes(*): <name_long='!!Notes' tag='column'> 10 - (DbModelSrc) logbag(*): <dtype='X' name_long='!!Log' tag='column'> 11 - (DbModelSrc) tbl(*): <name_long='!!Table' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) log_caption(*): <sql_formula='$tbl || $batch_title' virtual_column='True' dtype='A' tag='virtual_column'> 5 - (DbModelSrc) logfile_url(*): <sql_formula=''/_site/batch_log/'||$id||'.log'' virtual_column='True' dtype='A' name_long='Log url' tag='virtual_column'> 1 - (DbModelSrc) dbchange(*): <name_long='!!Dbchange' pkey='ref' pkg='sys' fullname='sys.dbchange' name_plural='!!Db change' tag='table' group_zzz='!![en]System'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 2 - (DbModelSrc) ref(*): <dtype='serial' name_long='!!Reference' tag='column'> 3 - (DbModelSrc) tbl(*): <size=':80' name_long='!!Table' tag='column'> 4 - (DbModelSrc) record_pkey(*): <name_long='!!Record pkey' tag='column'> 5 - (DbModelSrc) evt(*): <size='1' name_short='!!Evt' name_long='Evt' tag='column'> 6 - (DbModelSrc) record(*): <dtype='X' name_long='!!Record' tag='column'> 7 - (DbModelSrc) dbstore(*): <size=':60' name_long='!!Dbstore' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) error(*): <name_long='Debug Error' pkey='id' rowcaption='$error_type,$description' pkg='sys' fullname='sys.error' name_plural='!!Errors' caption_field='description' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) description(*): <name_long='!!Description' tag='column'> 6 - (DbModelSrc) error_data(*): <dtype='X' name_long='!!Traceback' tag='column'> 7 - (DbModelSrc) username(*): <name_long='User' tag='column'> 8 - (DbModelSrc) user_ip(*): <name_long='User ip' tag='column'> 9 - (DbModelSrc) user_agent(*): <name_long='User agent' tag='column'> 10 - (DbModelSrc) fixed(*): <name_long='Fixed' tag='column'> 11 - (DbModelSrc) notes(*): <name_long='Notes' tag='column'> 12 - (DbModelSrc) error_type(*): <name_long='!!Error type' values='ERR:Error,EXC:Exception' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) external_token(*): <name_long='!!Messages' pkey='id' pkg='sys' fullname='sys.external_token' name_plural='!!Messages' tag='table'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!!id' tag='column'> 1 - (DbModelSrc) datetime(*): <dtype='DHZ' name_long='!!Date and Time' tag='column'> 2 - (DbModelSrc) expiry(*): <dtype='DHZ' name_long='!!Expiry' tag='column'> 3 - (DbModelSrc) allowed_user(*): <size=':32' name_long='!!Destination user' tag='column'> 4 - (DbModelSrc) connection_id(*): <size='22' name_long='!!Connection Id' indexed='True' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='adm.connection.id' mode='relation' onUpdate_sql='cascade'> 5 - (DbModelSrc) max_usages(*): <dtype='I' name_long='!!Max uses' tag='column'> 6 - (DbModelSrc) allowed_host(*): <name_long='!!Allowed host' tag='column'> 7 - (DbModelSrc) page_path(*): <name_long='!!Page path' tag='column'> 8 - (DbModelSrc) method(*): <name_long='!!Method' tag='column'> 9 - (DbModelSrc) parameters(*): <dtype='X' name_long='!!Parameters' tag='column'> 10 - (DbModelSrc) exec_user(*): <size=':32' name_long='!!Execute as user' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='adm.user.username' mode='relation' onUpdate_sql='cascade'> 11 - (DbModelSrc) userobject_id(*): <size='22' name_long='Userbject' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='adm.userobject.id' mode='foreignkey' onDelete='cascade' onUpdate_sql='cascade' relation_name='tokens'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) external_url(*): <py_method='pyColumn_external_url' virtual_column='True' tag='virtual_column'> 4 - (DbModelSrc) external_token_use(*): <name_long='!!Messages' pkey='id' pkg='sys' fullname='sys.external_token_use' name_plural='!!Messages' tag='table'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!!id' tag='column'> 1 - (DbModelSrc) external_token_id(*): <size='22' name_long='!!External token id' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='external_token.id' mode='foreignkey' onDelete='cascade' onUpdate_sql='cascade'> 2 - (DbModelSrc) datetime(*): <dtype='DH' name_long='!!Date and Time' tag='column'> 3 - (DbModelSrc) host(*): <name_long='!!Host' tag='column'> 5 - (DbModelSrc) externalcall_log(*): <name_long='External call log' pkey='id' pkg='sys' fullname='sys.externalcall_log' name_plural='External call log' caption_field='methodname' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) endpoint(*): <name_long='Endpoint' tag='column'> 6 - (DbModelSrc) methodname(*): <name_long='Method' tag='column'> 7 - (DbModelSrc) parameters(*): <dtype='X' name_long='Parameters' tag='column'> 8 - (DbModelSrc) error(*): <name_long='Error' tag='column'> 9 - (DbModelSrc) result(*): <dtype='X' name_long='Result' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 6 - (DbModelSrc) locked_record(*): <name_long='!!Locked Record' pkey='id' pkg='sys' fullname='sys.locked_record' name_plural='!!Locked records' tag='table'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!!id' tag='column'> 1 - (DbModelSrc) lock_ts(*): <dtype='DH' name_long='!!Date and Time' tag='column'> 2 - (DbModelSrc) lock_table(*): <size=':64' name_long='!!Table' tag='column'> 3 - (DbModelSrc) lock_pkey(*): <size=':64' name_long='!!locked record' tag='column'> 4 - (DbModelSrc) page_id(*): <size='22' name_long='!!Page_id' tag='column'> 5 - (DbModelSrc) connection_id(*): <size='22' name_long='!!Connection_id' tag='column'> 6 - (DbModelSrc) username(*): <size=':32' name_long='!!User' tag='column'> 1 - (DbModelSrc) indexes(*): <tag='index_list'> 0 - (DbModelSrc) locked_record_lock_table_lock_pkey_key(*): <columns='lock_table,lock_pkey' unique='True' tag='index'> 7 - (DbModelSrc) service(*): <name_long='!!Service' pkey='service_identifier' pkg='sys' fullname='sys.service' name_plural='!!Services' caption_field='service_identifier' pkey_columns='service_type,service_name' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 4 - (DbModelSrc) service_identifier(*): <size=':60' name_long='!!Identifier' tag='column'> 5 - (DbModelSrc) service_type(*): <size=':30' name_long='!!Service type' tag='column'> 6 - (DbModelSrc) service_name(*): <size=':30' name_long='!!Service name' tag='column'> 7 - (DbModelSrc) implementation(*): <name_long='!!Implementation' tag='column'> 8 - (DbModelSrc) parameters(*): <dtype='X' name_long='!!Parameters' tag='column'> 9 - (DbModelSrc) daemon(*): <dtype='B' name_long='!!Daemon' tag='column'> 10 - (DbModelSrc) disabled(*): <dtype='B' name_long='!!Disabled' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 8 - (DbModelSrc) shared_object(*): <name_long='!!Shared Object' pkey='id' pkg='sys' fullname='sys.shared_object' name_plural='Shared objects' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) data(*): <dtype='X' name_long='!!Data' tag='column'> 6 - (DbModelSrc) backup(*): <dtype='X' name_long='!!Backup' tag='column'> 7 - (DbModelSrc) description(*): <size=':50' name_long='Code' indexed='True' tag='column'> 8 - (DbModelSrc) linked_table(*): <name_long='!!Table' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 9 - (DbModelSrc) task(*): <name_long='!!Task' pkey='id' rowcaption='$task_name' pkg='sys' fullname='sys.task' caption_field='task_name' name_plural='!!Tasks' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) table_name(*): <name_long='!!Table' tag='column'> 6 - (DbModelSrc) task_name(*): <name_short='!!Name' name_long='!!Task name' tag='column'> 7 - (DbModelSrc) command(*): <name_long='!!Command' tag='column'> 8 - (DbModelSrc) month(*): <name_long='!!Month' values='1:[!!Jan],2:[!!Feb],3:[!!Mar],4:[!!Apr],5:[!!May],6:[!!Jun],7:[!!Jul],8:[!!Aug],9:[!!Sep],10:[!!Oct],11:[!!Nov],12:[!!Dec]' tag='column'> 9 - (DbModelSrc) day(*): <name_long='!!Day' values='1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31' tag='column'> 10 - (DbModelSrc) weekday(*): <name_long='!!Weekday' values='0:[!!Sun],1:[!!Mon],2:[!!Tue],3:[!!Wed],4:[!!Thu],5:[!!Fri],6:[!!Sat]' tag='column'> 11 - (DbModelSrc) hour(*): <name_long='!!Hour' values='0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23' tag='column'> 12 - (DbModelSrc) minute(*): <name_long='!!Minute' values='0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59' tag='column'> 13 - (DbModelSrc) frequency(*): <dtype='L' name_long='!!Freq.(min)' tag='column'> 14 - (DbModelSrc) parameters(*): <dtype='X' name_long='!!Parameters' tag='column'> 15 - (DbModelSrc) last_scheduled_ts(*): <dtype='DH' name_long='!!Last scheduled' indexed='True' tag='column'> 16 - (DbModelSrc) last_execution_ts(*): <dtype='DH' name_long='!!Last Execution' tag='column'> 17 - (DbModelSrc) last_error_ts(*): <dtype='DH' name_long='!!Last Error' tag='column'> 18 - (DbModelSrc) last_error_info(*): <dtype='X' name_long='!!Last Error Info' tag='column'> 19 - (DbModelSrc) run_asap(*): <dtype='B' name_long='!!Run ASAP' tag='column'> 20 - (DbModelSrc) max_workers(*): <dtype='L' name_long='!!Max workers' tag='column'> 21 - (DbModelSrc) log_result(*): <dtype='B' name_long='!!Log Task' tag='column'> 22 - (DbModelSrc) user_id(*): <size='22' name_long='User id' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='adm.user.id' mode='foreignkey' onDelete='raise' onUpdate_sql='cascade'> 23 - (DbModelSrc) date_start(*): <dtype='D' name_long='!!Start Date' tag='column'> 24 - (DbModelSrc) date_end(*): <dtype='D' name_long='!!End Date' tag='column'> 25 - (DbModelSrc) stopped(*): <dtype='B' name_long='!!Stopped' tag='column'> 26 - (DbModelSrc) worker_code(*): <size=':10' name_long='Worker code' indexed='True' tag='column'> 27 - (DbModelSrc) saved_query_code(*): <size=':40' name_long='!![en]Query' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) active_workers(*): <select='{'table': 'sys.task_execution', 'where': '$task_id=#THIS.id AND $start_ts IS NOT NULL AND $end_ts IS NULL', 'columns': 'COUNT(*)'}' virtual_column='True' dtype='N' name_long='N.Active workers' tag='virtual_column'> 5 - (DbModelSrc) last_result_ts(*): <select='{'table': 'sys.task_result', 'columns': 'MAX($start_time)', 'where': '$task_id = #THIS.id'}' virtual_column='True' dtype='A' name_long='!!Last Execution' tag='virtual_column'> 10 - (DbModelSrc) task_execution(*): <name_long='!!Task execution' pkey='id' pkg='sys' fullname='sys.task_execution' name_plural='!!Task executions' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) task_id(*): <size='22' name_long='!!Task ID' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='sys.task.id' mode='foreignkey' onDelete='cascade' onUpdate_sql='cascade' relation_name='executions'> 6 - (DbModelSrc) result(*): <dtype='X' name_long='!!result' tag='column'> 7 - (DbModelSrc) logbag(*): <dtype='X' name_long='!!Logbag' tag='column'> 8 - (DbModelSrc) errorbag(*): <dtype='X' name_long='!!Errors' tag='column'> 9 - (DbModelSrc) pid(*): <dtype='L' name_short='!!PID' name_long='!!Process id' tag='column'> 10 - (DbModelSrc) start_ts(*): <dtype='DH' name_long='!!Start Time' indexed='True' tag='column'> 11 - (DbModelSrc) end_ts(*): <dtype='DH' name_long='!!End Time' indexed='True' tag='column'> 12 - (DbModelSrc) is_error(*): <dtype='B' name_long='!!Is Error' indexed='True' tag='column'> 13 - (DbModelSrc) exec_reason(*): <size=':20' name_long='!!Exec reason' tag='column'> 14 - (DbModelSrc) reasonkey(*): <size=':60' indexed='True' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) task_table(*): <relation_path='@task_id.table_name' virtual_column='True' name_long='!!Table' tag='virtual_column'> 5 - (DbModelSrc) task_name(*): <relation_path='@task_id.task_name' virtual_column='True' name_long='!!Task name' name_short='!!Name' tag='virtual_column'> 6 - (DbModelSrc) task_command(*): <relation_path='@task_id.command' virtual_column='True' name_long='!!Task command' name_short='!!Command' tag='virtual_column'> 7 - (DbModelSrc) task_stopped(*): <relation_path='@task_id.stopped' virtual_column='True' dtype='B' name_long='!!Stopped' tag='virtual_column'> 8 - (DbModelSrc) task_parameters(*): <relation_path='@task_id.parameters' virtual_column='True' dtype='X' name_long='!!Parameters' tag='virtual_column'> 9 - (DbModelSrc) task_saved_query(*): <relation_path='@task_id.saved_query_code' virtual_column='True' dtype='B' name_long='!!Saved query' tag='virtual_column'> 10 - (DbModelSrc) task_worker_code(*): <relation_path='@task_id.worker_code' virtual_column='True' dtype='L' name_long='!!Task worker code' tag='virtual_column'> 11 - (DbModelSrc) task_max_workers(*): <relation_path='@task_id.max_workers' virtual_column='True' dtype='L' name_long='!!Task Max workers' tag='virtual_column'> 12 - (DbModelSrc) task_active_workers(*): <relation_path='@task_id.active_workers' virtual_column='True' dtype='L' name_long='!!Task Active workers' tag='virtual_column'> 13 - (DbModelSrc) status(*): <sql_formula=' (CASE WHEN $is_error IS TRUE THEN 'error' WHEN $end_ts IS NOT NULL THEN 'completed' WHEN $start_ts IS NOT NULL THEN 'running' ELSE 'waiting' END) ' virtual_column='True' dtype='A' name_long='Status' tag='virtual_column'> 11 - (DbModelSrc) task_result(*): <name_long='!!Task log' pkey='id' pkg='sys' fullname='sys.task_result' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) task_id(*): <size='22' name_long='!!Task ID' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='sys.task.id' mode='foreignkey' onUpdate_sql='cascade' relation_name='logs'> 6 - (DbModelSrc) result(*): <dtype='X' name_long='!!result' tag='column'> 7 - (DbModelSrc) result_time(*): <dtype='DH' name_long='!!Result Time' tag='column'> 8 - (DbModelSrc) start_time(*): <dtype='DH' name_long='!!Start Time' tag='column'> 9 - (DbModelSrc) end_time(*): <dtype='DH' name_long='!!Start Time' tag='column'> 10 - (DbModelSrc) is_error(*): <dtype='B' name_long='!!Is Error' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 12 - (DbModelSrc) upgrade(*): <name_long='!!Upgrade ' pkey='codekey' pkg='sys' fullname='sys.upgrade' pkey_columns='pkg,filename' pkey_columns_joiner='|' name_plural='!!Upgrades' caption_field='codekey' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 4 - (DbModelSrc) codekey(*): <size=':80' name_long='Identifier' tag='column'> 5 - (DbModelSrc) pkg(*): <size=':20' name_long='Package' tag='column'> 6 - (DbModelSrc) filename(*): <size=':40' name_long='!!Filename' tag='column'> 7 - (DbModelSrc) error(*): <name_short='!!Error' name_long='!!Upgrade error' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 13 - (DbModelSrc) widget(*): <name_long='!!Widget' pkey='id' pkg='sys' fullname='sys.widget' name_plural='!!Widgets' caption_field='name' audit='lazy' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts' hierarchical='name,pkey' order_by='$hierarchical_name' broadcast='parent_id'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) parent_id(*): <size='22' name_long='!![en]Parent id' group='*' onInserting='hierarchical_before' onUpdating='hierarchical_before' onUpdated='hierarchical_after' _sysfield='True' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='widget.id' mode='foreignkey' one_name='!![en]Parent' many_name='!![en]Children' one_group='zzz' many_group='zzz' deferred='True' onDelete='cascade' onUpdate_sql='cascade' relation_name='_children'> 5 - (DbModelSrc) name(*): <tag='column' name_long='!!Name'> 6 - (DbModelSrc) hierarchical_name(*): <name_long='!![en]Hierarchical name' unique='False' tag='column'> 7 - (DbModelSrc) _parent_h_name(*): <name_long='!![en]Parent Hierarchical name' group='zzz' _sysfield='True' tag='column'> 8 - (DbModelSrc) hierarchical_pkey(*): <name_long='!![en]Hierarchical pkey' unique='True' group='zzz' _sysfield='True' tag='column'> 9 - (DbModelSrc) _parent_h_pkey(*): <group='zzz' _sysfield='True' tag='column'> 10 - (DbModelSrc) __version(*): <dtype='L' name_long='Audit version' group='zzz' onInserting='setAuditVersionIns' onUpdating='setAuditVersionUpd' _sysfield='True' tag='column'> 11 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 12 - (DbModelSrc) df_fields(*): <dtype='X' group='_' _sendback='True' tag='column'> 13 - (DbModelSrc) df_fbcolumns(*): <dtype='L' group='_' tag='column'> 14 - (DbModelSrc) df_custom_templates(*): <dtype='X' group='_' tag='column'> 15 - (DbModelSrc) df_colswidth(*): <group='_' tag='column'> 16 - (DbModelSrc) summary(*): <name_long='!!Summary' tag='column'> 17 - (DbModelSrc) server(*): <dtype='B' name_long='!!Server' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) child_count(*): <sql_formula='(SELECT count(*) FROM sys.sys_widget AS children WHERE children.parent_id=#THIS.id)' virtual_column='True' dtype='L' group='*' tag='virtual_column'> 1 - (DbModelSrc) hlevel(*): <sql_formula='length($hierarchical_pkey)-length(replace($hierarchical_pkey,'/',''))+1' virtual_column='True' dtype='A' group='*' tag='virtual_column'> 2 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 5 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) adm(*): <comment='Admin' sqlschema='adm' name_short='Adm' name_long='!!Administration' name_full='!!Administration Tool' pkgcode='gnrcore:adm' tag='package'> 0 - (DbModelSrc) tables(*): <tag='table_list'> 0 - (DbModelSrc) access_group(*): <name_long='!!Access group' pkey='code' pkg='adm' fullname='adm.access_group' name_plural='!!Access group' caption_field='code' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 4 - (DbModelSrc) code(*): <size=':10' name_long='!!Code' tag='column'> 5 - (DbModelSrc) description(*): <size=':30' name_long='!!Description' tag='column'> 6 - (DbModelSrc) allowed_ip(*): <name_long='!!Allowed ip' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) audit(*): <name_long='!!Audit' pkey='id' pkg='adm' fullname='adm.audit' name_plural='!!Audit' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) tablename(*): <name_long='!!Table name' tag='column'> 6 - (DbModelSrc) event(*): <size='1' name_long='!!Change type' values='I:Insert,U:Update,D:Delete' tag='column'> 7 - (DbModelSrc) username(*): <name_long='!!User' tag='column'> 8 - (DbModelSrc) record_pkey(*): <name_long='!!Record Pkey' tag='column'> 9 - (DbModelSrc) version(*): <dtype='L' name_long='!!Version' tag='column'> 10 - (DbModelSrc) data(*): <dtype='X' name_long='!!Data' tag='column'> 11 - (DbModelSrc) transaction_id(*): <name_long='!!Transaction id' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) authorization(*): <name_long='!!Authorization' pkey='code' pkg='adm' fullname='adm.authorization' name_plural='!!Authorizations' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 4 - (DbModelSrc) code(*): <size=':8' name_long='!!Code' validate_case='U' unmodifiable='True' tag='column'> 5 - (DbModelSrc) user_id(*): <size='22' name_long='!!User id' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='user.id' mode='foreignkey' onUpdate_sql='cascade'> 6 - (DbModelSrc) use_ts(*): <dtype='DH' name_long='!!Used datetime' tag='column'> 7 - (DbModelSrc) used_by(*): <name_long='!!Used by' tag='column'> 8 - (DbModelSrc) note(*): <name_long='!!Note' tag='column'> 9 - (DbModelSrc) usage_scope(*): <name_long='!!Use Scope' tag='column'> 10 - (DbModelSrc) remaining_usages(*): <dtype='L' name_long='!!Remaining usages' default='1' tag='column'> 11 - (DbModelSrc) expiry_date(*): <dtype='D' name_long='!!Expire Date' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) backup(*): <name_long='!!Backup' pkey='id' rowcaption='$name' pkg='adm' fullname='adm.backup' name_plural='!!Backups' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) name(*): <name_long='!!Name' tag='column'> 6 - (DbModelSrc) start_ts(*): <dtype='DH' name_long='!!Backup start ts' tag='column'> 7 - (DbModelSrc) end_ts(*): <dtype='DH' name_long='!!Backup end ts' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) dl_link(*): <sql_formula=' '/_site/maintenance/backups/'|| $name ' virtual_column='True' dtype='A' tag='virtual_column'> 4 - (DbModelSrc) ckstyle(*): <name_long='Ckeditor style' pkey='id' pkg='adm' fullname='adm.ckstyle' name_plural='!!Ckeditor styles' caption_field='name' lookup='True' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) name(*): <name_long='!!Name' tag='column'> 6 - (DbModelSrc) element(*): <name_short='Element' name_long='!!Dom element' values='div,span,h1,h2,h3' tag='column'> 7 - (DbModelSrc) styles(*): <name_long='!!Styles' tag='column'> 8 - (DbModelSrc) attributes(*): <name_long='!!Attributes' tag='column'> 9 - (DbModelSrc) stylegroup(*): <name_long='!!Group' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) sgroup(*): <sql_formula='COALESCE($stylegroup,'')' virtual_column='True' dtype='A' tag='virtual_column'> 5 - (DbModelSrc) connection(*): <name_long='!!Connection' pkey='id' pkg='adm' fullname='adm.connection' name_plural='!!Connections' checkpref='adm.dev.connection_log_enabled' tag='table'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!!Connection id' tag='column'> 1 - (DbModelSrc) userid(*): <size='22' name_long='!!Userid' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='user.id' mode='relation' onUpdate_sql='cascade'> 2 - (DbModelSrc) username(*): <size=':32' name_long='!!Username' tag='column'> 3 - (DbModelSrc) ip(*): <size=':15' name_long='!!Ip number' tag='column'> 4 - (DbModelSrc) start_ts(*): <dtype='DH' name_long='!!Start TS' tag='column'> 5 - (DbModelSrc) end_ts(*): <dtype='DH' name_long='!!End TS' tag='column'> 6 - (DbModelSrc) end_reason(*): <size=':12' name_long='!!End reason' tag='column'> 7 - (DbModelSrc) user_agent(*): <name_long='!!User agent' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) user_fullname(*): <relation_path='@userid.fullname' virtual_column='True' name_long='!!User fullname' tag='virtual_column'> 6 - (DbModelSrc) counter(*): <name_long='!!Counter' pkey='codekey' pkg='adm' fullname='adm.counter' pkey_columns='pkg,tbl,code,fld,period' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 4 - (DbModelSrc) codekey(*): <size=':80' name_long='!!Codekey' indexed='y' readOnly='y' tag='column'> 5 - (DbModelSrc) code(*): <size=':12' name_long='!!Code' readOnly='y' tag='column'> 6 - (DbModelSrc) pkg(*): <size=':12' name_long='!!Package' readOnly='y' tag='column'> 7 - (DbModelSrc) tbl(*): <size=':30' name_long='!!Table' readOnly='y' tag='column'> 8 - (DbModelSrc) fld(*): <size=':30' name_long='!!Counter Field' readOnly='y' tag='column'> 9 - (DbModelSrc) period(*): <size=':10' name_long='!!Period' indexed='y' tag='column'> 10 - (DbModelSrc) counter(*): <dtype='L' name_long='!!Counter' tag='column'> 11 - (DbModelSrc) last_used(*): <dtype='D' name_long='!!Last used' tag='column'> 12 - (DbModelSrc) holes(*): <dtype='X' name_long='!!Holes' tag='column'> 13 - (DbModelSrc) errors(*): <dtype='X' name_long='!!Errors' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 7 - (DbModelSrc) day(*): <name_long='!!Days' pkey='date' pkg='adm' fullname='adm.day' name_plural='!!Days' caption_field='date' tag='table'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) date(*): <dtype='D' name_long='!!Date' tag='column'> 1 - (DbModelSrc) weekday(*): <dtype='L' name_long='!!Weekday' tag='column'> 2 - (DbModelSrc) is_holyday(*): <dtype='B' name_long='!!Is holyday' tag='column'> 8 - (DbModelSrc) group(*): <name_long='Group' pkey='code' pkg='adm' fullname='adm.group' name_plural='!!Groups' caption_field='description' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts' counter='True' order_by='$_row_count'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) _row_count(*): <dtype='L' name_long='!![en]Counter' group='zzz' onInserting='setRowCounter' counter='True' _counter_fkey='True' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) code(*): <size=':15' name_long='!!Code' unmodifiable='True' tag='column'> 6 - (DbModelSrc) description(*): <name_long='!!Description' tag='column'> 7 - (DbModelSrc) custom_menu(*): <dtype='X' name_long='!!Custom menu' tag='column'> 8 - (DbModelSrc) rootpage(*): <name_long='!![en]Root Page' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 9 - (DbModelSrc) htag(*): <name_long='!!Tag' pkey='id' rowcaption='$code,$description' pkg='adm' fullname='adm.htag' caption_field='hierarchical_description' newrecord_caption='!!New tag' hierarchical_caption_field='description' sysRecord_masterfield='hierarchical_code' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts' hierarchical='code,description,pkey' order_by='$hierarchical_code' broadcast='parent_id'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) parent_id(*): <size='22' name_long='!![en]Parent id' group='*' onInserting='hierarchical_before' onUpdating='hierarchical_before' onUpdated='hierarchical_after' _sysfield='True' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='htag.id' mode='foreignkey' one_name='!![en]Parent' many_name='!![en]Children' one_group='zzz' many_group='zzz' deferred='True' onDelete='cascade' onUpdate_sql='cascade' relation_name='_children'> 5 - (DbModelSrc) code(*): <tag='column' name_long='!!Code' validate_notnull='True' validate_nodup='True' unmodifable='True'> 6 - (DbModelSrc) hierarchical_code(*): <name_long='!![en]Hierarchical code' unique='True' tag='column'> 7 - (DbModelSrc) _parent_h_code(*): <name_long='!![en]Parent Hierarchical code' group='zzz' _sysfield='True' tag='column'> 8 - (DbModelSrc) description(*): <tag='column' name_long='!!Description' validate_notnull='True'> 9 - (DbModelSrc) hierarchical_description(*): <name_long='!![en]Hierarchical description' unique='False' tag='column'> 10 - (DbModelSrc) _parent_h_description(*): <name_long='!![en]Parent Hierarchical description' group='zzz' _sysfield='True' tag='column'> 11 - (DbModelSrc) hierarchical_pkey(*): <name_long='!![en]Hierarchical pkey' unique='True' group='zzz' _sysfield='True' tag='column'> 12 - (DbModelSrc) _parent_h_pkey(*): <group='zzz' _sysfield='True' tag='column'> 13 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 14 - (DbModelSrc) __syscode(*): <size=':20' name_long='!![en]Internal code' unique='True' indexed='True' group='zzz' _sysfield='True' tag='column'> 15 - (DbModelSrc) isreserved(*): <dtype='B' name_long='!!Reserved' tag='column'> 16 - (DbModelSrc) note(*): <name_long='!!Notes' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) child_count(*): <sql_formula='(SELECT count(*) FROM adm.adm_htag AS children WHERE children.parent_id=#THIS.id)' virtual_column='True' dtype='L' group='*' tag='virtual_column'> 1 - (DbModelSrc) hlevel(*): <sql_formula='length($hierarchical_pkey)-length(replace($hierarchical_pkey,'/',''))+1' virtual_column='True' dtype='A' group='*' tag='virtual_column'> 2 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 5 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 6 - (DbModelSrc) __protected_by_syscode(*): <sql_formula=' ( CASE WHEN $__syscode IS NULL THEN NULL ELSE NOT (',' || :env_userTags || ',' LIKE '%%,'|| :systag || ',%%') END ) ' virtual_column='True' dtype='B' var_systag='superadmin' _sysfield='True' group='zzz' tag='virtual_column'> 10 - (DbModelSrc) htmltemplate(*): <name_long='!!Letterhead' pkey='id' rowcaption='name' pkg='adm' fullname='adm.htmltemplate' name_plural='!!Letterheads' noTestForMerge='True' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts' atc_attachmenttable='adm.htmltemplate_atc'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) name(*): <name_long='!!Name' validate_notnull='True' tag='column'> 6 - (DbModelSrc) username(*): <name_long='!!Username' tag='column'> 7 - (DbModelSrc) version(*): <name_long='!!Version' tag='column'> 8 - (DbModelSrc) type_code(*): <size=':15' name_long='Type' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='letterhead_type.code' mode='foreignkey' onDelete='raise' onUpdate_sql='cascade' relation_name='letterheads'> 9 - (DbModelSrc) data(*): <dtype='X' name_long='!!Data' _sendback='True' tag='column'> 10 - (DbModelSrc) center_height(*): <dtype='I' name_long='!!Center height' tag='column'> 11 - (DbModelSrc) center_width(*): <dtype='I' name_long='!!Center width' tag='column'> 12 - (DbModelSrc) based_on(*): <size='22' name_long='!!Based on' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='htmltemplate.id' mode='foreignkey' one_one='True' deferred='True' onDelete='raise' onUpdate_sql='cascade' relation_name='children'> 13 - (DbModelSrc) next_letterhead_id(*): <size='22' name_long='!!Next letterhead' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='htmltemplate.id' mode='foreignkey' one_one='True' deferred='True' onDelete='raise' onUpdate_sql='cascade' relation_name='previous'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 11 - (DbModelSrc) htmltemplate_atc(*): <pkey='id' pkg='adm' fullname='adm.htmltemplate_atc' tag='table' caption_field='description' rowcaption='$description' name_long='!!Letterhead Attachment' name_plural='!!Letterhead Attachments' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts' counter='maintable_id' order_by='$_row_count'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='Id' group='_' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) _row_count(*): <dtype='L' name_long='!![en]Counter' group='zzz' onInserting='setRowCounter' counter='True' _counter_fkey='maintable_id' _sysfield='True' tag='column'> 5 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 6 - (DbModelSrc) filepath(*): <name_long='!![en]Filepath' onInserting='checkExternalUrl' onDeleted='onDeletedAtc' onInserted='convertDocFile' tag='column'> 7 - (DbModelSrc) external_url(*): <name_long='!![en]External url' tag='column'> 8 - (DbModelSrc) description(*): <name_long='!![en]Description' tag='column'> 9 - (DbModelSrc) mimetype(*): <name_long='!![en]Mimetype' tag='column'> 10 - (DbModelSrc) text_content(*): <name_long='!![en]Content' tag='column'> 11 - (DbModelSrc) info(*): <dtype='X' name_long='!![en]Additional info' tag='column'> 12 - (DbModelSrc) is_foreign_document(*): <dtype='B' name_short='!![en]Ext' name_long='!![en][Is foreign document]' tag='column'> 13 - (DbModelSrc) maintable_id(*): <size='22' name_long='htmltemplate' group='*' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='adm.htmltemplate.id' mode='foreignkey' one_group='_' many_group='_' deferred='True' onDelete='cascade' onUpdate_sql='cascade' onDelete_sql='cascade' relation_name='atc_attachments' onDuplicate='False'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) adapted_url(*): <sql_formula='CASE WHEN position('\:' in $filepath)>0 THEN '/'||$filepath ELSE '/_vol/' || $filepath END' virtual_column='True' dtype='A' group='_' tag='virtual_column'> 5 - (DbModelSrc) fileurl(*): <sql_formula='COALESCE($external_url,$adapted_url)' virtual_column='True' dtype='A' name_long='Fileurl' tag='virtual_column'> 12 - (DbModelSrc) install_checklist(*): <name_long='!!Install checklist' pkey='__syscode' pkg='adm' fullname='adm.install_checklist' name_plural='!!Install checklist' caption_field='description' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 2 - (DbModelSrc) __syscode(*): <size=':20' name_long='!![en]Internal code' unique='True' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) name(*): <name_long='!!Name' tag='column'> 4 - (DbModelSrc) description(*): <name_long='!!Description' tag='column'> 5 - (DbModelSrc) pkg(*): <size=':20' name_long='!!Package' tag='column'> 6 - (DbModelSrc) checked(*): <dtype='B' name_long='!!Checked' tag='column'> 7 - (DbModelSrc) check_ts(*): <dtype='DH' name_long='!!Check ts' tag='column'> 8 - (DbModelSrc) check_user(*): <size=':30' name_long='!!Check user' tag='column'> 9 - (DbModelSrc) annotations(*): <name_long='!!Annotations' tag='column'> 10 - (DbModelSrc) doc_url(*): <name_short='!!Url' name_long='!!Documentation url' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) __protected_by_syscode(*): <sql_formula=' ( CASE WHEN $__syscode IS NULL THEN NULL ELSE NOT (',' || :env_userTags || ',' LIKE '%%,'|| :systag || ',%%') END ) ' virtual_column='True' dtype='B' var_systag='superadmin' _sysfield='True' group='zzz' tag='virtual_column'> 13 - (DbModelSrc) language(*): <name_long='Language' pkey='code' pkg='adm' fullname='adm.language' name_plural='!!Languages' lookup='True' caption_field='name' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts' counter='True' order_by='$_row_count'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) _row_count(*): <dtype='L' name_long='!![en]Counter' group='zzz' onInserting='setRowCounter' counter='True' _counter_fkey='True' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) code(*): <size=':2' name_long='!!Code' tag='column'> 6 - (DbModelSrc) name(*): <name_long='!!Name' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 14 - (DbModelSrc) letterhead_type(*): <name_long='Letterhead type' pkey='code' pkg='adm' fullname='adm.letterhead_type' name_plural='Letterhead types' lookup='True' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 4 - (DbModelSrc) code(*): <size=':15' name_long='!!Code' unique='True' indexed='True' validate_notnull='Required' tag='column'> 5 - (DbModelSrc) description(*): <name_long='!!Description' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 15 - (DbModelSrc) menu(*): <name_long='!!Menu Directory' pkey='id' rowcaption='$hierarchical_label' pkg='adm' fullname='adm.menu' name_plural='!!Menu Directories' caption_field='hierarchical_label' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts' hierarchical='label,pkey' broadcast='parent_id' counter='True' order_by='$_h_sortcol'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) parent_id(*): <size='22' name_long='!![en]Parent id' group='*' onInserting='hierarchical_before' onUpdating='hierarchical_before' onUpdated='hierarchical_after' _sysfield='True' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='menu.id' mode='foreignkey' one_name='!![en]Parent' many_name='!![en]Children' one_group='zzz' many_group='zzz' deferred='True' onDelete='cascade' onUpdate_sql='cascade' relation_name='_children'> 5 - (DbModelSrc) label(*): <tag='column' name_long='!!Label'> 6 - (DbModelSrc) hierarchical_label(*): <name_long='!![en]Hierarchical label' unique='False' tag='column'> 7 - (DbModelSrc) _parent_h_label(*): <name_long='!![en]Parent Hierarchical label' group='zzz' _sysfield='True' tag='column'> 8 - (DbModelSrc) hierarchical_pkey(*): <name_long='!![en]Hierarchical pkey' unique='True' group='zzz' _sysfield='True' tag='column'> 9 - (DbModelSrc) _parent_h_pkey(*): <group='zzz' _sysfield='True' tag='column'> 10 - (DbModelSrc) _h_count(*): <group='zzz' _sysfield='True' tag='column'> 11 - (DbModelSrc) _parent_h_count(*): <group='zzz' _sysfield='True' tag='column'> 12 - (DbModelSrc) _row_count(*): <dtype='L' name_long='!![en]Counter' group='zzz' counter='True' _sysfield='True' tag='column'> 13 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 14 - (DbModelSrc) tags(*): <name_long='!!Tags' tag='column'> 15 - (DbModelSrc) summary(*): <name_long='!!Summary' tag='column'> 16 - (DbModelSrc) ts_import(*): <dtype='DH' tag='column'> 17 - (DbModelSrc) page_id(*): <size='22' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='menu_page.id' mode='foreignkey' onUpdate_sql='cascade' relation_name='links'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) child_count(*): <sql_formula='(SELECT count(*) FROM adm.adm_menu AS children WHERE children.parent_id=#THIS.id)' virtual_column='True' dtype='L' group='*' tag='virtual_column'> 1 - (DbModelSrc) hlevel(*): <sql_formula='length($hierarchical_pkey)-length(replace($hierarchical_pkey,'/',''))+1' virtual_column='True' dtype='A' group='*' tag='virtual_column'> 2 - (DbModelSrc) _h_sortcol(*): <sql_formula=' COALESCE($_h_count,$label) ' virtual_column='True' dtype='A' _sysfield='True' group='zzz' tag='virtual_column'> 3 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 5 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 6 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 7 - (DbModelSrc) page_label(*): <relation_path='@page_id.label' virtual_column='True' tag='virtual_column'> 8 - (DbModelSrc) page_filepath(*): <relation_path='@page_id.filepath' virtual_column='True' tag='virtual_column'> 9 - (DbModelSrc) page_tbl(*): <relation_path='@page_id.tbl' virtual_column='True' tag='virtual_column'> 10 - (DbModelSrc) page_metadata(*): <relation_path='@page_id.metadata' virtual_column='True' tag='virtual_column'> 16 - (DbModelSrc) menu_page(*): <name_long='!!Menu Page' pkey='id' rowcaption='$label' pkg='adm' fullname='adm.menu_page' name_plural='!!Menu Pages' caption_field='label' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) label(*): <name_long='!!Label' tag='column'> 6 - (DbModelSrc) filepath(*): <name_long='!!Filepath' tag='column'> 7 - (DbModelSrc) tbl(*): <name_long='!!Table' tag='column'> 8 - (DbModelSrc) pkg(*): <name_long='!!Package' tag='column'> 9 - (DbModelSrc) metadata(*): <name_long='!!Metadata' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 17 - (DbModelSrc) notification(*): <name_long='!!Notification' pkey='id' pkg='adm' fullname='adm.notification' name_plural='!!Notifications' caption_field='title' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) title(*): <name_long='!!Title' tag='column'> 6 - (DbModelSrc) template(*): <dtype='X' name_long='!!Template' tag='column'> 7 - (DbModelSrc) confirm_label(*): <name_long='!!Confirm label' tag='column'> 8 - (DbModelSrc) tag_rule(*): <name_long='!!Tag rule' tag='column'> 9 - (DbModelSrc) all_users(*): <dtype='B' name_long='!!For all users' tag='column'> 10 - (DbModelSrc) letterhead_id(*): <size='22' name_long='!!Letterhead' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='htmltemplate.id' mode='foreignkey' onUpdate_sql='cascade' relation_name='notifications'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) existing_for_current_user(*): <sql_formula=' (EXISTS(SELECT * FROM adm.adm_user_notification AS un WHERE un.user_id=:env_user_id AND un.notification_id=#THIS.id)) ' virtual_column='True' dtype='B' tag='virtual_column'> 18 - (DbModelSrc) pkginfo(*): <name_long='!!Package info' pkey='pkgid' pkg='adm' fullname='adm.pkginfo' name_plural='!!Package info' caption_field='pkgid' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 4 - (DbModelSrc) pkgid(*): <size=':50' name_long='!!Package' tag='column'> 5 - (DbModelSrc) prj(*): <size=':50' name_long='!!Project' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 19 - (DbModelSrc) preference(*): <name_long='!!Preference' pkey='code' pkg='adm' fullname='adm.preference' name_plural='!!Preference' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 4 - (DbModelSrc) code(*): <size='12' name_long='!!Code' tag='column'> 5 - (DbModelSrc) data(*): <dtype='X' name_long='!!Data' _sendback='True' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 20 - (DbModelSrc) record_tag(*): <name_long='!!Table tag' pkey='id' pkg='adm' fullname='adm.record_tag' name_plural='!!Table tags' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) tablename(*): <name_long='!!Table name' tag='column'> 6 - (DbModelSrc) tag(*): <name_long='!!Tag' tag='column'> 7 - (DbModelSrc) description(*): <name_long='!!Description' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 21 - (DbModelSrc) sent_email(*): <name_long='Sent email' pkey='id' pkg='adm' fullname='adm.sent_email' name_plural='!!Sent email' caption_field='batch_key' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) code(*): <name_long='!!Code' tag='column'> 6 - (DbModelSrc) tbl(*): <name_long='!!Table' tag='column'> 7 - (DbModelSrc) mail_address(*): <name_long='!!Email address' tag='column'> 8 - (DbModelSrc) sent_ts(*): <dtype='DH' name_long='!!Sent ts' tag='column'> 9 - (DbModelSrc) record_id(*): <name_long='Record id' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 22 - (DbModelSrc) served_page(*): <name_long='!!Served page' pkey='page_id' pkg='adm' fullname='adm.served_page' name_plural='!!Served pages' checkpref='adm.dev.connection_log_enabled' tag='table'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) page_id(*): <size='22' name_long='!!Page id' tag='column'> 1 - (DbModelSrc) pagename(*): <name_long='!!Page name' tag='column'> 2 - (DbModelSrc) connection_id(*): <size='22' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='connection.id' mode='foreignkey' onDelete='cascade' onUpdate_sql='cascade' relation_name='pages'> 3 - (DbModelSrc) start_ts(*): <dtype='DH' name_long='!!Start ts' tag='column'> 4 - (DbModelSrc) end_ts(*): <dtype='DH' name_long='!!End ts' tag='column'> 5 - (DbModelSrc) end_reason(*): <size=':12' name_long='!!End Reason' tag='column'> 23 - (DbModelSrc) shortcut(*): <name_long='!!Shortcut' pkey='keycode' pkg='adm' fullname='adm.shortcut' name_plural='!!Shortcuts' caption_field='phrase' lookup='True' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts' counter='True' order_by='$_row_count'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) _row_count(*): <dtype='L' name_long='!![en]Counter' group='zzz' onInserting='setRowCounter' counter='True' _counter_fkey='True' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) keycode(*): <size=':10' name_long='!!Key' tag='column'> 6 - (DbModelSrc) phrase(*): <name_long='!!Phrase' tag='column'> 7 - (DbModelSrc) groupcode(*): <size=':20' name_long='!!Group' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 24 - (DbModelSrc) tblinfo(*): <name_long='!!Table Info' pkey='tblid' pkg='adm' fullname='adm.tblinfo' name_plural='!!Table info' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 4 - (DbModelSrc) tblid(*): <size=':50' name_long='!!Table' tag='column'> 5 - (DbModelSrc) pkgid(*): <size=':50' name_long='!!Package' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='pkginfo.pkgid' mode='relation' onUpdate_sql='cascade' relation_name='tables'> 6 - (DbModelSrc) description(*): <size=':50' name_long='!!Description' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 25 - (DbModelSrc) tblinfo_item(*): <name_long='!!Tblinfo item' pkey='info_key' pkg='adm' fullname='adm.tblinfo_item' pkey_columns='tblid,item_type,code' pkey_columns_joiner='/' name_plural='!!Tblinfo items' caption_field='description' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 4 - (DbModelSrc) info_key(*): <size=':50' name_long='!!Info key' indexed='y' readOnly='y' _sysfield='True' tag='column'> 5 - (DbModelSrc) code(*): <size=':50' name_long='!!Code' _sysfield='True' tag='column'> 6 - (DbModelSrc) description(*): <size=':50' name_long='!!Description' _sysfield='True' tag='column'> 7 - (DbModelSrc) item_type(*): <size=':5' name_long='!!Type' values='QTREE:Quick tree,FTREE:Full tree' tag='column'> 8 - (DbModelSrc) data(*): <dtype='X' name_long='!!Data' _sendback='True' tag='column'> 9 - (DbModelSrc) tblid(*): <size=':50' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='tblinfo.tblid' mode='foreignkey' onDelete='cascade' onUpdate_sql='cascade' relation_name='items'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 26 - (DbModelSrc) user(*): <name_long='!!User' pkey='id' rowcaption='username,email:%s (%s)' pkg='adm' fullname='adm.user' caption_field='username' tabletype='main' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='Id' group='_' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __rec_md5(*): <name_long='!![en]Update date' group='zzz' onInserting='setRecordMd5' onUpdating='setRecordMd5' _sysfield='True' tag='column'> 5 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 6 - (DbModelSrc) username(*): <size=':32' name_long='!!Username' unique='y' indexed='y' _sendback='True' validate_notnull='True' validate_notnull_error='!!Mandatory field' unmodifiable='True' tag='column'> 7 - (DbModelSrc) email(*): <name_long='Email' validate_notnull='True' validate_notnull_error='!!Mandatory field' tag='column'> 8 - (DbModelSrc) mobile(*): <name_long='Mobile' tag='column'> 9 - (DbModelSrc) firstname(*): <name_long='!!First name' validate_notnull='True' validate_case='c' validate_notnull_error='!!Mandatory field' tag='column'> 10 - (DbModelSrc) lastname(*): <name_long='!!Last name' validate_notnull='True' validate_case='c' validate_notnull_error='!!Mandatory field' tag='column'> 11 - (DbModelSrc) registration_date(*): <dtype='D' name_long='!!Registration Date' tag='column'> 12 - (DbModelSrc) auth_tags(*): <name_long='!!Authorization Tags' tag='column'> 13 - (DbModelSrc) status(*): <size=':4' name_long='!!Status' values='new:New,wait:Waiting,conf:Confirmed,bann:Banned' _sendback='True' tag='column'> 14 - (DbModelSrc) md5pwd(*): <size=':65' name_long='!!PasswordMD5' tag='column'> 15 - (DbModelSrc) locale(*): <size=':12' name_long='!!Default Language' tag='column'> 16 - (DbModelSrc) preferences(*): <dtype='X' name_long='!!Preferences' tag='column'> 17 - (DbModelSrc) menu_root_id(*): <size='22' tag='column'> 18 - (DbModelSrc) avatar_rootpage(*): <name_long='!!Root Page' tag='column'> 19 - (DbModelSrc) sms_login(*): <dtype='B' name_long='!!Sms login' tag='column'> 20 - (DbModelSrc) sms_number(*): <name_long='!!Sms Number' tag='column'> 21 - (DbModelSrc) group_code(*): <size=':15' name_long='!!Group' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='group.code' mode='foreignkey' onUpdate_sql='cascade' relation_name='users'> 22 - (DbModelSrc) custom_menu(*): <dtype='X' name_long='!!Custom menu' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) all_tags(*): <py_method='pyColumn_all_tags' virtual_column='True' name_long='All tags' dtype='A' tag='virtual_column'> 5 - (DbModelSrc) fullname(*): <sql_formula='$firstname||' '||$lastname' virtual_column='True' dtype='A' name_long='!!Name' tag='virtual_column'> 27 - (DbModelSrc) user_access_group(*): <name_long='!!User access' pkey='id' pkg='adm' fullname='adm.user_access_group' name_plural='!!User access' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) user_id(*): <size='22' name_long='!!User' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='user.id' mode='foreignkey' onDelete='cascade' onUpdate_sql='cascade' relation_name='access_groups'> 6 - (DbModelSrc) access_group_code(*): <size=':10' name_long='!!Access group' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='access_group.code' mode='foreignkey' onDelete='cascade' onUpdate_sql='cascade' relation_name='access_users'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 28 - (DbModelSrc) user_config(*): <name_long='!!User config' pkey='ruleid' pkg='adm' fullname='adm.user_config' name_plural='!!User config' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 4 - (DbModelSrc) ruleid(*): <size=':80' tag='column'> 5 - (DbModelSrc) user_group(*): <size=':15' name_long='!!Group' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='group.code' mode='foreignkey' onUpdate_sql='cascade' relation_name='custom_info'> 6 - (DbModelSrc) username(*): <size=':32' name_long='!!User' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='user.username' mode='relation' onDelete='cascade' onUpdate_sql='cascade' relation_name='custom_info'> 7 - (DbModelSrc) pkgid(*): <size=':50' name_long='!!Pkg' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='pkginfo.pkgid' mode='foreignkey' onUpdate_sql='cascade' relation_name='rules'> 8 - (DbModelSrc) tblid(*): <size=':50' name_long='!!Tbl' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='tblinfo.tblid' mode='foreignkey' onUpdate_sql='cascade' relation_name='rules'> 9 - (DbModelSrc) data(*): <dtype='X' name_long='!!Data' _sendback='True' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) calc_pkgid(*): <sql_formula='CASE WHEN $pkgid IS NOT NULL THEN $pkgid WHEN $tblid IS NOT NULL THEN split_part($tblid,'.',1) ELSE NULL END' virtual_column='True' dtype='A' tag='virtual_column'> 5 - (DbModelSrc) rank(*): <sql_formula='CAST(($tblid IS NOT NULL) AS int)*8+ CAST(($pkgid IS NOT NULL) AS int)*2+ CAST(($username IS NOT NULL) AS int)*4+ CAST(($user_group IS NOT NULL) AS int)*1' virtual_column='True' dtype='L' tag='virtual_column'> 29 - (DbModelSrc) user_notification(*): <name_long='User notification' pkey='id' pkg='adm' fullname='adm.user_notification' name_plural='!!User notifications' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) user_id(*): <size='22' name_long='!!User' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='user.id' mode='foreignkey' onDelete='cascade' onUpdate_sql='cascade' relation_name='user_notifications'> 6 - (DbModelSrc) notification_id(*): <size='22' name_long='!!User' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='notification.id' mode='foreignkey' onDelete='cascade' onUpdate_sql='cascade' relation_name='notification_users'> 7 - (DbModelSrc) confirmed(*): <dtype='B' name_long='!!Confirmed' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 30 - (DbModelSrc) user_tag(*): <name_long='!!User tag' pkey='id' pkg='adm' fullname='adm.user_tag' name_plural='!!User tags' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) group_code(*): <size=':15' name_long='!!Group' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='group.code' mode='foreignkey' onDelete='cascade' onUpdate_sql='cascade' relation_name='tags'> 6 - (DbModelSrc) user_id(*): <size='22' name_long='User' group='_' _sendback='True' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='user.id' mode='foreignkey' onDelete='cascade' onUpdate_sql='cascade' relation_name='tags'> 7 - (DbModelSrc) tag_id(*): <size='22' name_long='Tag id' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='htag.id' mode='foreignkey' onDelete='cascade' onUpdate_sql='cascade' relation_name='users'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) user(*): <relation_path='@user_id.username' virtual_column='True' tag='virtual_column'> 5 - (DbModelSrc) fullname(*): <relation_path='@user_id.fullname' virtual_column='True' tag='virtual_column'> 6 - (DbModelSrc) email(*): <relation_path='@user_id.email' virtual_column='True' tag='virtual_column'> 7 - (DbModelSrc) tag_code(*): <relation_path='@tag_id.hierarchical_code' virtual_column='True' tag='virtual_column'> 8 - (DbModelSrc) tag_description(*): <relation_path='@tag_id.description' virtual_column='True' tag='virtual_column'> 9 - (DbModelSrc) tag_note(*): <relation_path='@tag_id.note' virtual_column='True' tag='virtual_column'> 10 - (DbModelSrc) user_or_group(*): <sql_formula='COALESCE($user,$group_code)' virtual_column='True' dtype='A' tag='virtual_column'> 31 - (DbModelSrc) userobject(*): <name_long='!![en]User Object' pkey='id' rowcaption='$code,$objtype' pkg='adm' fullname='adm.userobject' name_plural='!![en]User Objects' broadcast='objtype' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) identifier(*): <size=':120' unique='True' indexed='True' sql_value='COALESCE(:tbl,:pkg,'')||:objtype||:code|| CASE WHEN :private THEN :userid ELSE '' END' tag='column'> 6 - (DbModelSrc) code(*): <size=':40' name_long='!![en]Code' indexed='y' tag='column'> 7 - (DbModelSrc) objtype(*): <size=':20' name_long='!![en]Object Type' indexed='y' tag='column'> 8 - (DbModelSrc) pkg(*): <size=':50' name_long='!![en]Package' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='pkginfo.pkgid' mode='relation' onUpdate_sql='cascade' relation_name='objects'> 9 - (DbModelSrc) tbl(*): <size=':50' name_long='!![en]Table' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='tblinfo.tblid' mode='relation' onUpdate_sql='cascade' relation_name='objects'> 10 - (DbModelSrc) userid(*): <size=':50' name_long='!![en]User ID' indexed='y' tag='column'> 11 - (DbModelSrc) description(*): <size=':50' name_long='!![en]Description' indexed='y' tag='column'> 12 - (DbModelSrc) notes(*): <dtype='T' name_long='!![en]Notes' tag='column'> 13 - (DbModelSrc) data(*): <dtype='X' name_long='!![en]Data' tag='column'> 14 - (DbModelSrc) authtags(*): <dtype='T' name_long='!![en]Auth tags' tag='column'> 15 - (DbModelSrc) private(*): <dtype='B' name_long='!![en]Private' tag='column'> 16 - (DbModelSrc) quicklist(*): <dtype='B' name_long='!![en]Quicklist' tag='column'> 17 - (DbModelSrc) flags(*): <dtype='T' name_long='!![en]Flags' tag='column'> 18 - (DbModelSrc) required_pkg(*): <name_long='!![en]Required pkg' tag='column'> 19 - (DbModelSrc) preview(*): <name_long='!![en][it]Preview' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) system_userobject(*): <sql_formula='$code LIKE :scode' virtual_column='True' dtype='B' var_scode='\_\_%%' tag='virtual_column'> 5 - (DbModelSrc) resource_status(*): <py_method='pyColumn_resource_status' virtual_column='True' name_long='!![en]Resources' required_columns='$data' tag='virtual_column'> 32 - (DbModelSrc) week(*): <name_long='!![en]Week' pkey='start_date' pkg='adm' fullname='adm.week' name_plural='!![en]Week' caption_field='week' tag='table'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) start_date(*): <dtype='D' name_long='!![en]Start Date' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) week(*): <sql_formula='to_char($start_date, 'YYYY-IW')' virtual_column='True' dtype='T' name_long='Week' static='True' tag='virtual_column'> 1 - (DbModelSrc) end_date(*): <sql_formula='$start_date + interval '6 days' ' virtual_column='True' dtype='D' name_long='!![en]End Date' tag='virtual_column'> 2 - (DbModelSrc) glbl(*): <comment='glbl package' sqlschema='glbl' name_short='glbl' name_long='Geo Italia' name_full='Geo Italia' pkgcode='gnr_it:glbl' tag='package'> 0 - (DbModelSrc) tables(*): <tag='table_list'> 0 - (DbModelSrc) comune(*): <name_long='Comune' pkey='id' rowcaption='denominazione' pkg='glbl' fullname='glbl.comune' name_plural='!![it]Comuni' caption_field='denominazione' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) codice_regione(*): <name_long='!![it]Codice Regione' tag='column'> 6 - (DbModelSrc) codice_provincia(*): <name_long='!![it]Codice Provincia' tag='column'> 7 - (DbModelSrc) sigla_provincia(*): <size='2' name_long='!![it]Sigla Provincia' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='glbl.provincia.sigla' mode='foreignkey' onUpdate_sql='cascade' relation_name='comuni'> 8 - (DbModelSrc) codice_comune(*): <name_long='!![it]Codice Comune' tag='column'> 9 - (DbModelSrc) denominazione(*): <name_long='!![it]Denominazione' tag='column'> 10 - (DbModelSrc) denominazione_tedesca(*): <name_long='!![it]Denominazione tedesca' tag='column'> 11 - (DbModelSrc) capoluogo(*): <dtype='B' name_long='!![it]Capoluogo' tag='column'> 12 - (DbModelSrc) zona_altimetrica(*): <dtype='L' name_long='!![it]Zona altimetrica' tag='column'> 13 - (DbModelSrc) altitudine(*): <dtype='L' name_long='!![it]Altitudine (m)' tag='column'> 14 - (DbModelSrc) litoraneo(*): <dtype='B' name_short='Litoraneo' name_long='!![it]Comune litoraneo' tag='column'> 15 - (DbModelSrc) comune_montano(*): <name_long='!![it]Comune montano' tag='column'> 16 - (DbModelSrc) csl(*): <dtype='L' name_long='!![it]Codice sistema lavoro (2001)' tag='column'> 17 - (DbModelSrc) superficie(*): <dtype='L' name_long='!![it]Superficie (kmq)' tag='column'> 18 - (DbModelSrc) popolazione_residente(*): <dtype='L' name_long='!![it]Popolazione residente (2010)' format='#,###,###' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) localita(*): <name_long='Localita' pkey='id' rowcaption='nome,@provincia.sigla:%s (%s)' pkg='glbl' fullname='glbl.localita' tag='table'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![it]Id' unique='True' group='_' readOnly='True' tag='column'> 1 - (DbModelSrc) nome(*): <size=':52' name_long='Nome' indexed='True' tag='column'> 2 - (DbModelSrc) provincia(*): <size='2' name_long='Provincia' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='glbl.provincia.sigla' mode='foreignkey' onDelete='raise' onUpdate_sql='cascade' relation_name='localita'> 3 - (DbModelSrc) codice_istat(*): <size='6' name_long='Codice Istat' tag='column'> 4 - (DbModelSrc) codice_comune(*): <size='4' name_long='Codice Comune' tag='column'> 5 - (DbModelSrc) prefisso_tel(*): <size='4' name_long='Prefisso Tel' tag='column'> 6 - (DbModelSrc) cap(*): <size='5' name_long='CAP' indexed='True' tag='column'> 7 - (DbModelSrc) comune_id(*): <size='22' name_long='!![it]Comune' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='glbl.comune.id' mode='foreignkey' onUpdate_sql='cascade' relation_name='localita'> 2 - (DbModelSrc) nazione(*): <name_long='Nazione' pkey='code' rowcaption='code,name' pkg='glbl' fullname='glbl.nazione' lookup='True' caption_field='name' inStartupData='True' tag='table'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) code(*): <size='2' name_long='!![it]Code' readOnly='True' tag='column'> 1 - (DbModelSrc) name(*): <size=':48' name_long='!![it]Name' tag='column'> 2 - (DbModelSrc) code3(*): <size='3' name_long='!![it]Code3' tag='column'> 3 - (DbModelSrc) nmbr(*): <size='3' name_long='!![it]Num.Code' tag='column'> 4 - (DbModelSrc) nmbrunico(*): <size='3' name_long='!![it]Num.Unico' tag='column'> 3 - (DbModelSrc) nuts(*): <name_long='!![it]Nomeclatura statistica' pkey='id' rowcaption='$code,$description' pkg='glbl' fullname='glbl.nuts' name_plural='!![it]Nomenclatura statistica' caption_field='description' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts' hierarchical='pkey' order_by='$hierarchical_pkey' broadcast='parent_id'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) parent_id(*): <size='22' name_long='!![en]Parent id' group='*' onInserting='hierarchical_before' onUpdating='hierarchical_before' onUpdated='hierarchical_after' _sysfield='True' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='nuts.id' mode='foreignkey' one_name='!![en]Parent' many_name='!![en]Children' one_group='zzz' many_group='zzz' deferred='True' onDelete='cascade' onUpdate_sql='cascade' relation_name='_children'> 5 - (DbModelSrc) hierarchical_pkey(*): <name_long='!![en]Hierarchical pkey' unique='True' group='zzz' _sysfield='True' tag='column'> 6 - (DbModelSrc) _parent_h_pkey(*): <group='zzz' _sysfield='True' tag='column'> 7 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 8 - (DbModelSrc) code(*): <size=':128' name_long='!![it]Code' tag='column'> 9 - (DbModelSrc) description(*): <name_short='Label' name_long='!![it]Description' tag='column'> 10 - (DbModelSrc) level(*): <dtype='I' name_long='!![it]Level' tag='column'> 11 - (DbModelSrc) country(*): <size='2' name_long='!![it]Country' tag='column'> 12 - (DbModelSrc) country_iso(*): <size='2' name_long='!![it]Country' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='glbl.nazione.code' mode='foreignkey' deferred='True' onDelete='raise' onUpdate_sql='cascade' relation_name='nuts'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) child_count(*): <sql_formula='(SELECT count(*) FROM glbl.glbl_nuts AS children WHERE children.parent_id=#THIS.id)' virtual_column='True' dtype='L' group='*' tag='virtual_column'> 1 - (DbModelSrc) hlevel(*): <sql_formula='length($hierarchical_pkey)-length(replace($hierarchical_pkey,'/',''))+1' virtual_column='True' dtype='A' group='*' tag='virtual_column'> 2 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 5 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) provincia(*): <name_long='Provincia' pkey='sigla' rowcaption='$nome,$sigla:%s (%s)' pkg='glbl' fullname='glbl.provincia' caption_field='sigla' lookup='True' tag='table'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) sigla(*): <size='2' name_long='!![it]Sigla' indexed='True' readOnly='True' validate_notnull='True' validate_len='2' validate_case='u' tag='column'> 1 - (DbModelSrc) regione(*): <size='3' name_long='!![it]Regione' validate_notnull='True' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='glbl.regione.sigla' mode='relation' eager_one='True' onUpdate_sql='cascade' relation_name='province'> 2 - (DbModelSrc) nome(*): <size=':128' name_long='!![it]Nome' indexed='True' validate_notnull='True' tag='column'> 3 - (DbModelSrc) nome_locale(*): <size=':128' name_long='!![it]Nome Locale' indexed='True' tag='column'> 4 - (DbModelSrc) codice(*): <dtype='I' name_long='!![it]codice' tag='column'> 5 - (DbModelSrc) codice_istat(*): <size='3' name_long='!![it]Codice Istat' tag='column'> 6 - (DbModelSrc) ordine(*): <dtype='L' name_long='!![it]Ordine Gnr' tag='column'> 7 - (DbModelSrc) ordine_tot(*): <size='6' name_long='!![it]Ordine tot Gnr' tag='column'> 8 - (DbModelSrc) cap_valido(*): <size='2' name_long='!![it]CAP Valido' tag='column'> 9 - (DbModelSrc) nuts(*): <size=':128' name_long='!![it]NUTS3' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='glbl.nuts.code' mode='relation' onUpdate_sql='cascade' relation_name='province'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) zona_regione(*): <relation_path='@regione.zona' virtual_column='True' name_long='Zona Reg' tag='virtual_column'> 1 - (DbModelSrc) numero_abitanti(*): <select='{'columns': 'SUM($popolazione_residente)', 'table': 'glbl.comune', 'where': '$sigla_provincia=#THIS.sigla'}' virtual_column='True' dtype='L' format='#,###,###' name_long='N.Abitanti' tag='virtual_column'> 2 - (DbModelSrc) tot_superficie(*): <select='{'columns': 'SUM($superficie)', 'table': 'glbl.comune', 'where': '$sigla_provincia=#THIS.sigla'}' virtual_column='True' dtype='L' format='#,###,###' name_long='Superficie' tag='virtual_column'> 5 - (DbModelSrc) regione(*): <name_long='!![it]Regione' pkey='sigla' rowcaption='sigla,nome' pkg='glbl' fullname='glbl.regione' caption_field='nome' lookup='True' tag='table'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) sigla(*): <size='3' name_long='!![it]Sigla' indexed='True' group='_' readOnly='True' tag='column'> 1 - (DbModelSrc) nome(*): <size=':128' name_long='!![it]Nome' indexed='True' tag='column'> 2 - (DbModelSrc) nome_locale(*): <size=':128' name_long='!![it]Nome Locale' indexed='True' tag='column'> 3 - (DbModelSrc) codice(*): <dtype='I' name_long='!![it]Codice' tag='column'> 4 - (DbModelSrc) codice_istat(*): <size='2' name_long='!![it]Codice Istat' tag='column'> 5 - (DbModelSrc) ordine(*): <size='6' name_long='!![it]Ordine Gnr' tag='column'> 6 - (DbModelSrc) zona(*): <name_long='!![it]Zona' tag='column'> 7 - (DbModelSrc) zona_numero(*): <dtype='I' name_long='!![it]Zona n.' tag='column'> 8 - (DbModelSrc) nuts(*): <size=':128' name_long='!![it]NUTS2' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='glbl.nuts.code' mode='relation' onUpdate_sql='cascade' relation_name='regioni'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) sigle_prov_m(*): <sql_formula='array_to_string(ARRAY(#m),',')' virtual_column='True' dtype='A' select_m='{'table': 'glbl.provincia', 'columns': '$nome', 'where': "$regione=#THIS.sigla AND $nome LIKE 'M%%'"}' tag='virtual_column'> 3 - (DbModelSrc) sandbox(*): <comment='sandbox package' sqlschema='sabdbox' name_short='Sandbox' name_long='Genropy Sandbox' name_full='Sandbox' pkgcode='sandbox' tag='package'> 4 - (DbModelSrc) test(*): <comment='test package' sqlschema='test' name_short='Test' name_long='Test' name_full='Test' _syspackage='True' pkgcode='gnrcore:test' tag='package'> 5 - (DbModelSrc) fatt(*): <comment='Package demo fatturazione' sqlschema='fatt' name_short='Fatturazione' name_long='Fatturazione' name_full='Fatturazione' language='it' pkgcode='fatt' tag='package'> 0 - (DbModelSrc) tables(*): <tag='table_list'> 0 - (DbModelSrc) cliente(*): <name_long='!![it]Cliente' pkey='id' pkg='fatt' fullname='fatt.cliente' name_plural='!![it]Clienti' caption_field='ragione_sociale' branch_field='categoria' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) ragione_sociale(*): <size=':40' name_short='Rag. Soc.' name_long='!![it]Ragione sociale' validate_notnull='True' validate_len='2:40' tag='column'> 6 - (DbModelSrc) indirizzo(*): <name_long='!![it]Indirizzo' tag='column'> 7 - (DbModelSrc) provincia(*): <size='2' name_short='Pr.' name_long='!![it]Provincia' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='glbl.provincia.sigla' mode='foreignkey' onDelete='raise' onUpdate_sql='cascade' relation_name='clienti'> 8 - (DbModelSrc) comune_id(*): <size='22' name_long='!![it]Comune' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='glbl.comune.id' mode='foreignkey' onDelete='raise' onUpdate_sql='cascade' relation_name='clienti'> 9 - (DbModelSrc) cliente_tipo_codice(*): <size=':5' name_short='!![it]Tipo' name_long='!![it]Tipo cliente' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='cliente_tipo.codice' mode='foreignkey' onDelete='raise' onUpdate_sql='cascade' relation_name='clienti'> 10 - (DbModelSrc) pagamento_tipo_codice(*): <size=':5' name_short='!![it]Tipo pagamento' name_long='!![it]Tipo pagamento' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='pagamento_tipo.codice' mode='foreignkey' onDelete='raise' onUpdate_sql='cascade' relation_name='clienti'> 11 - (DbModelSrc) note(*): <name_long='!![it]Note' tag='column'> 12 - (DbModelSrc) email(*): <name_long='!![it]Email' tag='column'> 13 - (DbModelSrc) data_iscrizione_newsletter(*): <dtype='D' name_long='Data iscrizione newsletter' tag='column'> 14 - (DbModelSrc) data_disiscrizione_newsletter(*): <dtype='D' name_long='Data disiscrizione newsletter' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) iscritto_newsletter(*): <sql_formula='CASE WHEN $data_iscrizione_newsletter IS NOT NULL AND $data_disiscrizione_newsletter IS NULL THEN TRUE WHEN $data_disiscrizione_newsletter IS NOT NULL THEN FALSE ELSE NULL END' virtual_column='True' dtype='B' name_long='Iscr.newsletter' tag='virtual_column'> 5 - (DbModelSrc) n_fatture(*): <select='{'table': 'fatt.fattura', 'columns': 'COUNT(*)', 'where': '$cliente_id=#THIS.id'}' virtual_column='True' dtype='L' name_long='N.Fatture' tag='virtual_column'> 6 - (DbModelSrc) tot_fatturato(*): <select='{'table': 'fatt.fattura', 'columns': 'SUM($totale_fattura)', 'where': '$cliente_id=#THIS.id'}' virtual_column='True' dtype='N' name_long='Tot.Fatturato' tag='virtual_column'> 1 - (DbModelSrc) cliente_tipo(*): <name_long='!![it]Cliente tipo' pkey='codice' pkg='fatt' fullname='fatt.cliente_tipo' name_plural='!![it]Cliente tipi' caption_field='descrizione' lookup='True' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 4 - (DbModelSrc) codice(*): <size=':5' name_long='!![it]Codice' tag='column'> 5 - (DbModelSrc) descrizione(*): <name_long='!![it]Descrizione' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) fattura(*): <name_long='!![it]Fattura' pkey='id' pkg='fatt' fullname='fatt.fattura' name_plural='!![it]Fattura' caption_field='protocollo' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) protocollo(*): <size='10' name_long='!![it]Protocollo' tag='column'> 6 - (DbModelSrc) cliente_id(*): <size='22' name_long='!![it]Cliente' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='cliente.id' mode='foreignkey' onDelete='raise' onUpdate_sql='cascade' relation_name='fatture'> 7 - (DbModelSrc) data(*): <dtype='D' name_long='!![it]Data' tag='column'> 8 - (DbModelSrc) totale_imponibile(*): <dtype='money' name_long='!![it]Totale imponibile' tag='column'> 9 - (DbModelSrc) totale_lordo(*): <dtype='money' name_long='!![it]Totale lordo' tag='column'> 10 - (DbModelSrc) totale_iva(*): <dtype='money' name_long='!![it]Totale Iva' tag='column'> 11 - (DbModelSrc) totale_fattura(*): <dtype='money' name_long='!![it]Totale' tag='column'> 12 - (DbModelSrc) peso_spedizione(*): <dtype='N' name_long='!![it]Peso Spedizione (kg)' format='##,00' checkpref='fatt.magazzino.abilita_spese_spedizione' tag='column'> 13 - (DbModelSrc) costo_spedizione(*): <dtype='money' name_short='!![it]Costo Spedizione' name_long='!![it]Costo Spedizione' checkpref='fatt.magazzino.abilita_spese_spedizione' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) clientenome(*): <relation_path='@cliente_id.ragione_sociale' virtual_column='True' name_long='Cliente' tag='virtual_column'> 5 - (DbModelSrc) mese_fattura(*): <sql_formula='EXTRACT(MONTH FROM $data) || '-' || EXTRACT(YEAR FROM $data)' virtual_column='True' dtype='A' tag='virtual_column'> 6 - (DbModelSrc) anno_fattura(*): <sql_formula='EXTRACT(YEAR FROM $data)' virtual_column='True' dtype='A' tag='virtual_column'> 3 - (DbModelSrc) fattura_riga(*): <name_long='!![it]Fattura riga' pkey='id' pkg='fatt' fullname='fatt.fattura_riga' name_plural='!![it]Fattura righe' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts' counter='fattura_id' order_by='$_row_count'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) _row_count(*): <dtype='L' name_long='!![en]Counter' group='zzz' onInserting='setRowCounter' counter='True' _counter_fkey='fattura_id' _sysfield='True' tag='column'> 5 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 6 - (DbModelSrc) fattura_id(*): <size='22' name_long='!![it]Fattura' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='fattura.id' mode='foreignkey' onDelete='cascade' onUpdate_sql='cascade' relation_name='righe'> 7 - (DbModelSrc) prodotto_id(*): <size='22' name_long='!![it]Prodotto' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='prodotto.id' mode='foreignkey' onDelete='raise' onUpdate_sql='cascade' relation_name='righe_fattura'> 8 - (DbModelSrc) quantita(*): <dtype='I' name_short='!![it]Q.' name_long='!![it]Quantitร ' tag='column'> 9 - (DbModelSrc) prezzo_unitario(*): <dtype='money' name_short='!![it]P.U.' name_long='!![it]Prezzo unitario' tag='column'> 10 - (DbModelSrc) aliquota_iva(*): <dtype='money' name_short='!![it]Iva' name_long='!![it]Aliquota iva' tag='column'> 11 - (DbModelSrc) sconto(*): <dtype='money' name_long='!![it]Sconto' tag='column'> 12 - (DbModelSrc) prezzo_totale(*): <dtype='money' name_short='!![it]P.T.' name_long='!![it]Prezzo totale' tag='column'> 13 - (DbModelSrc) iva(*): <dtype='money' name_long='!![it]Tot.Iva' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) cliente_id(*): <relation_path='@fattura_id.cliente_id' virtual_column='True' name_long='Cliente' tag='virtual_column'> 4 - (DbModelSrc) pagamento_tipo(*): <name_long='!![it]Pagamento tipo' pkey='codice' pkg='fatt' fullname='fatt.pagamento_tipo' name_plural='!![it]Pagamento tipi' caption_field='descrizione' lookup='True' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 4 - (DbModelSrc) codice(*): <size=':5' name_long='!![it]Codice' tag='column'> 5 - (DbModelSrc) descrizione(*): <name_long='!![it]Descrizione' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 5 - (DbModelSrc) prodotto(*): <name_long='!![it]Prodotto' pkey='id' pkg='fatt' fullname='fatt.prodotto' name_plural='!![it]Prodotti' caption_field='descrizione' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts' atc_attachmenttable='fatt.prodotto_atc'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) codice(*): <size=':10' name_long='!![it]Codice' tag='column'> 6 - (DbModelSrc) descrizione(*): <size=':50' name_long='!![it]Descrizione' tag='column'> 7 - (DbModelSrc) prodotto_tipo_id(*): <size='22' name_short='Tipo' name_long='!![it]Tipo Prodotto' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='prodotto_tipo.id' mode='foreignkey' onDelete='raise' onUpdate_sql='cascade' relation_name='prodotti'> 8 - (DbModelSrc) prezzo_unitario(*): <dtype='money' name_short='P.U' name_long='!![it]Prezzo unitario' tag='column'> 9 - (DbModelSrc) tipo_iva_codice(*): <size=':5' name_long='!![it]Tipo iva' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='tipo_iva.codice' mode='foreignkey' onDelete='raise' onUpdate_sql='cascade' relation_name='prodotti'> 10 - (DbModelSrc) foto_url(*): <dtype='P' name_short='Foto' name_long='!![it]Foto' tag='column'> 11 - (DbModelSrc) caratteristiche(*): <dtype='X' name_long='!![it]Caratteristiche' subfields='prodotto_tipo_id' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 6 - (DbModelSrc) prodotto_atc(*): <pkey='id' pkg='fatt' fullname='fatt.prodotto_atc' tag='table' caption_field='description' rowcaption='$description' name_long='!![it]Prodotto Attachment' name_plural='!![it]Prodotto Attachments' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts' counter='maintable_id' order_by='$_row_count'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='Id' group='_' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) _row_count(*): <dtype='L' name_long='!![en]Counter' group='zzz' onInserting='setRowCounter' counter='True' _counter_fkey='maintable_id' _sysfield='True' tag='column'> 5 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 6 - (DbModelSrc) filepath(*): <name_long='!![en]Filepath' onInserting='checkExternalUrl' onDeleted='onDeletedAtc' onInserted='convertDocFile' tag='column'> 7 - (DbModelSrc) external_url(*): <name_long='!![en]External url' tag='column'> 8 - (DbModelSrc) description(*): <name_long='!![en]Description' tag='column'> 9 - (DbModelSrc) mimetype(*): <name_long='!![en]Mimetype' tag='column'> 10 - (DbModelSrc) text_content(*): <name_long='!![en]Content' tag='column'> 11 - (DbModelSrc) info(*): <dtype='X' name_long='!![en]Additional info' tag='column'> 12 - (DbModelSrc) is_foreign_document(*): <dtype='B' name_short='!![en]Ext' name_long='!![en][Is foreign document]' tag='column'> 13 - (DbModelSrc) maintable_id(*): <size='22' name_long='prodotto' group='*' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='fatt.prodotto.id' mode='foreignkey' one_group='_' many_group='_' deferred='True' onDelete='cascade' onUpdate_sql='cascade' onDelete_sql='cascade' relation_name='atc_attachments' onDuplicate='False'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) adapted_url(*): <sql_formula='CASE WHEN position('\:' in $filepath)>0 THEN '/'||$filepath ELSE '/_vol/' || $filepath END' virtual_column='True' dtype='A' group='_' tag='virtual_column'> 5 - (DbModelSrc) fileurl(*): <sql_formula='COALESCE($external_url,$adapted_url)' virtual_column='True' dtype='A' name_long='Fileurl' tag='virtual_column'> 7 - (DbModelSrc) prodotto_tipo(*): <name_long='!![it]Prodotto tipo' pkey='id' pkg='fatt' fullname='fatt.prodotto_tipo' name_plural='!![it]Prodotto tipi' caption_field='hierarchical_descrizione' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts' hierarchical='descrizione,pkey' broadcast='parent_id' counter='True' order_by='$_h_sortcol'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) parent_id(*): <size='22' name_long='!![en]Parent id' group='*' onInserting='hierarchical_before' onUpdating='hierarchical_before' onUpdated='hierarchical_after' _sysfield='True' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='prodotto_tipo.id' mode='foreignkey' one_name='!![en]Parent' many_name='!![en]Children' one_group='zzz' many_group='zzz' deferred='True' onDelete='cascade' onUpdate_sql='cascade' relation_name='_children'> 5 - (DbModelSrc) descrizione(*): <tag='column' size=':50' name_long='!![it]Descrizione'> 6 - (DbModelSrc) hierarchical_descrizione(*): <name_long='!![en]Hierarchical descrizione' unique='False' tag='column'> 7 - (DbModelSrc) _parent_h_descrizione(*): <name_long='!![en]Parent Hierarchical descrizione' group='zzz' _sysfield='True' tag='column'> 8 - (DbModelSrc) hierarchical_pkey(*): <name_long='!![en]Hierarchical pkey' unique='True' group='zzz' _sysfield='True' tag='column'> 9 - (DbModelSrc) _parent_h_pkey(*): <group='zzz' _sysfield='True' tag='column'> 10 - (DbModelSrc) _h_count(*): <group='zzz' _sysfield='True' tag='column'> 11 - (DbModelSrc) _parent_h_count(*): <group='zzz' _sysfield='True' tag='column'> 12 - (DbModelSrc) _row_count(*): <dtype='L' name_long='!![en]Counter' group='zzz' counter='True' _sysfield='True' tag='column'> 13 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 14 - (DbModelSrc) df_fields(*): <dtype='X' group='_' _sendback='True' tag='column'> 15 - (DbModelSrc) df_fbcolumns(*): <dtype='L' group='_' tag='column'> 16 - (DbModelSrc) df_custom_templates(*): <dtype='X' group='_' tag='column'> 17 - (DbModelSrc) df_colswidth(*): <group='_' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) child_count(*): <sql_formula='(SELECT count(*) FROM fatt.fatt_prodotto_tipo AS children WHERE children.parent_id=#THIS.id)' virtual_column='True' dtype='L' group='*' tag='virtual_column'> 1 - (DbModelSrc) hlevel(*): <sql_formula='length($hierarchical_pkey)-length(replace($hierarchical_pkey,'/',''))+1' virtual_column='True' dtype='A' group='*' tag='virtual_column'> 2 - (DbModelSrc) _h_sortcol(*): <sql_formula=' COALESCE($_h_count,$descrizione) ' virtual_column='True' dtype='A' _sysfield='True' group='zzz' tag='virtual_column'> 3 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 5 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 6 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 8 - (DbModelSrc) prodotto_tipo_alias(*): <name_long='!!Prodotto alias' pkey='id' pkg='fatt' fullname='fatt.prodotto_tipo_alias' name_plural='!!Prodotto alias' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) prodotto_id(*): <size='22' name_long='Prodotto id' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='prodotto.id' mode='foreignkey' onDelete='cascade' onUpdate_sql='cascade' relation_name='prodotti_tipi_alias'> 6 - (DbModelSrc) prodotto_tipo_id(*): <size='22' name_long='Prodotto tipo id' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='prodotto_tipo.id' mode='foreignkey' onDelete='cascade' onUpdate_sql='cascade' relation_name='prodotti_tipi_alias'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 9 - (DbModelSrc) tipo_iva(*): <name_long='!![it]Tipo iva' pkey='codice' pkg='fatt' fullname='fatt.tipo_iva' name_plural='!![it]Tipi iva' caption_field='descrizione' lookup='True' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 4 - (DbModelSrc) codice(*): <size=':5' name_long='!![it]Codice' tag='column'> 5 - (DbModelSrc) descrizione(*): <name_long='!![it]Descrizione' tag='column'> 6 - (DbModelSrc) aliquota(*): <dtype='percent' name_long='!![it]Aliquota' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'>
dir(src)
['_', '__call__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__module__', '__ne__', '__new__', '__pow__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_backref', '_dbmodel', '_deepIndex', '_del_subscribers', '_fromJson', '_fromSource', '_fromXml', '_fromXsd', '_getNode', '_get_attaches', '_get_attributes', '_get_backref', '_get_fullpath', '_get_joiner', '_get_modified', '_get_node', '_get_parent', '_get_parentNode', '_get_root', '_get_rootattributes', '_htraverse', '_index', '_ins_subscribers', '_insertNode', '_modified', '_node', '_nodes', '_onNodeChanged', '_onNodeDeleted', '_onNodeInserted', '_parent', '_parentNode', '_parseValidChildrenValues', '_pathSplit', '_pop', '_rootattributes', '_set', '_setModified', '_set_modified', '_set_node', '_set_parent', '_set_parentNode', '_set_rootattributes', '_sourcePrepare', '_subscribe', '_symbols', '_unpickle', '_upd_subscribers', 'addItem', 'addValidator', 'aliasColumn', 'aliasTable', 'appendNode', 'asDict', 'asDictDeeply', 'asString', 'attributes', 'backref', 'backwardNodebyAttr', 'bagItemColumn', 'cbtraverse', 'child', 'clear', 'clearBackRef', 'column', 'columns', 'copy', 'deepcopy', 'default_childname', 'defineFormula', 'defineSymbol', 'delAttr', 'delItem', 'delParentRef', 'diff', 'digest', 'exceptions', 'externalPackage', 'fillFrom', 'filter', 'findNodeByAttr', 'formula', 'formulaColumn', 'fromJson', 'fromXml', 'fullpath', 'get', 'getAttr', 'getDeepestNode', 'getDeepestNode_', 'getFormattedValue', 'getFormula', 'getIndex', 'getIndexList', 'getInheritedAttributes', 'getItem', 'getLeaves', 'getNode', 'getNodeByAttr', 'getNodeByValue', 'getNodes', 'getResolver', 'has_key', 'index', 'isEmpty', 'items', 'iteritems', 'iterkeys', 'itervalues', 'keys', 'load', 'makePicklable', 'makeRoot', 'merge', 'mixin', 'modified', 'node', 'nodes', 'nodesByAttr', 'package', 'parent', 'parentNode', 'pickle', 'pop', 'popAttributesFromNodes', 'popNode', 'pyColumn', 'relation', 'removeValidator', 'restoreFromPicklable', 'root', 'rootattributes', 'rowchild', 'save', 'setAttr', 'setBackRef', 'setCallBackItem', 'setCallable', 'setItem', 'setResolver', 'setdefault', 'sort', 'subscribe', 'subtable', 'sum', 'summarizeAttributes', 'table', 'table_alias', 'toTree', 'toXml', 'traverse', 'unpickle', 'unsubscribe', 'update', 'validate', 'values', 'virtual_column', 'walk']
adm = src.package('adm')
<gnr.sql.gnrsqlmodel.DbModelSrc at 0x1120c4af0>
print(adm)
0 - (DbModelSrc) tables(*): <tag='table_list'> 0 - (DbModelSrc) access_group(*): <name_long='!!Access group' pkey='code' pkg='adm' fullname='adm.access_group' name_plural='!!Access group' caption_field='code' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 4 - (DbModelSrc) code(*): <size=':10' name_long='!!Code' tag='column'> 5 - (DbModelSrc) description(*): <size=':30' name_long='!!Description' tag='column'> 6 - (DbModelSrc) allowed_ip(*): <name_long='!!Allowed ip' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) audit(*): <name_long='!!Audit' pkey='id' pkg='adm' fullname='adm.audit' name_plural='!!Audit' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) tablename(*): <name_long='!!Table name' tag='column'> 6 - (DbModelSrc) event(*): <size='1' name_long='!!Change type' values='I:Insert,U:Update,D:Delete' tag='column'> 7 - (DbModelSrc) username(*): <name_long='!!User' tag='column'> 8 - (DbModelSrc) record_pkey(*): <name_long='!!Record Pkey' tag='column'> 9 - (DbModelSrc) version(*): <dtype='L' name_long='!!Version' tag='column'> 10 - (DbModelSrc) data(*): <dtype='X' name_long='!!Data' tag='column'> 11 - (DbModelSrc) transaction_id(*): <name_long='!!Transaction id' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) authorization(*): <name_long='!!Authorization' pkey='code' pkg='adm' fullname='adm.authorization' name_plural='!!Authorizations' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 4 - (DbModelSrc) code(*): <size=':8' name_long='!!Code' validate_case='U' unmodifiable='True' tag='column'> 5 - (DbModelSrc) user_id(*): <size='22' name_long='!!User id' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='user.id' mode='foreignkey' onUpdate_sql='cascade'> 6 - (DbModelSrc) use_ts(*): <dtype='DH' name_long='!!Used datetime' tag='column'> 7 - (DbModelSrc) used_by(*): <name_long='!!Used by' tag='column'> 8 - (DbModelSrc) note(*): <name_long='!!Note' tag='column'> 9 - (DbModelSrc) usage_scope(*): <name_long='!!Use Scope' tag='column'> 10 - (DbModelSrc) remaining_usages(*): <dtype='L' name_long='!!Remaining usages' default='1' tag='column'> 11 - (DbModelSrc) expiry_date(*): <dtype='D' name_long='!!Expire Date' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) backup(*): <name_long='!!Backup' pkey='id' rowcaption='$name' pkg='adm' fullname='adm.backup' name_plural='!!Backups' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) name(*): <name_long='!!Name' tag='column'> 6 - (DbModelSrc) start_ts(*): <dtype='DH' name_long='!!Backup start ts' tag='column'> 7 - (DbModelSrc) end_ts(*): <dtype='DH' name_long='!!Backup end ts' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) dl_link(*): <sql_formula=' '/_site/maintenance/backups/'|| $name ' virtual_column='True' dtype='A' tag='virtual_column'> 4 - (DbModelSrc) ckstyle(*): <name_long='Ckeditor style' pkey='id' pkg='adm' fullname='adm.ckstyle' name_plural='!!Ckeditor styles' caption_field='name' lookup='True' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) name(*): <name_long='!!Name' tag='column'> 6 - (DbModelSrc) element(*): <name_short='Element' name_long='!!Dom element' values='div,span,h1,h2,h3' tag='column'> 7 - (DbModelSrc) styles(*): <name_long='!!Styles' tag='column'> 8 - (DbModelSrc) attributes(*): <name_long='!!Attributes' tag='column'> 9 - (DbModelSrc) stylegroup(*): <name_long='!!Group' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) sgroup(*): <sql_formula='COALESCE($stylegroup,'')' virtual_column='True' dtype='A' tag='virtual_column'> 5 - (DbModelSrc) connection(*): <name_long='!!Connection' pkey='id' pkg='adm' fullname='adm.connection' name_plural='!!Connections' checkpref='adm.dev.connection_log_enabled' tag='table'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!!Connection id' tag='column'> 1 - (DbModelSrc) userid(*): <size='22' name_long='!!Userid' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='user.id' mode='relation' onUpdate_sql='cascade'> 2 - (DbModelSrc) username(*): <size=':32' name_long='!!Username' tag='column'> 3 - (DbModelSrc) ip(*): <size=':15' name_long='!!Ip number' tag='column'> 4 - (DbModelSrc) start_ts(*): <dtype='DH' name_long='!!Start TS' tag='column'> 5 - (DbModelSrc) end_ts(*): <dtype='DH' name_long='!!End TS' tag='column'> 6 - (DbModelSrc) end_reason(*): <size=':12' name_long='!!End reason' tag='column'> 7 - (DbModelSrc) user_agent(*): <name_long='!!User agent' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) user_fullname(*): <relation_path='@userid.fullname' virtual_column='True' name_long='!!User fullname' tag='virtual_column'> 6 - (DbModelSrc) counter(*): <name_long='!!Counter' pkey='codekey' pkg='adm' fullname='adm.counter' pkey_columns='pkg,tbl,code,fld,period' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 4 - (DbModelSrc) codekey(*): <size=':80' name_long='!!Codekey' indexed='y' readOnly='y' tag='column'> 5 - (DbModelSrc) code(*): <size=':12' name_long='!!Code' readOnly='y' tag='column'> 6 - (DbModelSrc) pkg(*): <size=':12' name_long='!!Package' readOnly='y' tag='column'> 7 - (DbModelSrc) tbl(*): <size=':30' name_long='!!Table' readOnly='y' tag='column'> 8 - (DbModelSrc) fld(*): <size=':30' name_long='!!Counter Field' readOnly='y' tag='column'> 9 - (DbModelSrc) period(*): <size=':10' name_long='!!Period' indexed='y' tag='column'> 10 - (DbModelSrc) counter(*): <dtype='L' name_long='!!Counter' tag='column'> 11 - (DbModelSrc) last_used(*): <dtype='D' name_long='!!Last used' tag='column'> 12 - (DbModelSrc) holes(*): <dtype='X' name_long='!!Holes' tag='column'> 13 - (DbModelSrc) errors(*): <dtype='X' name_long='!!Errors' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 7 - (DbModelSrc) day(*): <name_long='!!Days' pkey='date' pkg='adm' fullname='adm.day' name_plural='!!Days' caption_field='date' tag='table'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) date(*): <dtype='D' name_long='!!Date' tag='column'> 1 - (DbModelSrc) weekday(*): <dtype='L' name_long='!!Weekday' tag='column'> 2 - (DbModelSrc) is_holyday(*): <dtype='B' name_long='!!Is holyday' tag='column'> 8 - (DbModelSrc) group(*): <name_long='Group' pkey='code' pkg='adm' fullname='adm.group' name_plural='!!Groups' caption_field='description' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts' counter='True' order_by='$_row_count'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) _row_count(*): <dtype='L' name_long='!![en]Counter' group='zzz' onInserting='setRowCounter' counter='True' _counter_fkey='True' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) code(*): <size=':15' name_long='!!Code' unmodifiable='True' tag='column'> 6 - (DbModelSrc) description(*): <name_long='!!Description' tag='column'> 7 - (DbModelSrc) custom_menu(*): <dtype='X' name_long='!!Custom menu' tag='column'> 8 - (DbModelSrc) rootpage(*): <name_long='!![en]Root Page' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 9 - (DbModelSrc) htag(*): <name_long='!!Tag' pkey='id' rowcaption='$code,$description' pkg='adm' fullname='adm.htag' caption_field='hierarchical_description' newrecord_caption='!!New tag' hierarchical_caption_field='description' sysRecord_masterfield='hierarchical_code' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts' hierarchical='code,description,pkey' order_by='$hierarchical_code' broadcast='parent_id'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) parent_id(*): <size='22' name_long='!![en]Parent id' group='*' onInserting='hierarchical_before' onUpdating='hierarchical_before' onUpdated='hierarchical_after' _sysfield='True' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='htag.id' mode='foreignkey' one_name='!![en]Parent' many_name='!![en]Children' one_group='zzz' many_group='zzz' deferred='True' onDelete='cascade' onUpdate_sql='cascade' relation_name='_children'> 5 - (DbModelSrc) code(*): <tag='column' name_long='!!Code' validate_notnull='True' validate_nodup='True' unmodifable='True'> 6 - (DbModelSrc) hierarchical_code(*): <name_long='!![en]Hierarchical code' unique='True' tag='column'> 7 - (DbModelSrc) _parent_h_code(*): <name_long='!![en]Parent Hierarchical code' group='zzz' _sysfield='True' tag='column'> 8 - (DbModelSrc) description(*): <tag='column' name_long='!!Description' validate_notnull='True'> 9 - (DbModelSrc) hierarchical_description(*): <name_long='!![en]Hierarchical description' unique='False' tag='column'> 10 - (DbModelSrc) _parent_h_description(*): <name_long='!![en]Parent Hierarchical description' group='zzz' _sysfield='True' tag='column'> 11 - (DbModelSrc) hierarchical_pkey(*): <name_long='!![en]Hierarchical pkey' unique='True' group='zzz' _sysfield='True' tag='column'> 12 - (DbModelSrc) _parent_h_pkey(*): <group='zzz' _sysfield='True' tag='column'> 13 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 14 - (DbModelSrc) __syscode(*): <size=':20' name_long='!![en]Internal code' unique='True' indexed='True' group='zzz' _sysfield='True' tag='column'> 15 - (DbModelSrc) isreserved(*): <dtype='B' name_long='!!Reserved' tag='column'> 16 - (DbModelSrc) note(*): <name_long='!!Notes' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) child_count(*): <sql_formula='(SELECT count(*) FROM adm.adm_htag AS children WHERE children.parent_id=#THIS.id)' virtual_column='True' dtype='L' group='*' tag='virtual_column'> 1 - (DbModelSrc) hlevel(*): <sql_formula='length($hierarchical_pkey)-length(replace($hierarchical_pkey,'/',''))+1' virtual_column='True' dtype='A' group='*' tag='virtual_column'> 2 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 5 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 6 - (DbModelSrc) __protected_by_syscode(*): <sql_formula=' ( CASE WHEN $__syscode IS NULL THEN NULL ELSE NOT (',' || :env_userTags || ',' LIKE '%%,'|| :systag || ',%%') END ) ' virtual_column='True' dtype='B' var_systag='superadmin' _sysfield='True' group='zzz' tag='virtual_column'> 10 - (DbModelSrc) htmltemplate(*): <name_long='!!Letterhead' pkey='id' rowcaption='name' pkg='adm' fullname='adm.htmltemplate' name_plural='!!Letterheads' noTestForMerge='True' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts' atc_attachmenttable='adm.htmltemplate_atc'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) name(*): <name_long='!!Name' validate_notnull='True' tag='column'> 6 - (DbModelSrc) username(*): <name_long='!!Username' tag='column'> 7 - (DbModelSrc) version(*): <name_long='!!Version' tag='column'> 8 - (DbModelSrc) type_code(*): <size=':15' name_long='Type' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='letterhead_type.code' mode='foreignkey' onDelete='raise' onUpdate_sql='cascade' relation_name='letterheads'> 9 - (DbModelSrc) data(*): <dtype='X' name_long='!!Data' _sendback='True' tag='column'> 10 - (DbModelSrc) center_height(*): <dtype='I' name_long='!!Center height' tag='column'> 11 - (DbModelSrc) center_width(*): <dtype='I' name_long='!!Center width' tag='column'> 12 - (DbModelSrc) based_on(*): <size='22' name_long='!!Based on' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='htmltemplate.id' mode='foreignkey' one_one='True' deferred='True' onDelete='raise' onUpdate_sql='cascade' relation_name='children'> 13 - (DbModelSrc) next_letterhead_id(*): <size='22' name_long='!!Next letterhead' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='htmltemplate.id' mode='foreignkey' one_one='True' deferred='True' onDelete='raise' onUpdate_sql='cascade' relation_name='previous'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 11 - (DbModelSrc) htmltemplate_atc(*): <pkey='id' pkg='adm' fullname='adm.htmltemplate_atc' tag='table' caption_field='description' rowcaption='$description' name_long='!!Letterhead Attachment' name_plural='!!Letterhead Attachments' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts' counter='maintable_id' order_by='$_row_count'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='Id' group='_' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) _row_count(*): <dtype='L' name_long='!![en]Counter' group='zzz' onInserting='setRowCounter' counter='True' _counter_fkey='maintable_id' _sysfield='True' tag='column'> 5 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 6 - (DbModelSrc) filepath(*): <name_long='!![en]Filepath' onInserting='checkExternalUrl' onDeleted='onDeletedAtc' onInserted='convertDocFile' tag='column'> 7 - (DbModelSrc) external_url(*): <name_long='!![en]External url' tag='column'> 8 - (DbModelSrc) description(*): <name_long='!![en]Description' tag='column'> 9 - (DbModelSrc) mimetype(*): <name_long='!![en]Mimetype' tag='column'> 10 - (DbModelSrc) text_content(*): <name_long='!![en]Content' tag='column'> 11 - (DbModelSrc) info(*): <dtype='X' name_long='!![en]Additional info' tag='column'> 12 - (DbModelSrc) is_foreign_document(*): <dtype='B' name_short='!![en]Ext' name_long='!![en][Is foreign document]' tag='column'> 13 - (DbModelSrc) maintable_id(*): <size='22' name_long='htmltemplate' group='*' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='adm.htmltemplate.id' mode='foreignkey' one_group='_' many_group='_' deferred='True' onDelete='cascade' onUpdate_sql='cascade' onDelete_sql='cascade' relation_name='atc_attachments' onDuplicate='False'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) adapted_url(*): <sql_formula='CASE WHEN position('\:' in $filepath)>0 THEN '/'||$filepath ELSE '/_vol/' || $filepath END' virtual_column='True' dtype='A' group='_' tag='virtual_column'> 5 - (DbModelSrc) fileurl(*): <sql_formula='COALESCE($external_url,$adapted_url)' virtual_column='True' dtype='A' name_long='Fileurl' tag='virtual_column'> 12 - (DbModelSrc) install_checklist(*): <name_long='!!Install checklist' pkey='__syscode' pkg='adm' fullname='adm.install_checklist' name_plural='!!Install checklist' caption_field='description' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 2 - (DbModelSrc) __syscode(*): <size=':20' name_long='!![en]Internal code' unique='True' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) name(*): <name_long='!!Name' tag='column'> 4 - (DbModelSrc) description(*): <name_long='!!Description' tag='column'> 5 - (DbModelSrc) pkg(*): <size=':20' name_long='!!Package' tag='column'> 6 - (DbModelSrc) checked(*): <dtype='B' name_long='!!Checked' tag='column'> 7 - (DbModelSrc) check_ts(*): <dtype='DH' name_long='!!Check ts' tag='column'> 8 - (DbModelSrc) check_user(*): <size=':30' name_long='!!Check user' tag='column'> 9 - (DbModelSrc) annotations(*): <name_long='!!Annotations' tag='column'> 10 - (DbModelSrc) doc_url(*): <name_short='!!Url' name_long='!!Documentation url' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) __protected_by_syscode(*): <sql_formula=' ( CASE WHEN $__syscode IS NULL THEN NULL ELSE NOT (',' || :env_userTags || ',' LIKE '%%,'|| :systag || ',%%') END ) ' virtual_column='True' dtype='B' var_systag='superadmin' _sysfield='True' group='zzz' tag='virtual_column'> 13 - (DbModelSrc) language(*): <name_long='Language' pkey='code' pkg='adm' fullname='adm.language' name_plural='!!Languages' lookup='True' caption_field='name' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts' counter='True' order_by='$_row_count'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) _row_count(*): <dtype='L' name_long='!![en]Counter' group='zzz' onInserting='setRowCounter' counter='True' _counter_fkey='True' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) code(*): <size=':2' name_long='!!Code' tag='column'> 6 - (DbModelSrc) name(*): <name_long='!!Name' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 14 - (DbModelSrc) letterhead_type(*): <name_long='Letterhead type' pkey='code' pkg='adm' fullname='adm.letterhead_type' name_plural='Letterhead types' lookup='True' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 4 - (DbModelSrc) code(*): <size=':15' name_long='!!Code' unique='True' indexed='True' validate_notnull='Required' tag='column'> 5 - (DbModelSrc) description(*): <name_long='!!Description' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 15 - (DbModelSrc) menu(*): <name_long='!!Menu Directory' pkey='id' rowcaption='$hierarchical_label' pkg='adm' fullname='adm.menu' name_plural='!!Menu Directories' caption_field='hierarchical_label' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts' hierarchical='label,pkey' broadcast='parent_id' counter='True' order_by='$_h_sortcol'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) parent_id(*): <size='22' name_long='!![en]Parent id' group='*' onInserting='hierarchical_before' onUpdating='hierarchical_before' onUpdated='hierarchical_after' _sysfield='True' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='menu.id' mode='foreignkey' one_name='!![en]Parent' many_name='!![en]Children' one_group='zzz' many_group='zzz' deferred='True' onDelete='cascade' onUpdate_sql='cascade' relation_name='_children'> 5 - (DbModelSrc) label(*): <tag='column' name_long='!!Label'> 6 - (DbModelSrc) hierarchical_label(*): <name_long='!![en]Hierarchical label' unique='False' tag='column'> 7 - (DbModelSrc) _parent_h_label(*): <name_long='!![en]Parent Hierarchical label' group='zzz' _sysfield='True' tag='column'> 8 - (DbModelSrc) hierarchical_pkey(*): <name_long='!![en]Hierarchical pkey' unique='True' group='zzz' _sysfield='True' tag='column'> 9 - (DbModelSrc) _parent_h_pkey(*): <group='zzz' _sysfield='True' tag='column'> 10 - (DbModelSrc) _h_count(*): <group='zzz' _sysfield='True' tag='column'> 11 - (DbModelSrc) _parent_h_count(*): <group='zzz' _sysfield='True' tag='column'> 12 - (DbModelSrc) _row_count(*): <dtype='L' name_long='!![en]Counter' group='zzz' counter='True' _sysfield='True' tag='column'> 13 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 14 - (DbModelSrc) tags(*): <name_long='!!Tags' tag='column'> 15 - (DbModelSrc) summary(*): <name_long='!!Summary' tag='column'> 16 - (DbModelSrc) ts_import(*): <dtype='DH' tag='column'> 17 - (DbModelSrc) page_id(*): <size='22' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='menu_page.id' mode='foreignkey' onUpdate_sql='cascade' relation_name='links'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) child_count(*): <sql_formula='(SELECT count(*) FROM adm.adm_menu AS children WHERE children.parent_id=#THIS.id)' virtual_column='True' dtype='L' group='*' tag='virtual_column'> 1 - (DbModelSrc) hlevel(*): <sql_formula='length($hierarchical_pkey)-length(replace($hierarchical_pkey,'/',''))+1' virtual_column='True' dtype='A' group='*' tag='virtual_column'> 2 - (DbModelSrc) _h_sortcol(*): <sql_formula=' COALESCE($_h_count,$label) ' virtual_column='True' dtype='A' _sysfield='True' group='zzz' tag='virtual_column'> 3 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 5 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 6 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 7 - (DbModelSrc) page_label(*): <relation_path='@page_id.label' virtual_column='True' tag='virtual_column'> 8 - (DbModelSrc) page_filepath(*): <relation_path='@page_id.filepath' virtual_column='True' tag='virtual_column'> 9 - (DbModelSrc) page_tbl(*): <relation_path='@page_id.tbl' virtual_column='True' tag='virtual_column'> 10 - (DbModelSrc) page_metadata(*): <relation_path='@page_id.metadata' virtual_column='True' tag='virtual_column'> 16 - (DbModelSrc) menu_page(*): <name_long='!!Menu Page' pkey='id' rowcaption='$label' pkg='adm' fullname='adm.menu_page' name_plural='!!Menu Pages' caption_field='label' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) label(*): <name_long='!!Label' tag='column'> 6 - (DbModelSrc) filepath(*): <name_long='!!Filepath' tag='column'> 7 - (DbModelSrc) tbl(*): <name_long='!!Table' tag='column'> 8 - (DbModelSrc) pkg(*): <name_long='!!Package' tag='column'> 9 - (DbModelSrc) metadata(*): <name_long='!!Metadata' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 17 - (DbModelSrc) notification(*): <name_long='!!Notification' pkey='id' pkg='adm' fullname='adm.notification' name_plural='!!Notifications' caption_field='title' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) title(*): <name_long='!!Title' tag='column'> 6 - (DbModelSrc) template(*): <dtype='X' name_long='!!Template' tag='column'> 7 - (DbModelSrc) confirm_label(*): <name_long='!!Confirm label' tag='column'> 8 - (DbModelSrc) tag_rule(*): <name_long='!!Tag rule' tag='column'> 9 - (DbModelSrc) all_users(*): <dtype='B' name_long='!!For all users' tag='column'> 10 - (DbModelSrc) letterhead_id(*): <size='22' name_long='!!Letterhead' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='htmltemplate.id' mode='foreignkey' onUpdate_sql='cascade' relation_name='notifications'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) existing_for_current_user(*): <sql_formula=' (EXISTS(SELECT * FROM adm.adm_user_notification AS un WHERE un.user_id=:env_user_id AND un.notification_id=#THIS.id)) ' virtual_column='True' dtype='B' tag='virtual_column'> 18 - (DbModelSrc) pkginfo(*): <name_long='!!Package info' pkey='pkgid' pkg='adm' fullname='adm.pkginfo' name_plural='!!Package info' caption_field='pkgid' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 4 - (DbModelSrc) pkgid(*): <size=':50' name_long='!!Package' tag='column'> 5 - (DbModelSrc) prj(*): <size=':50' name_long='!!Project' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 19 - (DbModelSrc) preference(*): <name_long='!!Preference' pkey='code' pkg='adm' fullname='adm.preference' name_plural='!!Preference' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 4 - (DbModelSrc) code(*): <size='12' name_long='!!Code' tag='column'> 5 - (DbModelSrc) data(*): <dtype='X' name_long='!!Data' _sendback='True' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 20 - (DbModelSrc) record_tag(*): <name_long='!!Table tag' pkey='id' pkg='adm' fullname='adm.record_tag' name_plural='!!Table tags' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) tablename(*): <name_long='!!Table name' tag='column'> 6 - (DbModelSrc) tag(*): <name_long='!!Tag' tag='column'> 7 - (DbModelSrc) description(*): <name_long='!!Description' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 21 - (DbModelSrc) sent_email(*): <name_long='Sent email' pkey='id' pkg='adm' fullname='adm.sent_email' name_plural='!!Sent email' caption_field='batch_key' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) code(*): <name_long='!!Code' tag='column'> 6 - (DbModelSrc) tbl(*): <name_long='!!Table' tag='column'> 7 - (DbModelSrc) mail_address(*): <name_long='!!Email address' tag='column'> 8 - (DbModelSrc) sent_ts(*): <dtype='DH' name_long='!!Sent ts' tag='column'> 9 - (DbModelSrc) record_id(*): <name_long='Record id' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 22 - (DbModelSrc) served_page(*): <name_long='!!Served page' pkey='page_id' pkg='adm' fullname='adm.served_page' name_plural='!!Served pages' checkpref='adm.dev.connection_log_enabled' tag='table'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) page_id(*): <size='22' name_long='!!Page id' tag='column'> 1 - (DbModelSrc) pagename(*): <name_long='!!Page name' tag='column'> 2 - (DbModelSrc) connection_id(*): <size='22' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='connection.id' mode='foreignkey' onDelete='cascade' onUpdate_sql='cascade' relation_name='pages'> 3 - (DbModelSrc) start_ts(*): <dtype='DH' name_long='!!Start ts' tag='column'> 4 - (DbModelSrc) end_ts(*): <dtype='DH' name_long='!!End ts' tag='column'> 5 - (DbModelSrc) end_reason(*): <size=':12' name_long='!!End Reason' tag='column'> 23 - (DbModelSrc) shortcut(*): <name_long='!!Shortcut' pkey='keycode' pkg='adm' fullname='adm.shortcut' name_plural='!!Shortcuts' caption_field='phrase' lookup='True' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts' counter='True' order_by='$_row_count'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) _row_count(*): <dtype='L' name_long='!![en]Counter' group='zzz' onInserting='setRowCounter' counter='True' _counter_fkey='True' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) keycode(*): <size=':10' name_long='!!Key' tag='column'> 6 - (DbModelSrc) phrase(*): <name_long='!!Phrase' tag='column'> 7 - (DbModelSrc) groupcode(*): <size=':20' name_long='!!Group' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 24 - (DbModelSrc) tblinfo(*): <name_long='!!Table Info' pkey='tblid' pkg='adm' fullname='adm.tblinfo' name_plural='!!Table info' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 4 - (DbModelSrc) tblid(*): <size=':50' name_long='!!Table' tag='column'> 5 - (DbModelSrc) pkgid(*): <size=':50' name_long='!!Package' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='pkginfo.pkgid' mode='relation' onUpdate_sql='cascade' relation_name='tables'> 6 - (DbModelSrc) description(*): <size=':50' name_long='!!Description' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 25 - (DbModelSrc) tblinfo_item(*): <name_long='!!Tblinfo item' pkey='info_key' pkg='adm' fullname='adm.tblinfo_item' pkey_columns='tblid,item_type,code' pkey_columns_joiner='/' name_plural='!!Tblinfo items' caption_field='description' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 4 - (DbModelSrc) info_key(*): <size=':50' name_long='!!Info key' indexed='y' readOnly='y' _sysfield='True' tag='column'> 5 - (DbModelSrc) code(*): <size=':50' name_long='!!Code' _sysfield='True' tag='column'> 6 - (DbModelSrc) description(*): <size=':50' name_long='!!Description' _sysfield='True' tag='column'> 7 - (DbModelSrc) item_type(*): <size=':5' name_long='!!Type' values='QTREE:Quick tree,FTREE:Full tree' tag='column'> 8 - (DbModelSrc) data(*): <dtype='X' name_long='!!Data' _sendback='True' tag='column'> 9 - (DbModelSrc) tblid(*): <size=':50' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='tblinfo.tblid' mode='foreignkey' onDelete='cascade' onUpdate_sql='cascade' relation_name='items'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 26 - (DbModelSrc) user(*): <name_long='!!User' pkey='id' rowcaption='username,email:%s (%s)' pkg='adm' fullname='adm.user' caption_field='username' tabletype='main' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='Id' group='_' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __rec_md5(*): <name_long='!![en]Update date' group='zzz' onInserting='setRecordMd5' onUpdating='setRecordMd5' _sysfield='True' tag='column'> 5 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 6 - (DbModelSrc) username(*): <size=':32' name_long='!!Username' unique='y' indexed='y' _sendback='True' validate_notnull='True' validate_notnull_error='!!Mandatory field' unmodifiable='True' tag='column'> 7 - (DbModelSrc) email(*): <name_long='Email' validate_notnull='True' validate_notnull_error='!!Mandatory field' tag='column'> 8 - (DbModelSrc) mobile(*): <name_long='Mobile' tag='column'> 9 - (DbModelSrc) firstname(*): <name_long='!!First name' validate_notnull='True' validate_case='c' validate_notnull_error='!!Mandatory field' tag='column'> 10 - (DbModelSrc) lastname(*): <name_long='!!Last name' validate_notnull='True' validate_case='c' validate_notnull_error='!!Mandatory field' tag='column'> 11 - (DbModelSrc) registration_date(*): <dtype='D' name_long='!!Registration Date' tag='column'> 12 - (DbModelSrc) auth_tags(*): <name_long='!!Authorization Tags' tag='column'> 13 - (DbModelSrc) status(*): <size=':4' name_long='!!Status' values='new:New,wait:Waiting,conf:Confirmed,bann:Banned' _sendback='True' tag='column'> 14 - (DbModelSrc) md5pwd(*): <size=':65' name_long='!!PasswordMD5' tag='column'> 15 - (DbModelSrc) locale(*): <size=':12' name_long='!!Default Language' tag='column'> 16 - (DbModelSrc) preferences(*): <dtype='X' name_long='!!Preferences' tag='column'> 17 - (DbModelSrc) menu_root_id(*): <size='22' tag='column'> 18 - (DbModelSrc) avatar_rootpage(*): <name_long='!!Root Page' tag='column'> 19 - (DbModelSrc) sms_login(*): <dtype='B' name_long='!!Sms login' tag='column'> 20 - (DbModelSrc) sms_number(*): <name_long='!!Sms Number' tag='column'> 21 - (DbModelSrc) group_code(*): <size=':15' name_long='!!Group' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='group.code' mode='foreignkey' onUpdate_sql='cascade' relation_name='users'> 22 - (DbModelSrc) custom_menu(*): <dtype='X' name_long='!!Custom menu' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) all_tags(*): <py_method='pyColumn_all_tags' virtual_column='True' name_long='All tags' dtype='A' tag='virtual_column'> 5 - (DbModelSrc) fullname(*): <sql_formula='$firstname||' '||$lastname' virtual_column='True' dtype='A' name_long='!!Name' tag='virtual_column'> 27 - (DbModelSrc) user_access_group(*): <name_long='!!User access' pkey='id' pkg='adm' fullname='adm.user_access_group' name_plural='!!User access' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) user_id(*): <size='22' name_long='!!User' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='user.id' mode='foreignkey' onDelete='cascade' onUpdate_sql='cascade' relation_name='access_groups'> 6 - (DbModelSrc) access_group_code(*): <size=':10' name_long='!!Access group' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='access_group.code' mode='foreignkey' onDelete='cascade' onUpdate_sql='cascade' relation_name='access_users'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 28 - (DbModelSrc) user_config(*): <name_long='!!User config' pkey='ruleid' pkg='adm' fullname='adm.user_config' name_plural='!!User config' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 1 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 2 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 3 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 4 - (DbModelSrc) ruleid(*): <size=':80' tag='column'> 5 - (DbModelSrc) user_group(*): <size=':15' name_long='!!Group' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='group.code' mode='foreignkey' onUpdate_sql='cascade' relation_name='custom_info'> 6 - (DbModelSrc) username(*): <size=':32' name_long='!!User' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='user.username' mode='relation' onDelete='cascade' onUpdate_sql='cascade' relation_name='custom_info'> 7 - (DbModelSrc) pkgid(*): <size=':50' name_long='!!Pkg' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='pkginfo.pkgid' mode='foreignkey' onUpdate_sql='cascade' relation_name='rules'> 8 - (DbModelSrc) tblid(*): <size=':50' name_long='!!Tbl' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='tblinfo.tblid' mode='foreignkey' onUpdate_sql='cascade' relation_name='rules'> 9 - (DbModelSrc) data(*): <dtype='X' name_long='!!Data' _sendback='True' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) calc_pkgid(*): <sql_formula='CASE WHEN $pkgid IS NOT NULL THEN $pkgid WHEN $tblid IS NOT NULL THEN split_part($tblid,'.',1) ELSE NULL END' virtual_column='True' dtype='A' tag='virtual_column'> 5 - (DbModelSrc) rank(*): <sql_formula='CAST(($tblid IS NOT NULL) AS int)*8+ CAST(($pkgid IS NOT NULL) AS int)*2+ CAST(($username IS NOT NULL) AS int)*4+ CAST(($user_group IS NOT NULL) AS int)*1' virtual_column='True' dtype='L' tag='virtual_column'> 29 - (DbModelSrc) user_notification(*): <name_long='User notification' pkey='id' pkg='adm' fullname='adm.user_notification' name_plural='!!User notifications' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) user_id(*): <size='22' name_long='!!User' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='user.id' mode='foreignkey' onDelete='cascade' onUpdate_sql='cascade' relation_name='user_notifications'> 6 - (DbModelSrc) notification_id(*): <size='22' name_long='!!User' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='notification.id' mode='foreignkey' onDelete='cascade' onUpdate_sql='cascade' relation_name='notification_users'> 7 - (DbModelSrc) confirmed(*): <dtype='B' name_long='!!Confirmed' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 30 - (DbModelSrc) user_tag(*): <name_long='!!User tag' pkey='id' pkg='adm' fullname='adm.user_tag' name_plural='!!User tags' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) group_code(*): <size=':15' name_long='!!Group' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='group.code' mode='foreignkey' onDelete='cascade' onUpdate_sql='cascade' relation_name='tags'> 6 - (DbModelSrc) user_id(*): <size='22' name_long='User' group='_' _sendback='True' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='user.id' mode='foreignkey' onDelete='cascade' onUpdate_sql='cascade' relation_name='tags'> 7 - (DbModelSrc) tag_id(*): <size='22' name_long='Tag id' group='_' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='htag.id' mode='foreignkey' onDelete='cascade' onUpdate_sql='cascade' relation_name='users'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) user(*): <relation_path='@user_id.username' virtual_column='True' tag='virtual_column'> 5 - (DbModelSrc) fullname(*): <relation_path='@user_id.fullname' virtual_column='True' tag='virtual_column'> 6 - (DbModelSrc) email(*): <relation_path='@user_id.email' virtual_column='True' tag='virtual_column'> 7 - (DbModelSrc) tag_code(*): <relation_path='@tag_id.hierarchical_code' virtual_column='True' tag='virtual_column'> 8 - (DbModelSrc) tag_description(*): <relation_path='@tag_id.description' virtual_column='True' tag='virtual_column'> 9 - (DbModelSrc) tag_note(*): <relation_path='@tag_id.note' virtual_column='True' tag='virtual_column'> 10 - (DbModelSrc) user_or_group(*): <sql_formula='COALESCE($user,$group_code)' virtual_column='True' dtype='A' tag='virtual_column'> 31 - (DbModelSrc) userobject(*): <name_long='!![en]User Object' pkey='id' rowcaption='$code,$objtype' pkg='adm' fullname='adm.userobject' name_plural='!![en]User Objects' broadcast='objtype' tag='table' group_zzz='!![en]System' logicalDeletionField='__del_ts' lastTS='__mod_ts'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) id(*): <size='22' name_long='!![en]Id' group='zzz' readOnly='y' _sendback='True' _sysfield='True' tag='column'> 1 - (DbModelSrc) __ins_ts(*): <dtype='DH' name_long='!![en]Insert date' indexed='True' group='zzz' onInserting='setTSNow' _sysfield='True' tag='column'> 2 - (DbModelSrc) __del_ts(*): <dtype='DH' name_long='!![en]Logical delete date' indexed='True' group='zzz' _sysfield='True' tag='column'> 3 - (DbModelSrc) __mod_ts(*): <dtype='DH' name_long='!![en]Update date' indexed='True' group='zzz' onInserting='setTSNow' onUpdating='setTSNow' _sysfield='True' tag='column'> 4 - (DbModelSrc) __ins_user(*): <name_long='!![en]User Insert' group='zzz' onInserting='setCurrentUser' _sysfield='True' tag='column'> 5 - (DbModelSrc) identifier(*): <size=':120' unique='True' indexed='True' sql_value='COALESCE(:tbl,:pkg,'')||:objtype||:code|| CASE WHEN :private THEN :userid ELSE '' END' tag='column'> 6 - (DbModelSrc) code(*): <size=':40' name_long='!![en]Code' indexed='y' tag='column'> 7 - (DbModelSrc) objtype(*): <size=':20' name_long='!![en]Object Type' indexed='y' tag='column'> 8 - (DbModelSrc) pkg(*): <size=':50' name_long='!![en]Package' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='pkginfo.pkgid' mode='relation' onUpdate_sql='cascade' relation_name='objects'> 9 - (DbModelSrc) tbl(*): <size=':50' name_long='!![en]Table' tag='column'> 0 - (DbModelSrc) relation(*): <related_column='tblinfo.tblid' mode='relation' onUpdate_sql='cascade' relation_name='objects'> 10 - (DbModelSrc) userid(*): <size=':50' name_long='!![en]User ID' indexed='y' tag='column'> 11 - (DbModelSrc) description(*): <size=':50' name_long='!![en]Description' indexed='y' tag='column'> 12 - (DbModelSrc) notes(*): <dtype='T' name_long='!![en]Notes' tag='column'> 13 - (DbModelSrc) data(*): <dtype='X' name_long='!![en]Data' tag='column'> 14 - (DbModelSrc) authtags(*): <dtype='T' name_long='!![en]Auth tags' tag='column'> 15 - (DbModelSrc) private(*): <dtype='B' name_long='!![en]Private' tag='column'> 16 - (DbModelSrc) quicklist(*): <dtype='B' name_long='!![en]Quicklist' tag='column'> 17 - (DbModelSrc) flags(*): <dtype='T' name_long='!![en]Flags' tag='column'> 18 - (DbModelSrc) required_pkg(*): <name_long='!![en]Required pkg' tag='column'> 19 - (DbModelSrc) preview(*): <name_long='!![en][it]Preview' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) __protecting_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Protecting reasons' _sysfield='True' tag='virtual_column'> 1 - (DbModelSrc) __is_protected_row(*): <sql_formula='$__protecting_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Row Protected' _sysfield='True' tag='virtual_column'> 2 - (DbModelSrc) __invalid_reasons(*): <sql_formula='True' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid reasons' _sysfield='True' tag='virtual_column'> 3 - (DbModelSrc) __is_invalid_row(*): <sql_formula='$__invalid_reasons!=''' virtual_column='True' dtype='A' group='zzz' name_long='!![en]Invalid row' _sysfield='True' tag='virtual_column'> 4 - (DbModelSrc) system_userobject(*): <sql_formula='$code LIKE :scode' virtual_column='True' dtype='B' var_scode='\_\_%%' tag='virtual_column'> 5 - (DbModelSrc) resource_status(*): <py_method='pyColumn_resource_status' virtual_column='True' name_long='!![en]Resources' required_columns='$data' tag='virtual_column'> 32 - (DbModelSrc) week(*): <name_long='!![en]Week' pkey='start_date' pkg='adm' fullname='adm.week' name_plural='!![en]Week' caption_field='week' tag='table'> 0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) start_date(*): <dtype='D' name_long='!![en]Start Date' tag='column'> 1 - (DbModelSrc) virtual_columns(*): <tag='virtual_columns_list'> 0 - (DbModelSrc) week(*): <sql_formula='to_char($start_date, 'YYYY-IW')' virtual_column='True' dtype='T' name_long='Week' static='True' tag='virtual_column'> 1 - (DbModelSrc) end_date(*): <sql_formula='$start_date + interval '6 days' ' virtual_column='True' dtype='D' name_long='!![en]End Date' tag='virtual_column'>
user = adm.table('user')
user
<gnr.sql.gnrsqlmodel.DbModelSrc at 0x11229ac80>
pino = adm.table('pino')
print(pino)
pino.column('ciao')
<gnr.sql.gnrsqlmodel.DbModelSrc at 0x10e872f20>
La print degli oggetti descrittivi mostra una Bag degli elementi definiti nella configurazione
print(pino)
0 - (DbModelSrc) columns(*): <tag='column_list'> 0 - (DbModelSrc) ciao(*): <tag='column'>
La seconda componente รจ l'oggetto operativo: obj
obj = model.obj
dir(obj)
['_GnrStructObj__structnode', '__class__', '__contains__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_captureChildren', '_dbroot', '_getMixinObj', '_getMixinPath', '_get_adapter', '_get_dbroot', '_get_metadata', '_get_name_full', '_get_name_long', '_get_name_short', '_get_parent', '_get_root', '_get_sqlname', '_get_structnode', '_htraverse', '_parent', '_set_name_full', '_set_name_long', '_set_name_short', '_set_parent', '_set_structnode', 'adapted_sqlname', 'adapter', 'afterChildrenCreation', 'asBag', 'attributes', 'buildChild', 'buildChildren', 'childalias', 'children', 'db', 'dbroot', 'deleteChild', 'deleteChildren', 'doInit', 'get', 'getAttr', 'getById', 'getItem', 'getResolver', 'getTag', 'id', 'init', 'items', 'keys', 'makeRoot', 'metadata', 'mixin', 'name', 'name_full', 'name_long', 'name_short', 'newChild', 'objclassdict', 'objdict', 'onDelete', 'parent', 'root', 'rootparent', 'sqlclass', 'sqlname', 'structnode', 'values']
obj.keys()
['sys', 'adm', 'glbl', 'sandbox', 'test', 'fatt']
adm_obj = obj['adm']
print(adm_obj)
<gnr.sql.gnrsqlmodel.DbPackageObj object at 0x1128424d0>
dir(adm_obj)
['_GnrStructObj__structnode', '__class__', '__contains__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_captureChildren', '_createStartupData_do', '_dbroot', '_getMixinObj', '_getMixinPath', '_get_adapter', '_get_dbroot', '_get_metadata', '_get_name_full', '_get_name_long', '_get_name_short', '_get_parent', '_get_root', '_get_sqlname', '_get_sqlschema', '_get_structnode', '_get_tables', '_htraverse', '_loadStartupData_do', '_parent', '_set_name_full', '_set_name_long', '_set_name_short', '_set_parent', '_set_structnode', 'adapted_sqlname', 'adapter', 'afterChildrenCreation', 'asBag', 'attributes', 'authenticate', 'buildChild', 'buildChildren', 'childalias', 'children', 'config_attributes', 'config_db', 'createStartupData', 'db', 'dbroot', 'dbtable', 'deleteChild', 'deleteChildren', 'deleteUserObject', 'doInit', 'get', 'getAttr', 'getById', 'getCounter', 'getItem', 'getLastCounterDate', 'getPreference', 'getResolver', 'getTag', 'id', 'init', 'items', 'keys', 'listUserObject', 'loadStartupData', 'loadUserObject', 'loginUrl', 'makeRoot', 'metadata', 'mixin', 'modifyUserUrl', 'name', 'name_full', 'name_long', 'name_short', 'newChild', 'newUserUrl', 'onAuthenticated', 'onAuthentication', 'onDelete', 'onExternalUser', 'parent', 'partitionParameters', 'required_packages', 'root', 'saveUserObject', 'setCounter', 'setPreference', 'sqlclass', 'sqlname', 'sqlschema', 'startupData_tables', 'structnode', 'table', 'tableSqlName', 'tables', 'updateFromExternalDb', 'values']
adm_obj.table('user')
<gnr.sql.gnrsqlmodel.DbTableObj at 0x112878b50>