Вопрос

Как отключить Trace для всех БП сразу?

Как отключить Trace для всех БП сразу?

Нравится

1 комментарий
Лучший ответ

Олег, эта информация хранится в записи о процессе в таблице SysProcessData в одном из параметров конфига в поле PropertiesData, если привести его значение к текстовому виду.

Если посмотреть, какие запросы уходят на сервер при включении или выключении свойства, можно увидеть, что идёт POST к /0/DataService/json/SyncReply/SetUserPropertyRequest с параметрами:

{
   "contractName":"SetUserPropertyRequest",
   "schemaId":"d11657e2-a1ee-4546-966e-155f189ca214",
   "propertyName":"IsTracing",
   "propertyValue":false,
   "managerName":"ProcessSchemaManager"
}

Для включения, соответственно, true.

В клиентском коде в схеме BaseVwProcessLibPageV2 с ним взаимодействуют так:

 * @param callback
 * @param scope
 * @private
 */
_saveIsTracing: function(callback, scope) {
	if (this.isAttributeChanged("IsTracing")) {
		Terrasoft.SysUserPropertyHelper.setProperty({
			schemaId: this.get("VersionParentId"),
			propertyName: "IsTracing",
			propertyValue: this.get("IsTracing"),
			managerName: "ProcessSchemaManager"
		}, function(response) {
			if (!response.success) {
				const message = this.get("Resources.Strings.TracingSaveException");
				Terrasoft.showInformation(message);
			}
			Ext.callback(callback, scope);
		}, this);
	} else {
		Ext.callback(callback, scope);
	}
},

Для чтения см. там же функцию initTracingAttribute.

Колонка VersionParentId — в объекте VwProcessLib.

То есть можно перебрать все процессы и по каждому запустить такое.

Также в базе свойство доступно в таблице SysSchemaUserProperty, как описано тут.

Олег, эта информация хранится в записи о процессе в таблице SysProcessData в одном из параметров конфига в поле PropertiesData, если привести его значение к текстовому виду.

Если посмотреть, какие запросы уходят на сервер при включении или выключении свойства, можно увидеть, что идёт POST к /0/DataService/json/SyncReply/SetUserPropertyRequest с параметрами:

{
   "contractName":"SetUserPropertyRequest",
   "schemaId":"d11657e2-a1ee-4546-966e-155f189ca214",
   "propertyName":"IsTracing",
   "propertyValue":false,
   "managerName":"ProcessSchemaManager"
}

Для включения, соответственно, true.

В клиентском коде в схеме BaseVwProcessLibPageV2 с ним взаимодействуют так:

 * @param callback
 * @param scope
 * @private
 */
_saveIsTracing: function(callback, scope) {
	if (this.isAttributeChanged("IsTracing")) {
		Terrasoft.SysUserPropertyHelper.setProperty({
			schemaId: this.get("VersionParentId"),
			propertyName: "IsTracing",
			propertyValue: this.get("IsTracing"),
			managerName: "ProcessSchemaManager"
		}, function(response) {
			if (!response.success) {
				const message = this.get("Resources.Strings.TracingSaveException");
				Terrasoft.showInformation(message);
			}
			Ext.callback(callback, scope);
		}, this);
	} else {
		Ext.callback(callback, scope);
	}
},

Для чтения см. там же функцию initTracingAttribute.

Колонка VersionParentId — в объекте VwProcessLib.

То есть можно перебрать все процессы и по каждому запустить такое.

Также в базе свойство доступно в таблице SysSchemaUserProperty, как описано тут.

Показать все комментарии