|
|
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
spП-Л, Shr , Чего там сложного - имея описания таблиц, связей, процедур, индексов - на основании этих данных уже можно автоматически генерить простые вью, которые на клиенте в соответствующем фреймворке MV* уже будут отреендерены. Для кастомизации форм достаточно лишь незначительных изменений Ничего особенно сложного тут нет - нужно время просто привести все это до кучи в мозгу сесть и написать) Категорически не согласен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 11:20 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
П-Л, а вы и не соглашайтесь! прочтите сначала что люди до вас поизобретали, а потом можно и окончательно не соглашаться :) Я думаю тут Vipros мог бы вам оппонировать - у него давно свой фреймворк разработан именно на метамоделях - там весь интерфейс генерируется автоматически на основе метаописания базы данных + некоторые параметры настройки - поищите юзера такого у него в постах полно сложных форм в картинках из его фреймворка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 11:53 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
Метаописания Випроса - это как раз та очень существенная информация, которая может держать реальные сложные модели, используемые на практике. Я против вашего тезиса, что разработать подобное можно легко и быстро. Я против вашего тезиса, что по реляционной БД, используя стандартные словари реляционых СУБД (типа INFORMATION_SCHEMA.*) можно автоматически построить интерфейс, годный для практического применения. Это может сработать только на простых, учебных проектах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 12:05 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
spимея описания таблиц, связей, процедур, индексов - на основании этих данных уже можно автоматически генерить простые вью, которые на клиенте в соответствующем фреймворке MV* уже будут отреендерены. Для кастомизации форм достаточно лишь незначительных измененийС таким подходом получается интерфейс, один в один отображающий физическую модель представления данных. Для работы пользователей он непригоден. Точнее, пригоден только для заполнения простых справочников. П-ЛТС, можете показать принтскрины конечных пользовательских форм и на пальцах пояснить как они были сконфигурированы (настроены) Скрин прикладываю. Вкладка "Цели департамента". Конфигурация - форма, на ней одна панель с направлением вывода "сверху вниз". На панели два блока с курсорами. У первой описаны параметры процедуры (они выводятся под иконками действий) и включена группировка в гриде (локальная) по двум полям. Второй - связан с первым (входные параметры взяты из входных параметров первого), и в нем включен вид "вертикальное отображение". Иконки редактирования и кнопки с текстом - вызовы других блоков с передачей параметров из текущего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 12:17 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
ТС, схема формы понятна. Рендеринг положения и размера контролов автоматический ? Как она конфигурируется ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 12:26 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
Контролы для ввода фильтров - включено направлено отображения "горизонтальное", ширина одного поля ввода задается шириной фрейма его редактора. Высота панели для параметров фиксированная, для одной строки (условно). Если будет задано "вертикальное", то контролы расширяются до ширины ParentWindows, высота определяется фреймом (видно в верхней части редактирования формы). Расположение гридов (блоков) - задано направление "сверху вниз". Между гридами - сплиттер, двигается пользователем, сохраняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 13:09 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
Shr, Ширина котнтролов для фильтрации разная. Если их будет много, как они размещаются на панели ? Листбоксы на несколько строчек возможны ? Вечером из дома приложу несколько своих принтскринов для обсуждения некоторых вопросов. Считаю, что у вас логичный подход и хорошая разработка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 13:31 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
П-Л, я не писал что можно использовать существующую информацию в базе - я писал о создании мета надстройки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 15:13 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
П-ЛШирина котнтролов для фильтрации разная. Если их будет много, как они размещаются на панели ? Листбоксы на несколько строчек возможны ? Сейчас - тупо не влезают по ширине. Да, листбоксы возможны, но в горизонтальном расположении будут ограничены по высоте стандартом. В принципе, каждый контрол находится в отдельном фрейме с заданным минимальным размером, можно их перемещать на след. строчку при недостаточной ширине окна. Также можно сделать вертикальное расположение и разместить панель фильтрации слева от грида. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 15:14 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
Shr, ну и что тут такого невозможного? Реализуете в БД систему раздачи прав на все объекты БД - таблицы, операции с ними. Реализуете настройку меню как у вас в левой части и если есть необходимость - настройку рабочего стола! Все это при наличии метамодели легко реализуется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 15:17 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
sp, Никто не говорит про невозможность. Говорят о том, что реляционная структура данных не соответствует требуемому виду интерфейса пользователя. Поэтому "незначительными изменениями" отображения одного на другое добиться не получится. В том же випросе, насколько я понял, для этого выделяется подмножество всех связей модели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 15:22 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
Shr, ну у вас куча противоречий и подозрений потому что вы упорно не хотите почитать то что я вам предлагал :) Думаю что после прочтения развивающих статей у вас бы не осталось проблемных вопросов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 15:24 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
во ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 15:53 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
ViPRos, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 15:54 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
ViPRos, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 15:54 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
Пара соображений, которыми хочу поделиться на базе опыта разработки и использования конфигуратора прикладных форм. Надо иметь возможность биндить визуальные элементы (формы, панели, гриды) на сложные источники данных - запросы, табличные функции, процедуры. При этом можно встроить в источники данных разграничения по ролям. Такое разделение может, например, быть реализовано через динамическую склейку секции WHERE sql инструкции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 22:52 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
Ограничения доступа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 22:55 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
При отображении сложных данных, имеющих определенную внутреннюю структуру, очень полезно использовать соответствующий контрол - тривью, аутлинер, т.п. Пример: очень многие системы хранят в каталоге организаций отношение парент-чаилд (дочерняя/зависимая фирма, холдинг и входящие в него компании и т.п.). Среди учетных систем финансового толка мне пока не попадались такие, где эта информация отображалась наглядно в виде дерева. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 23:01 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
Самая типичная форма - табличного типа. Выглядеть она может очень по-разному: на ней могут быть расположена всевозможные контролы, управляющие представлением данных и собственно грид, в котором выводится массив данных. Обязательно должен быть "мгновенный поиск". По мере набора текста в наборе данных должна позиционироваться запись, содержащая данный текст. Выглядит элементарно, но очень эффективно при поиске информации. Для этого же образца должна быть не менее мгновенная фильтрация набора. Что касается фильтров. Формально, если в наборе есть поля из справочников, программистам очень просто сделать выбор по справочникам. Можно добавить пукт <Все> к перечислению из справочника. Но при практической работе фильты в понятиях бизнес-терминов обычно охватывают несколько полей, или вообще представляют собой сложные выражения для секции WHERE. Я считаю что такие и нужно иметь возможность конфигурировать для табличной формы. Как простейший частный случай перекрывают возможности простого фильтра - перечисления из справочника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 23:24 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
Пример настройки фильтра Код: sql 1. 2. 3. 4. 5. 6. 7. При выполнении этого кода получается набор данных для заполнения комбо (фильтра) на табличной форме: IDВыводится в фильтреДля сортировкиУсловие WHERE-2 <Все записи> -2 1=1-1 Только базовые -1 iUnitID_Base IS NULL1 Производные от кг. (килограмм) 400 iUnitID_Base={LIST}2 Производные от м. (метр) 100 iUnitID_Base={LIST}3 Производные от м2 (метр квадратный) 200 iUnitID_Base={LIST}5 Производные от шт. (штук) 1 iUnitID_Base={LIST}9 Производные от м3 (метр кубический) 300 iUnitID_Base={LIST} При выборе в фильтре условие WHERE добавляется к источнку данных формы. Для Только базовые получается: Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 23:37 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
Еще хотел бы рассказать о стандартных субформах, выполняющих типовые прикладные задачи, которые могут потребоваться в любой предметной области. Может быть завтра вечером сделаю еще несколько снимков экранов и постараюсь объяснить "на пальцах." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 23:40 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
Забыл написать, на форме настройки списка фильтрации видно, что для разных ролей можно задавать разные условия фильтрации. Это тоже бывает нужно при разделении доступа (раз наборы данных для разных ролей разные, то и условия отбора для них тоже могут потребоваться разные). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 23:44 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
Программист-Любитель, ты эти СКЛ от руки что ли пишешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 23:46 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
Программист-ЛюбительЗабыл написать, на форме настройки списка фильтрации видно, что для разных ролей можно задавать разные условия фильтрации. Это тоже бывает нужно при разделении доступа (раз наборы данных для разных ролей разные, то и условия отбора для них тоже могут потребоваться разные). и тут появляется задача и о раны значениях полей по умоляанию ля разных ролей, что нетривиально (сами фильтры то тривально генерятся и хранятся) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 23:48 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38415329&tid=1541091]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
165ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 16ms |
| total: | 296ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...