Считать количество обращений за промежутки времени. (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 дней).