Форум: "Начинающим";
Текущий архив: 2008.06.08;
Скачать: [xml.tar.bz2];
ВнизВвод данных в две таблицы из одной формы Найти похожие ветки
← →
grav (2008-04-17 17:49) [0]Требуется реализовать ввод данных в БД. Данные следующие. Имеется здание, в нем располагаются объекты (склад, столовая и т.д.). Нужно чтобы пользователь вводил: Здание №1, его параметры (год постройки, общая площадь, полная стоимость и т.д.). Потом на этой же форме вводил все объекты располагающиеся в этом здании: 1. Столовая, площадь, проектная мощность и т.д. 2. Спортзал .... 3...
Потом Здание №2 и его объекты. И чтобы это все на одной форме располагалось.
Своих варианта два. Первый - использовать два DBGrid, вверху для зданий, внизу для объектов. Второй - использовать TDBCtrlGrid, с которым не могу разобраться :)
Подскажите, как такое правильно реализуется?
← →
grav (2008-04-17 17:50) [1]Использую IBX, помоему он как то не дружит с TDBCtrlGrid. Компоненты не отображаются (TDBEdit).
← →
ANB (2008-04-17 17:58) [2]2 грида + мастердетал.
← →
grav (2008-04-17 18:03) [3]
> ANB
Да вот параметров по задниям и объектам много, строчка динная получится и соответственно не удобно будет. Еще и пользователям надо переходить из поля в поле по Enter.
← →
ANB (2008-04-17 18:31) [4]
> grav (17.04.08 18:03) [3]
Тогда грид + форма редактирования + детал грид + детал форма редактирования.
Вместо отдельных форм можно использовать вкладки - получается довольно удобно.
Во всяком случае TDBCtrlGrid - не совсем подходит для этих целей. Плюс их все равно нужно будет 2. Да и неудобный он.
← →
grav (2008-04-18 12:07) [5]Тогда грид + форма редактирования + детал грид + детал форма редактирования
А как это? Можно поподробнее? Что означает грид + форма редактирования ?
← →
zorik © (2008-04-18 12:31) [6]1. На главной форме грид со списком зданий. В гриде отображай основные параметры (название, и т.д.)
2. кнопки "добавить здание", "редактировать здание", "удалить здание". При нажимании на кнопку появляется модальная форма для редактирования конкретного здания. На которой DBEdit-ы для редактирования параметров здания и грид для объектов здания. И опять же кнопки "добавить объект", "редактировать объекты", "удалить объект".
3. Нажимаешь на кнопку и модальная форма редактирования объекта
З.Ы. Это для редактирования вариант. Для просмотра можно получше придумать, например с закладками
← →
grav (2008-04-18 12:59) [7]
> zorik ©
Если бы все так легко было. Надо реализовать ввод с клавиатуры с минимальным использованием мыши. Будут работать одновременно несколько девушек (более 5). Нужно ввести данные об около 10 тыс предприятиях, десятках тысяч зданий и сотнях тысяч объектов. И все это нужно ввести за несколько дней.
← →
Anatoly Podgoretsky © (2008-04-18 13:16) [8]И что у вас есть такие люди?
Ну тут надо произвести иследование предметной области и потом под нее реализовывать интерфейс.
При вводе через формы мышь совсем не нужна, просто надо продумать интерфейс и навигацию.
← →
Сергей М. © (2008-04-18 13:34) [9]
> как такое правильно реализуется?
>
Это зависит от того, что в последствии планируется со всем этим введенным "добром" делать.
Подозреваю, что двухтабличная структура подобного рода БД никуда не годится.
← →
grav (2008-04-18 14:11) [10]
> И что у вас есть такие люди?
В смысле которые вводить будут? Да, есть. Людей специально нанимают произвести такую работу. В настоящее время предприятия в письменном виде заполняют печатные формы. После чего машинистки будут заносить в базу.
База моя, программа тоже моя будет.
← →
grav (2008-04-18 14:17) [11]
> Сергей М. © (18.04.08 13:34) [9]
>
> Это зависит от того, что в последствии планируется со всем
> этим введенным "добром" делать.
>
> Подозреваю, что двухтабличная структура подобного рода БД
> никуда не годится.
Реальных таблиц в базе получилось 11 (справочники+данные). Т.е. в эти две таблицы на форме должны будут вводиться данные, которые потом попадут в несколько таблиц в базе. Плюс еще выбор данных из справочников. Простые гриды не годятся для этого.
Пока у меня нет идей, как обойтись без мыши. Мышь же сильно замедлит ввод. Но т.к. срок всего неделя, придется писать с мышью.
← →
Anatoly Podgoretsky © (2008-04-18 14:21) [12]> grav (18.04.2008 14:11:10) [10]
Квалифицированая машинистка в состоянии ввести 8 страниц в час. У тебя объемы на многие миллионы символов. Опыт ввода подобного объема есть, это далеко не несколько дней. И потом еще много месяцев на устранение ошибок ввода, а будут еще и программные ошибки.
Ну это ладно, тут нужен специалист по разработке интерфейсов в данной предметной области.
← →
tesseract © (2008-04-18 14:21) [13]
> База моя, программа тоже моя будет.
Жадный какой, всё под себя, всё под себя.
> Простые гриды не годятся для этого.
Сложные тоже. Это задачка из папки Demos, не сложнее. Напихай DBControlo-в, расставь связи между ними и пошли грид нафиг.
← →
Сергей М. © (2008-04-18 14:24) [14]
> Простые гриды не годятся для этого
Конечно не годятся.
И тем более не понятно, почему ты на них зациклился..
Что, разве мало разных data-aware-контролов, "заточенных" под интерактивный ввод инф-ции той или иной специфики ?
← →
Anatoly Podgoretsky © (2008-04-18 14:29) [15]> grav (18.04.2008 14:17:11) [11]
Для выбора из справочника не нужна мышь. Вводи значение с клавиатуры.
Твоя проблема видимо в том, что ты хреновый разработчик интерфейсов пользователя.
В старые времена (ДОС/ФоксПро) мышь была предметом особой гордости, вводили с клавиатуры, в том числе и с выпадающих и других списков, с тех пор ничего не изменилось, только мышь стала доступна всем и работа со справочниками стала еще проще.
← →
Dennis I. Komarov © (2008-04-18 14:32) [16]Шаг 1 - проектирование БД
.....
Шаг (околопоследний) - проектирование данного интерфейса
← →
grav (2008-04-18 14:56) [17]
> Что, разве мало разных data-aware-контролов
Не нашел ни одного подходящего
← →
tesseract © (2008-04-18 15:00) [18]
> Не нашел ни одного подходящего
А тебе что аналог швейцарского ножа нужен ? Лень edit-ы покидать на форму ? .
← →
grav (2008-04-18 15:04) [19]>Anatoly Podgoretsky ©
> Твоя проблема видимо в том, что ты хреновый разработчик
> интерфейсов пользователя.
Кто бы сомневался. Я даже и не программист. Так, любитель. Время от времени пишу программки н заказ, которые почему-то потом работают годами.
То что я интерфейсы писать не могу это еще пол беды. Я еще не могу правильно мысль свою сформулировать.
Но за программы меня хвалят, в т.ч. и за удобство интерфейса. Потому и не бросаю писать программки. Хобби :)
Спасибо, что есть такой форум, где можно получить ответы на свои вопросы. А главное, сформулировать и уточнить сами вопросы, чего часто бывает достаточно для решения своих проблем.
← →
grav (2008-04-18 15:08) [20]
> tesseract © (18.04.08 15:00) [18]
>
> А тебе что аналог швейцарского ножа нужен ? Лень edit-ы
> покидать на форму ? .
Как вы себе представляете на одной форме разместить несколько записей по зданиям и чтобы к каждому зданию было привязано по нескольку объектов?
← →
Anatoly Podgoretsky © (2008-04-18 15:11) [21]> grav (18.04.2008 14:56:17) [17]
Не ужели даже TDBEdit не работает? Ну тогда напиши свои
← →
tesseract © (2008-04-18 15:15) [22]
> и чтобы к каждому зданию было привязано по нескольку объектов?
Каждый день такое в 1с считай делаю. Слева здания в Grid или List Справа тоже самое, но со списком объектов. Всё это связано master-detail.
В чём проблема ?
← →
Сергей М. © (2008-04-18 15:23) [23]
> Как вы себе представляете на одной форме разместить несколько
> записей
Следует четко представлять себе разницу между функциональными назначениями формы просмотра/редактирования списка и формы просмотра/редактирования записи.
← →
grav (2008-04-18 15:24) [24]
> tesseract © (18.04.08 15:15) [22]
1. Проблема в том, что надо ввод реализовать, а не отображение.
2. В 1с по моему не реально работать без мышки
← →
Сергей М. © (2008-04-18 15:26) [25]
> ввод реализовать, а не отображение
Ты не заболел ?)
Как можно вводить не видя что вводишь ?
Это же не ввод паролей)
> В 1с по моему не реально работать без мышки
Тебе говорят про логическую организацию структуры и взаимосвязей форм ввода/отображения, а не про мышь.
← →
tesseract © (2008-04-18 15:29) [26]
> В 1с по моему не реально работать без мышки
Да нет у нас склад, как раз больше клаву при наборе документа из 700 строк пользует.
> 1. Проблема в том, что надо ввод реализовать, а не отображение.
Это то по барабану.
← →
Anatoly Podgoretsky © (2008-04-18 15:30) [27]
> Но за программы меня хвалят, в т.ч. и за удобство интерфейса
В таком случае с заданием справишься, поговори с операторами, серьезно вникни в предметную область.
Наверно надо сделать привязку не к нескольким зданиями, а к одному, это же явно разные записи. Эту информацию в Эдиты, объекты в гриды. Для потокового ввода можно автоматически переходить на ввод следующего здания и возможно еще и шаблоны помогут ускорить ввод, шаблоном может считаться предыдущая запись. Но на форуме тебе точно особо не помогут, поскольку вопрос не программирования, а дизайна конкретной области, про которую мы ничего не знаем.
← →
Anatoly Podgoretsky © (2008-04-18 15:31) [28]> tesseract (18.04.2008 15:15:22) [22]
Можно и так и переход по ТАБ между мастер детайл, вариантов тьма.
← →
grav (2008-04-18 15:32) [29]Пока не придумал лучшего, чем разместить на форме два грида. Один для зданий, второй для объектов зданий.
Видимо придется сделать две формы для ввода параметров зданий и объектов. А вызывать эти формы по нажатию кнопки Ввести здание и Ввести объект. Плюс вызов этих форм комбинацией клавиш.
Сами гриды нужны лишь для того, чтобы оператор видел чего ввел.
Есть вопрос. Данные введенные в таблицы в пределах транзакции не подтвержденные коммитом будут отображаться в DBGrid или для этого лучше обычный Grid использовать?
← →
tesseract © (2008-04-18 15:34) [30]
> Данные введенные в таблицы в пределах транзакции не подтвержденные
> коммитом будут отображаться в DBGrid
Вот в grid они как раз и будут. А вот в базе нет. Только один человек будет их видеть.
← →
grav (2008-04-18 15:36) [31]
> Anatoly Podgoretsky © (18.04.08 15:30) [27]
Общение помогает самому понять чего надо и как это сделать.
Поэтому огромное спасибо всем кто тратит на меня свое время.
← →
grav (2008-04-18 15:38) [32]
> Вот в grid они как раз и будут. А вот в базе нет. Только
> один человек будет их видеть.
Это и требуется. Чтобы в случае чего пропала вся запись по предприятию.
← →
Anatoly Podgoretsky © (2008-04-18 15:47) [33]> grav (18.04.2008 15:32:29) [29]
Гриды (по зданиям нужны только для навигации) запрети там сразу ввод, избежишь множества проблем. Ввод делай через форму, а там варианты, если у здания много аттрибутов, то их можно ввводить в гриде на форме, можно предусмотреть автоматический переход к следующему зданию.
И еще совет делай это в отдельной транзакции.
← →
Anatoly Podgoretsky © (2008-04-18 15:47) [34]> grav (18.04.2008 15:36:31) [31]
Мы тратим время на тех, кто это заслуживает и не гнет пальцы. В других случаях с удовольствием посмеемся.
← →
Anatoly Podgoretsky © (2008-04-18 15:48) [35]> grav (18.04.2008 15:38:32) [32]
Вижу, что к транзакциям уже пришел, целостность не должна нарушаться ни на начальном этапе ни в будущем, или все или ничего.
← →
Anatoly Podgoretsky © (2008-04-18 15:54) [36]> tesseract (18.04.2008 15:29:26) [26]
Вот я в форуме по ННТП как раз работаю почти исключительно с помощью клавиатуру, а там слева дерево, справа два окна, список тем и содержимое текущей темы. Ввод данных в отдельной форме, никаких затруднений не испытывают, скорость во много раз меньше, конечно ввод слепой десяти пальцевый, то что должна уметь делать квалифицированая машинистка.
Для Сергей М. как раз при вводе с бумаги оператор не должен видеть, что вводит, у него глаза направлены на документ, пальцы на клавиатуру, язык для разговоров с соседкой. а монитор лишнее устройство. Видимо тебе не посчастливилось видеть подобное, завораживает.
← →
ANB (2008-04-18 15:59) [37]
> В старые времена (ДОС/ФоксПро)
А я прикрутил к клипперу работу с мышей. Смотрелось ново и современно. Но кроме меня ей никто не пользовался :)
← →
Anatoly Podgoretsky © (2008-04-18 16:02) [38]> Anatoly Podgoretsky (18.04.2008 15:47:34) [34]
Пожалуй можно добавить еще, если ввод делается в поле с фиксированых количеством символов, то можно предусмотреть автоматический переход в следующее поле, тоже для не фиксированого ввода, при достижение максимального количества. Это тоже очень важный резерв. В ДОС программах он был как бы обязательных, а вот в Виндоус подход поменяли. Выбор из списков должен делаться с помощью ComboBox, в которых предусмотрен инкриментный поиск, как в раскрытом, так и в закрытом состоянии, наглядно ввод адресов в почте, справочником является адресная книга, этой особенностью легко пользуются даже неквалифицированые пользователи, а раньше они раскрывали справочник, сейчас уже редко это делают, несколько первых букв и далее не следующее поле. Закрытие формы в любом месте, по клавише Enter не заставляй проходить по всем полям до кнопки закрытие (это стандартное поведение для Виндоус программ, как отмена по Esc).
← →
Dennis I. Komarov © (2008-04-18 16:05) [39]> [35] Anatoly Podgoretsky © (18.04.08 15:48)
Помилуйте, Вы о чем? [19]
← →
Anatoly Podgoretsky © (2008-04-18 16:41) [40]> Dennis I. Komarov (18.04.2008 16:05:39) [39]
Что не нравится, а то помилуйте не технический термин.
Ты против транзакции, при вводе в связаные таблицы?
Страницы: 1 2 3 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.06.08;
Скачать: [xml.tar.bz2];
Память: 0.56 MB
Время: 0.047 c