Хочу поделиться небольшой страничкой, которая может принести немного пользы :)
Для версии 5.х. Можно при желании переделать на 7.х
Суть - выполнение SQL запросов и просмотр их результата (SELECT).
Будет полезна при отладке на ondemand.
Ничего фантастического - просто выполнение custom query. Собственно, умеет всё то, что умеет CQ.
Для использования - импортировать схему и опубликовать. Если нужно видеть, сколько строк изменено запросами INSERT, UPDATE, DELETE, то можно модифицировать код следующим образом:
using (DBExecutor dbExecutor = UserConnection.EnsureDBConnection())
{
var dr = resultQuery.Execute(dbExecutor);
Page.HtmlOutput.InsertTextAsSource("Rows affected: " + dr + "\n");
}
Получается HTML таблица, которую можно скопировать и вставить в Excel.
Дополнительно, результат выборки пишет в формате csv на дополнительной вкладке.
Да, прошу прощения, не указал, что для 5.х. Постараюсь найти время и переделать под 7.х.
Сейчас попробовал импортировать в 7.5 - с первой попытки выдало ошибку, со второй импортировалось без проблем. Вот на всякий случай схема, экспортированная уже из 7.5:
Евгений, не помешала бы кнопка очистить результаты :wink:
Ctl+A, Delete :smile:
На самом деле, не стал сильно мудрить - в конце концов это просто вспомогательный костыль.
Интересная штука. Жаль что при загрузке в 7.3 ругается на несоответствие версии приложения. Как это можно поправить ?
Павел, пробовали ещё раз импортировать схему? У меня тоже при первой попытке ругалось на разные версии, но со второго раза получилось.
Евгений, пробовал несколько раз в разные пакеты импортировать- без результата.
На 7.6 успешно импортировалось с первого раза и заработало.
Спасибо.
У меня также на 7,6 заработало с первого раза. Спасибо:smile:
Евгений, подскажите пожалуйста, как вызвать показ вашей страницы вне раздела "Управление конфигурацией", т.е. например из бизнес-процесса или из кода замещающей страницы по клику кнопки.
Евгений, я не пробовал, но возможно вам поможет этот код (из LookupSection.js)
/** * Открывает наполение справочника в старом интерфейсе. * @protected * @virtual * @param {String} sysLookup Уникальный идентификатор справочника в старом интерфейсе. */ openOldLookupConfiguration: function(sysLookup) { var sysLookupValue = (sysLookup && sysLookup.value) || sysLookup; var entitySchemaQuery = Ext.create("Terrasoft.EntitySchemaQuery", { rootSchemaName: "SysLookup" }); entitySchemaQuery.addColumn("Id"); entitySchemaQuery.addColumn("SysEditPageSchemaUId"); entitySchemaQuery.addColumn("SysEntitySchemaUId"); entitySchemaQuery.addColumn("SysGridPageSchemaUId"); entitySchemaQuery.getEntity(sysLookupValue, function(result) { if (result.success) { var entity = result.entity; var sysGridPageSchemaUId = entity.get("SysGridPageSchemaUId"); var parameters = { editMode: "true" }; if (!Ext.isEmpty(sysGridPageSchemaUId)) { Ext.apply(parameters, { Id: sysGridPageSchemaUId }); } else { var sysEditPageSchemaUId = entity.get("SysEntitySchemaUId"); Ext.apply(parameters, { Id: "33cc4a3a-babb-464d-82a0-1b904d198d31", schemaUId: sysEditPageSchemaUId }); } var parameterString = []; Terrasoft.each(parameters, function(parameterValue, parameterName) { parameterString.push(Ext.String.format("{0}={1}", parameterName, parameterValue)); }, this); var url = this.Terrasoft.workspaceBaseUrl + "/ViewPage.aspx?" + parameterString.join("&"); var windowParams = "resizable,width=600,width=400"; window.open(url, "_blank", windowParams); } }, this); },
Версия 7.7.
Импортировать схему из файла не получилось - "Невозможно сохранить изменения элемента "Мой_пакет", так как он создан сторонним издателем или установлен из файлового архива".
Переписал ручками, но в процессе есть параметры HtmlRequred и HtmlEnd, которые хранят константу. Попытался провалиться, но увы - ошибка при нажатии на "ПАРАМЕТР". Подскажите как победить?