Считать количество обращений за промежутки времени. (9-12, 12-15, 15-17)
Добрый день!
Создал модальное окно согласно документации. https://community.terrasoft.ru/articles/prosteisee-modalnoe-okno-modalbox.
Проблема заключается в том чтобы в модальном окне создать и заполнить поля. Через БП не получается, так как это страница ни к чему не относиться.
Скрин какой я хочу результат вложен.
Уже как вторую неделю парюсь... Заранее спасибо.
Нравится
Добрый день!
Как вариант, создать представление (пример), которое будет просчитывать и возвращать ваши данные.
На страницу модального окна добавить список (GRID) с отображением данного представления, например:
{
"operation": "insert",
"parentName": "GridLayout",
"propertyName": "items",
"name": "CheckSettingsGrid",
"values": {
"itemType": Terrasoft.ViewItemType.GRID,
"captionsConfig": [ { cols: 18, name: resources.localizableStrings.ParameterGridTitleCaption },
{ cols: 6, name: resources.localizableStrings.ParameterGridValueCaption } ],
"columnsConfig": [ {cols: 18, key: [{ name: { bindTo: "Caption"}}]},
{cols: 6, key: [{ name: { bindTo: "Value"}}]} ],
"collection": {bindTo: "Params"},
"type": "listed",
"id": "connection-parameters-grid-" + Terrasoft.generateGUID(),
"primaryColumnName": "Id",
"listedZebra": true,
"layout": {
"column": 0,
"row": 0,
"colSpan": 16
}
}
},
load: function(esq) {
var grid = this.get("Params");
grid.clear();
esq.getEntityCollection(function(response) {
if (response && response.success) {
var items = response.collection;
grid.loadAll(items);
}
}, this);
}
Добрый день!
Как вариант, создать представление (пример), которое будет просчитывать и возвращать ваши данные.
На страницу модального окна добавить список (GRID) с отображением данного представления, например:
{
"operation": "insert",
"parentName": "GridLayout",
"propertyName": "items",
"name": "CheckSettingsGrid",
"values": {
"itemType": Terrasoft.ViewItemType.GRID,
"captionsConfig": [ { cols: 18, name: resources.localizableStrings.ParameterGridTitleCaption },
{ cols: 6, name: resources.localizableStrings.ParameterGridValueCaption } ],
"columnsConfig": [ {cols: 18, key: [{ name: { bindTo: "Caption"}}]},
{cols: 6, key: [{ name: { bindTo: "Value"}}]} ],
"collection": {bindTo: "Params"},
"type": "listed",
"id": "connection-parameters-grid-" + Terrasoft.generateGUID(),
"primaryColumnName": "Id",
"listedZebra": true,
"layout": {
"column": 0,
"row": 0,
"colSpan": 16
}
}
},
load: function(esq) {
var grid = this.get("Params");
grid.clear();
esq.getEntityCollection(function(response) {
if (response && response.success) {
var items = response.collection;
grid.loadAll(items);
}
}, this);
}
Сидоров Александр В.,
Спасибо за ответ. Возникает ошибка .
"captionsConfig": [ { cols: 18, name: resources.localizableStrings.ParameterGridTitleCaption },
'resources' is not defined.
Насколько я понял тут нужно создать локализованную строку?
Объект создать base. Создал так https://i.imgur.com/qBKUvBy.png
Да, это локализируемые строки, добавляются на страницу в раздел LocalizableStrings. Обеспечивают мультиязычное представление строк (в данном случае - заголовков таблицы).
resources надо объявить как переменная в объявлении страницы.
define("UsrMyModalPage", ["ModalBox", "UsrMyModalPageResources"], function(ModalBox, resources) {По поводу объекта: если вы собираетесь реализовывать представление (view), то в настройках нужно проставить признак "Представление в базе данные" и создать view в самой базе.
Иначе это у вас будет просто таблица в базе, которую надо как то заполнять перед отображением страницы.
Прошу прощения объект создал. Не совсем понял как это реализовывается и отображается в модальном окне.
С какими полями объект создавать? И как будет наполнятся.
Вот код модального окна.
Сидоров Александр В.
Прошу прощения объект создал. Не совсем понял как это реализовывается и отображается в модальном окне.
С какими полями объект создавать? И как будет наполнятся.
Вот код модального окна.
У вас на странице должна отображаться таблица.
Колонки таблицы - поля объекта. Т.е. нужны поля:
1) Дата - текстовое, если вам нужна информация в виде [Название дня недели] + [Дата]. Либо тип дата, если нужна только дата
2) Период 1 - тип числовой. Кол-во обращений за период 9:00-12:00
...
5) Период 4 - тип числовой. Кол-во обращений за период 18:00-20:00
Записи таблицы - значения объекта.
Далее нужно определиться как заполнять данный объект:
1) Если это реальный объект (т.е. таблица в базе данных), то нужно предусмотреть процедуру заполнения этой таблицы. Либо заполнять перед открытием страницы, либо предусмотреть периодический процесс, который будет добавлять запись в таблицу (например в 9:00, 12:00, ..., 20:00 каждый день)
2) Если это представление в базе данных - то этот объект физически в базе не хранится. Но есть представление (view), со списком колонок, аналогичному списку полей в вашем объекте. И в этом представлении прописана логика в виде SQL скрипта, которая налету рассчитывает и возвращает записи вашего объекта (за последние N дней).