powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Набросал структуру для генерации GUI
25 сообщений из 63, страница 2 из 3
Набросал структуру для генерации GUI
    #38415209
П-Л
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spП-Л, Shr ,

Чего там сложного - имея описания таблиц, связей, процедур, индексов - на основании этих данных уже можно автоматически генерить простые вью, которые на клиенте в соответствующем фреймворке MV* уже будут отреендерены.
Для кастомизации форм достаточно лишь незначительных изменений

Ничего особенно сложного тут нет - нужно время просто привести все это до кучи в мозгу сесть и написать)
Категорически не согласен.
...
Рейтинг: 0 / 0
Набросал структуру для генерации GUI
    #38415270
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
П-Л,

а вы и не соглашайтесь!
прочтите сначала что люди до вас поизобретали, а потом можно и окончательно не соглашаться :)
Я думаю тут Vipros мог бы вам оппонировать - у него давно свой фреймворк разработан именно на метамоделях - там весь интерфейс генерируется автоматически на основе метаописания базы данных + некоторые параметры настройки - поищите юзера такого у него в постах полно сложных форм в картинках из его фреймворка
...
Рейтинг: 0 / 0
Набросал структуру для генерации GUI
    #38415301
П-Л
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Метаописания Випроса - это как раз та очень существенная информация, которая может держать реальные сложные модели, используемые на практике. Я против вашего тезиса, что разработать подобное можно легко и быстро. Я против вашего тезиса, что по реляционной БД, используя стандартные словари реляционых СУБД (типа INFORMATION_SCHEMA.*) можно автоматически построить интерфейс, годный для практического применения. Это может сработать только на простых, учебных проектах.
...
Рейтинг: 0 / 0
Набросал структуру для генерации GUI
    #38415318
Shr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spимея описания таблиц, связей, процедур, индексов - на основании этих данных уже можно автоматически генерить простые вью, которые на клиенте в соответствующем фреймворке MV* уже будут отреендерены.
Для кастомизации форм достаточно лишь незначительных измененийС таким подходом получается интерфейс, один в один отображающий физическую модель представления данных. Для работы пользователей он непригоден. Точнее, пригоден только для заполнения простых справочников.


П-ЛТС, можете показать принтскрины конечных пользовательских форм и на пальцах пояснить как они были сконфигурированы (настроены)
Скрин прикладываю. Вкладка "Цели департамента".
Конфигурация - форма, на ней одна панель с направлением вывода "сверху вниз".
На панели два блока с курсорами. У первой описаны параметры процедуры (они выводятся под иконками действий) и включена группировка в гриде (локальная) по двум полям.
Второй - связан с первым (входные параметры взяты из входных параметров первого), и в нем включен вид "вертикальное отображение".

Иконки редактирования и кнопки с текстом - вызовы других блоков с передачей параметров из текущего.
...
Рейтинг: 0 / 0
Набросал структуру для генерации GUI
    #38415329
П-Л
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС, схема формы понятна. Рендеринг положения и размера контролов автоматический ? Как она конфигурируется ?
...
Рейтинг: 0 / 0
Набросал структуру для генерации GUI
    #38415414
Shr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Контролы для ввода фильтров - включено направлено отображения "горизонтальное", ширина одного поля ввода задается шириной фрейма его редактора. Высота панели для параметров фиксированная, для одной строки (условно).

Если будет задано "вертикальное", то контролы расширяются до ширины ParentWindows, высота определяется фреймом (видно в верхней части редактирования формы).

Расположение гридов (блоков) - задано направление "сверху вниз". Между гридами - сплиттер, двигается пользователем, сохраняется.
...
Рейтинг: 0 / 0
Набросал структуру для генерации GUI
    #38415445
П-Л
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shr,

Ширина котнтролов для фильтрации разная. Если их будет много, как они размещаются на панели ? Листбоксы на несколько строчек возможны ?

Вечером из дома приложу несколько своих принтскринов для обсуждения некоторых вопросов.

Считаю, что у вас логичный подход и хорошая разработка.
...
Рейтинг: 0 / 0
Набросал структуру для генерации GUI
    #38415633
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
П-Л,

я не писал что можно использовать существующую информацию в базе - я писал о создании мета надстройки
...
Рейтинг: 0 / 0
Набросал структуру для генерации GUI
    #38415634
Shr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
П-ЛШирина котнтролов для фильтрации разная. Если их будет много, как они размещаются на панели ? Листбоксы на несколько строчек возможны ?
Сейчас - тупо не влезают по ширине. Да, листбоксы возможны, но в горизонтальном расположении будут ограничены по высоте стандартом.
В принципе, каждый контрол находится в отдельном фрейме с заданным минимальным размером, можно их перемещать на след. строчку при недостаточной ширине окна.
Также можно сделать вертикальное расположение и разместить панель фильтрации слева от грида.
...
Рейтинг: 0 / 0
Набросал структуру для генерации GUI
    #38415638
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shr,

ну и что тут такого невозможного?
Реализуете в БД систему раздачи прав на все объекты БД - таблицы, операции с ними.
Реализуете настройку меню как у вас в левой части и если есть необходимость - настройку рабочего стола!
Все это при наличии метамодели легко реализуется
...
Рейтинг: 0 / 0
Набросал структуру для генерации GUI
    #38415647
Shr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sp,

Никто не говорит про невозможность. Говорят о том, что реляционная структура данных не соответствует требуемому виду интерфейса пользователя. Поэтому "незначительными изменениями" отображения одного на другое добиться не получится.

