Выполнить запрос на выборку без доступа к базе данных, из консоли браузера
Кейс
Очень часто при решении разного рода проблем, связанных с бизнес-логикой, приходится сталкиваться с задачей получения значений разного рода таблиц. Некоторые данные можно вывести в реестр, но не все.
Цель
Мгновенно получить необходимую выборку данных, имея перед глазами только сайт с открытой консолью браузера.
Выполнение
Пример скрипта ниже выведет в консоли браузера все идентификаторы статусов лида, а также их названия:
var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", { rootSchemaName: "LeadStatus" }); esq.addColumn("Id"); esq.addColumn("Name"); esq.getEntityCollection(function(result){ if (result.success) { result.collection.each(function(item) { console.log(item.get("Id")+ ' -' + item.get("Name")); }); } }, this);
LeadStatus - название объекта (таблицы), запрос на выборку из которой предполагается выполнить.
esq.addColumn("Id"); esq.addColumn("Name") - добавление определенных колонок в запрос.
console.log(item.get("Id")+ ' - ' + item.get("Name")) - вывод в консоль браузера результирующей информации и ее форматирование
Пример запроса с параметром фильтрации:
var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", { rootSchemaName: "Product" }); esq.addColumn("TradeMark"); esq.addColumn("Usrrazdkat02"); var esqFilter = esq.createColumnFilterWithParameter(this.Terrasoft.ComparisonType.EQUAL, "Name", "133.024"); esq.filters.add(esqFilter); esq.getEntityCollection(function(result) { if (result.success) { result.collection.each(function(item) { console.log(item.get("TradeMark")+ ' - ' + item.get("Usrrazdkat02")); }); } }, this);