В том же випросе, насколько я понял, для этого выделяется подмножество всех связей модели.
...
Рейтинг: 0 / 0
Набросал структуру для генерации GUI
    #38415650
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shr,

ну у вас куча противоречий и подозрений потому что вы упорно не хотите почитать то что я вам предлагал :)
Думаю что после прочтения развивающих статей у вас бы не осталось проблемных вопросов
...
Рейтинг: 0 / 0
Набросал структуру для генерации GUI
    #38415717
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
во
...
Рейтинг: 0 / 0
Набросал структуру для генерации GUI
    #38415721
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,
...
Рейтинг: 0 / 0
Набросал структуру для генерации GUI
    #38415722
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,
...
Рейтинг: 0 / 0
Набросал структуру для генерации GUI
    #38416194
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пара соображений, которыми хочу поделиться на базе опыта разработки и использования конфигуратора прикладных форм.

Надо иметь возможность биндить визуальные элементы (формы, панели, гриды) на сложные источники данных - запросы, табличные функции, процедуры. При этом можно встроить в источники данных разграничения по ролям. Такое разделение может, например, быть реализовано через динамическую склейку секции WHERE sql инструкции.
...
Рейтинг: 0 / 0
Набросал структуру для генерации GUI
    #38416196
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ограничения доступа.
...
Рейтинг: 0 / 0
Набросал структуру для генерации GUI
    #38416202
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При отображении сложных данных, имеющих определенную внутреннюю структуру, очень полезно использовать соответствующий контрол - тривью, аутлинер, т.п. Пример: очень многие системы хранят в каталоге организаций отношение парент-чаилд (дочерняя/зависимая фирма, холдинг и входящие в него компании и т.п.). Среди учетных систем финансового толка мне пока не попадались такие, где эта информация отображалась наглядно в виде дерева.
...
Рейтинг: 0 / 0
Набросал структуру для генерации GUI
    #38416214
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самая типичная форма - табличного типа. Выглядеть она может очень по-разному: на ней могут быть расположена всевозможные контролы, управляющие представлением данных и собственно грид, в котором выводится массив данных.

Обязательно должен быть "мгновенный поиск". По мере набора текста в наборе данных должна позиционироваться запись, содержащая данный текст. Выглядит элементарно, но очень эффективно при поиске информации. Для этого же образца должна быть не менее мгновенная фильтрация набора.

Что касается фильтров. Формально, если в наборе есть поля из справочников, программистам очень просто сделать выбор по справочникам. Можно добавить пукт <Все> к перечислению из справочника. Но при практической работе фильты в понятиях бизнес-терминов обычно охватывают несколько полей, или вообще представляют собой сложные выражения для секции WHERE. Я считаю что такие и нужно иметь возможность конфигурировать для табличной формы. Как простейший частный случай перекрывают возможности простого фильтра - перечисления из справочника.
...
Рейтинг: 0 / 0
Набросал структуру для генерации GUI
    #38416219
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример настройки фильтра

Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT -2 as i, '<Все записи>' as s, -2 as i, '1=1' as c
UNION ALL SELECT -1 as i, 'Только базовые' as s, -1 as i, 'iUnitID_Base IS NULL' as c
UNION ALL 
SELECT iUnitID as i, 'Производные от ' + sUnitAlias as s, iUnitNomer as i, 'iUnitID_Base={LIST}' as c
FROM qrUnit
WHERE iUnitID_Base IS NULL
ORDER BY i



При выполнении этого кода получается набор данных для заполнения комбо (фильтра) на табличной форме:

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.
SELECT * FROM dbo.qrUnitEdit WHERE ((iUnitID_Base IS NULL)) ORDER BY iUnitNomer
...
Рейтинг: 0 / 0
Набросал структуру для генерации GUI
    #38416220
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще хотел бы рассказать о стандартных субформах, выполняющих типовые прикладные задачи, которые могут потребоваться в любой предметной области. Может быть завтра вечером сделаю еще несколько снимков экранов и постараюсь объяснить "на пальцах."
...
Рейтинг: 0 / 0
Набросал структуру для генерации GUI
    #38416225
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл написать, на форме настройки списка фильтрации видно, что для разных ролей можно задавать разные условия фильтрации. Это тоже бывает нужно при разделении доступа (раз наборы данных для разных ролей разные, то и условия отбора для них тоже могут потребоваться разные).
...
Рейтинг: 0 / 0
Набросал структуру для генерации GUI
    #38416227
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист-Любитель,

ты эти СКЛ от руки что ли пишешь?
...
Рейтинг: 0 / 0
Набросал структуру для генерации GUI
    #38416228
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист-ЛюбительЗабыл написать, на форме настройки списка фильтрации видно, что для разных ролей можно задавать разные условия фильтрации. Это тоже бывает нужно при разделении доступа (раз наборы данных для разных ролей разные, то и условия отбора для них тоже могут потребоваться разные).
и тут появляется задача и о раны значениях полей по умоляанию ля разных ролей, что нетривиально (сами фильтры то тривально генерятся и хранятся)
...
Рейтинг: 0 / 0
Набросал структуру для генерации GUI
    #38416229
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я же говорю: мой "конфигуратор" соединяет серверную скуэльную часть с клиентской аксесовской. Каждая делается в своей среде. Т.е. фильтры пишу и отлаживаю руками в студии.
...
Рейтинг: 0 / 0
25 сообщений из 63, страница 2 из 3
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Набросал структуру для генерации GUI
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]