|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Скажем там надоело в последнее время клипание форм Ввода/Редактирования данных, со справочниками нет проблем - создана универсальная форма которая показывает любой справочник. А вот с другими таблицами по сложней, есть тоже универсальная форма которая отображает любой запрос/таблицу (генерация колонок, описания колонок и т.д.) но вот формы редактиирования/добавления приходится делать в ручную (пока) вот и задумался и хочу спросить кто что использует: 1) Генераторы форм - указали таблицу/запрос на выходе файлы формы со всеми элементами, а дальше подключили к проекту и используем. Минус - в проекте может быть сверх много форм ввода, если что-то изменилось в таблице нужно будет заново создавать форму или править в ручную. Плюсы - Можно в дизайнере исправить что-то, разместить элементы как нужно, более просто по реализации не требует дополнительных таблиц. 2) Одна универсальная форма генерации в Runtime указываешь название таблицы или запрос а форма сама во время работы генерирует все элементы Минусы - сложность реализации (относительно первого варианта), Либо усиленая работа по получению информации из системных таблиц СУБД или создание дополнительных таблиц где будет хранится информация необходимая для генерации формы (типы полей, связи к другим таблицам и т.д.) Плюсы - если изменилось какое-то поле то не нужно править исходники и обновлять клиентов Вот и задумался что лучше реализовывать, сейчас пока набрасываю промежуточный код. ______________________________________________________________ "Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код". ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2010, 20:24 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Asm64DСкажем там надоело в последнее время клипание форм Ввода/Редактирования Для тупых случаев универсальная "динамическая" форма, конечно подойдет. Но вот для "нормальных пользовательских интерфейсов" (когда на форме надо отобразить всякие дополнительные данные, обеспечить валидирование, вспомогательные операции и т.п.) универсальные формы оказываются либо недостаточными, либо требуют огромного количества метаописаний. И получается, что добиться потребного пользователю результата от универсальной формы гораздо более трудоемко, чем склепать обычную форму. На мой взгляд, "универсальная форма" подходящий инструмент только для интерфейсов занимающихся отображением данных из СУБД "as is" - почти с тем же успехом можно взять какой-нибудь SQL*Developer - там есть универсальные формы редактирования данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2010, 20:42 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Asm64D Минусы - сложность реализации (относительно первого варианта), Либо усиленая работа по получению информации из системных таблиц СУБД или создание дополнительных таблиц где будет хранится информация необходимая для генерации формы (типы полей, связи к другим таблицам и т.д.) Да, еще один минус, вместо того чтобы заниматься собственно проектом для заказчика, вы будете убивать время на разработку прослойки ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 07:42 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
GoffmanДа, еще один минус, вместо того чтобы заниматься собственно проектом для заказчика, вы будете убивать время на разработку прослойки Зато это время может окупиться в далнейшим: не нужно будет копатся в коде чтоб вспомнить как оно там делается (даже с комментариями иногда уходит много времени чтобы вспомнить). По сути второй способ это создание конфигуратора, как в 1С. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 09:11 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Asm64DЗато это время может окупиться в далнейшим: не нужно будет копатся в коде чтоб вспомнить как оно там делается (даже с комментариями иногда уходит много времени чтобы вспомнить).А куда "копание в коде" денется? Если забудете как что-то делается, то копаться все-равно придется. Вы можете называть это не кодом, а "информацией, необходимой для генерации формы", но по чути это будет тот же код только на вашем "доморощенном" языке. Вы поймите, что для того, чтобы реализовать runtime-генерацию форм достаточной сложности вам потребуется разработать собственный язык и собственную среду программирования. С большой вероятностью почти по всем параметрам этот язык будет уступать общепринятым. Кроме того, он будет понятем только вам одному (хотя в некоторых случаях это является преимуществом). Несомненно, задача разработки собственного языка - весьма интересна и привлекательна, но не пытайтесь оправдать ее бизнес-необходимостью. Для программирования в небольшой группе разработка своей среды увеличивает суммарную трудоемкость. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 10:42 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Asm64D, Прочитайте про Bold. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 11:50 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Asm64DПо сути второй способ это создание конфигуратора, как в 1С. По первому способу делаю оригинальные системы. По второму - типовые. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 11:52 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Asm64D, Универсальная форма с возможностью редактирования в рантайме. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 13:01 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Asm64D 2) Одна универсальная форма генерации в Runtime указываешь название таблицы или запрос а форма сама во время работы генерирует все элементы Минусы - сложность реализации (относительно первого варианта), Либо усиленая работа по получению информации из системных таблиц СУБД или создание дополнительных таблиц где будет хранится информация необходимая для генерации формы (типы полей, связи к другим таблицам и т.д.) Плюсы - если изменилось какое-то поле то не нужно править исходники и обновлять клиентов сложность реализации действительно имеет место, но окупается просто на порядки. Если Вы конечно такое задумали не для разовой работы. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 13:12 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Bogdanov AndreyС большой вероятностью почти по всем параметрам этот язык будет уступать общепринятым. еще с большей вероятностью можно обойтись вобще без "языка", все описывается декларативно, типовая реакция на события закладывается в функционал такой "универсальной формы", для дополнений, если потребуется, используется функционал скриповых движков (общепринятых кстати), недостатка в которых нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 13:19 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Bogdanov Andreyчтобы реализовать runtime-генерацию форм достаточной сложности вам потребуется разработать собственный язык и собственную среду программирования. Зачем создавать язык, скорей просто добавить поддержку скриптов. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 14:12 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
GoffmanДа, еще один минус, вместо того чтобы заниматься собственно проектом для заказчика, вы будете убивать время на разработку прослойки Хорошо спроектированная прослойка даст значительный выигрыш во времени. Не надо ля-ля. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 14:36 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Asm64DЗачем создавать язык, скорей просто добавить поддержку скриптов. Да, лучше добавить уже распространненный язык. Предложу свой вариант: Если система написана на delphi, то подключив процедуру (строк на 15 обычной ширины) можно создавать любые формы в run-time из текста DFM. Подключив движок скриптов, можно сделать форму "живой". Можно пойти дальше: DFM редактировать не в среде Delphi, а подключить дизайнер форм в свою программу. И, напоследок, хранить текст DFM и соответствующий ему скрипт в базе данных. Кстати, вариант с номером 2 (Одна универсальная форма) все-равно должен быть, несмотря на наличие дизайнера форм, но форма может быть совсем не такой сложной. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 15:06 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmеще с большей вероятностью можно обойтись вобще без "языка", все описывается декларативно, А это "декларативное описание" не есть язык? Расскажите, как "без языка" вы опишите, что при выборе товара в одном поле формы в другом надо отобразить его цену, а в третьем общую стоимость? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 16:14 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Alex SПредложу свой вариант: Если система написана на delphi, то подключив процедуру (строк на 15 обычной ширины) можно создавать любые формы в run-time из текста DFM. Подключив движок скриптов, можно сделать форму "живой". Можно пойти дальше: DFM редактировать не в среде Delphi, а подключить дизайнер форм в свою программу.И как все это решает проблемы топикстартера? Ему надоело "клепание форм" в своем дизайнере. Вы думаете, что в дизайнере DFM это будет удобнее/быстрее? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 16:18 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
trdm_Хорошо спроектированная прослойка даст значительный выигрыш во времени. Не надо ля-ля. Эта прослойка называется фреймворк. В общем случае офигенно сложная задача. Но несколько достойных продуктов на рынке есть. А совсем простые Web формы легко генерятся на лету CGI скриптами и т.п. фигнёй. Тот же Oracle forms имеет мастер форм, где за считаные минуты можно создать или подредактировать форму. Но при желании добавить в неё и нетривиальную логику, что с доморощеным продуктом будет не просто сделать. В общем, автору нужно поискать адекватные инструменты для решения задачи. Причём можно одновременно использовать оба подхода. "Быстрый" для создания несложных типовых форм и прототипов, "основательный" для разработки многофункциональных GUI. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 17:22 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Bogdanov Andreyiscrafmеще с большей вероятностью можно обойтись вобще без "языка", все описывается декларативно, А это "декларативное описание" не есть язык? Расскажите, как "без языка" вы опишите, что при выборе товара в одном поле формы в другом надо отобразить его цену, а в третьем общую стоимость? ITEMPRICE=PRICE AMOUNT=QTY*PRICE ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 17:25 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Вариант Alex S очень понравился. Сейчас начну все же с первого варианта (типа тренировка). ______________________________________________________________ "Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код". ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 17:43 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Asm64DGoffmanДа, еще один минус, вместо того чтобы заниматься собственно проектом для заказчика, вы будете убивать время на разработку прослойки Зато это время может окупиться в далнейшим: не нужно будет копатся в коде чтоб вспомнить как оно там делается (даже с комментариями иногда уходит много времени чтобы вспомнить). По сути второй способ это создание конфигуратора, как в 1С. Я лет 5 этим занимался и бросил - 1.нельзя сделать универсальную форму на все случаи жизни. 2.На каждый новую настройку уходит много времени 3.Чем больше настроек, тем сложнее отлавливать их наложения друг на друга 4.Время, затраченное на настройку, становится сравнима со временем работы в Дельфях 5.Так как каждый новый наворот вызывается каждый раз, то система начинает тормозить и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 17:46 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafm ITEMPRICE=PRICE AMOUNT=QTY*PRICE Вы хотите сказать, что это "не язык"? Тогда я не знаю, что означают две параллельные черточки, "звездочка" и всякие другие символы. Если это все-таки язык программирования, то я могу попробовать угадать, что ITEMPRICE и AMOUNT - это имена элементов формы, отображающих цену и общую стоимость. Хотя твердой уверенности нет. А в вот кто такие PRICE, QTY? У меня нет предположений. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 18:00 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Eybdthcfkmyfz cbcntvf, фигня, хватает 2-3 месяцев ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 20:45 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Джамшид РовшанEybdthcfkmyfz cbcntvf, фигня, хватает 2-3 месяцев Для какого языка? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 21:20 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Bogdanov Andreyiscrafm ITEMPRICE=PRICE AMOUNT=QTY*PRICE Вы хотите сказать, что это "не язык"? Тогда я не знаю, что означают две параллельные черточки, "звездочка" и всякие другие символы. Если это все-таки язык программирования, то я могу попробовать угадать, что ITEMPRICE и AMOUNT - это имена элементов формы, отображающих цену и общую стоимость. Хотя твердой уверенности нет. А в вот кто такие PRICE, QTY? У меня нет предположений. это формулы. PRICE и QTY тоже элементы формы. При их изменении выполнятся расчет AMOUNT. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 22:57 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmBogdanov AndreyВы хотите сказать, что это "не язык"?это формулы.Так все-таки это язык или нет? Где описана семантика указанных конструкций? Создателю универсальной формы потребуется некий "процессор формул" - который "объяснит" компьютеру что с написанными вами буковками делать. iscrafm PRICE и QTY тоже элементы формы. А откуда эти элементы взялись? Было только поле для выбора товара. Откуда в форме элемент PRICE взялся? Вернитесь к заглавному посту. Там было написано, что указывается только название таблицы и по этому названию строится форма. Понятно, что в таблице есть колонки, можно предположить, что для каждой колонки создается элемент формы. Но никакого PRICE в таблице нет - в таблице только ссылка на товар. А уж у товара как-то там можно цену посчитать. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 23:27 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Bogdanov Andreyiscrafm PRICE и QTY тоже элементы формы. А откуда эти элементы взялись? Было только поле для выбора товара. Откуда в форме элемент PRICE взялся? я почему-то Ваши слова лучше помню, чем Вы свои. Хорошо, напомню откуда эти элементы взялись: Bogdanov AndreyРасскажите, как "без языка" вы опишите, что при выборе товара в одном поле формы в другом надо отобразить его цену, а в третьем общую стоимость ? PRICE - это поле с ценой, AMOUNT - это поле с общей стоимостью. Спросили как декларативно описывается заданный Вами же пример, я показал. Хоть то что спрашивали помните? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 23:46 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
mcureenabtrdm_Хорошо спроектированная прослойка даст значительный выигрыш во времени. Не надо ля-ля. Эта прослойка называется фреймворк. В общем случае офигенно сложная задача. Но несколько достойных продуктов на рынке есть. А совсем простые Web формы легко генерятся на лету CGI скриптами и т.п. фигнёй. От задачи зависит. Может и фраймверк. А может и пары хорошо спроектированных классов хватить.. Тут уж каковы практические потребности, таковы и результаты.. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 01:37 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Asm64DСкажем там надоело в последнее время клипание форм Ввода/Редактирования данных, со справочниками нет проблем - создана универсальная форма которая показывает любой справочник. А вот с другими таблицами по сложней, есть тоже универсальная форма которая отображает любой запрос/таблицу (генерация колонок, описания колонок и т.д.) но вот формы редактиирования/добавления приходится делать в ручную (пока) вот и задумался и хочу спросить кто что использует. Скажу просто - никогда ты не избавишся от ручного ковыряния форм. Всегда какая-то форма потребует "особого" внимания. Выход: Генерация форм по метаданным и шаблонизация форм. У меня есть несколько шаблонов отчетов которые меня хорошо выручают, когда заказывают новый отчет. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 01:44 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
trdm_Скажу просто - никогда ты не избавишся от ручного ковыряния форм. Всегда какая-то форма потребует "особого" внимания. по статистике - одна из пары сотен на проекте. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 09:46 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmя почему-то Ваши слова лучше помню, чем Вы свои. Зато свои слова вы, видимо, совсем не помните. iscrafmBogdanov AndreyРасскажите, как "без языка" вы опишите, что при выборе товара в одном поле формы в другом надо отобразить его цену, а в третьем общую стоимость ? PRICE - это поле с ценой, AMOUNT - это поле с общей стоимостью. Спросили как декларативно описывается заданный Вами же пример, я показал. Хоть то что спрашивали помните?Ну вот сами же в своем декларативном описании ориентацию потеряли. А говорили - все так просто. В процитированном моем отрывке упоминаются три элемента формы (товар, цена, стоимость). В ваших "формулах" - пять: iscrafmITEMPRICE=PRICE AMOUNT=QTY*PRICEЯ сделал предположение, что ITEMPRICE - упомянутое мною поле с ценой и спросил вас про PRICE. Теперь вы решили мне лапшу на уши повесить и говорите, что PRICE - поле с ценой. Хорошо, пусть PRICE - поле с ценой, тогда каков смысл "формулы" ITEMPRICE=PRICE? Но на самом деле на то, что вы в трех соснах запутались мне наплевать. Я верю, что декларативно опи сать поведение можно, хотя это и не настолько тривиально. А уж разработка такой "универсальной формы" потребует весьма немалых усилий. Наш с вами спор здесь начался с того, что вы заявили, что iscrafmможно обойтись вобще без "языка", все описывается декларативно,Я еще раз повторю вопрос: ваше "декларативное описание" на каком языке сделано? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 11:26 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Bogdanov AndreyНо на самом деле на то, что вы в трех соснах запутались мне наплевать. Я верю, что декларативно опи сать поведение можно, хотя это и не настолько тривиально. А уж разработка такой "универсальной формы" потребует весьма немалых усилий. Наш с вами спор здесь начался с того, что вы заявили, что iscrafmможно обойтись вобще без "языка", все описывается декларативно,Я еще раз повторю вопрос: ваше "декларативное описание" на каком языке сделано? не буду комментировать весь бред (особенно про пять полей), скажу только, что никто конфетку у вас не отбирает, успокойтесь. Детский сад. Еще раз отвечу на вопрос, показанное декларативное описание расчета стоимости сделано на тривиальном языке простейших формул. Разработка "универсальной формы" действительно требует немалых усилий, об этом в самом начале темы сказали. Что ж вы лезете тогда в обсуждение такой сложной темы непонимая простейшие вещи. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 12:40 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
trdm_Asm64DСкажем там надоело в последнее время клипание форм Ввода/Редактирования данных, со справочниками нет проблем - создана универсальная форма которая показывает любой справочник. А вот с другими таблицами по сложней, есть тоже универсальная форма которая отображает любой запрос/таблицу (генерация колонок, описания колонок и т.д.) но вот формы редактиирования/добавления приходится делать в ручную (пока) вот и задумался и хочу спросить кто что использует. Скажу просто - никогда ты не избавишся от ручного ковыряния форм. Всегда какая-то форма потребует "особого" внимания. Выход: Генерация форм по метаданным и шаблонизация форм. У меня есть несколько шаблонов отчетов которые меня хорошо выручают, когда заказывают новый отчет. Как в Искре будет разруливаться ситуация, когда дядя Вася может править только поле Price, а тетя Мотя только Qty. Только первый может видеть и редактировать Адрес доставки, а вторая поле Откат. У Васи нет колонки Стоимость в гриде и поля Итого. Согласовывать могут только Сидоров или Петров(они не видят суммы Отката), а утверждать только Администрация. Те каким образом реализуются разграничения прав доступа? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 12:44 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Не ИскраКак в Искре будет разруливаться ситуация..... А причем тут искра? Топик про другое. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 13:15 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Не Искраtrdm_Asm64DСкажем там надоело в последнее время клипание форм Ввода/Редактирования данных, со справочниками нет проблем - создана универсальная форма которая показывает любой справочник. А вот с другими таблицами по сложней, есть тоже универсальная форма которая отображает любой запрос/таблицу (генерация колонок, описания колонок и т.д.) но вот формы редактиирования/добавления приходится делать в ручную (пока) вот и задумался и хочу спросить кто что использует. Скажу просто - никогда ты не избавишся от ручного ковыряния форм. Всегда какая-то форма потребует "особого" внимания. Выход: Генерация форм по метаданным и шаблонизация форм. У меня есть несколько шаблонов отчетов которые меня хорошо выручают, когда заказывают новый отчет. Как в Искре будет разруливаться ситуация, когда дядя Вася может править только поле Price, а тетя Мотя только Qty. Только первый может видеть и редактировать Адрес доставки, а вторая поле Откат. У Васи нет колонки Стоимость в гриде и поля Итого. Согласовывать могут только Сидоров или Петров(они не видят суммы Отката), а утверждать только Администрация. Те каким образом реализуются разграничения прав доступа? не понятно при чем здесь Искра (хотя косвенно конечно вариант №2 в посте ТС) и почему вопрос задан коллеге trdm_. Ответ: для Васи поле Price разрешено для редактирования, а тете Моте только Qty. Только первый видит и редактирует Адрес доставки, а вторая поле Откат. У Васи колонка Стоимость в гриде и поле Итого делается невидимыми. Сервис Согласования доступен Сидорову и Петрову, а сервис Утверждения - Администрации. Все это, буквально в таком виде, как описано, настраивается в модуле управления доступом (рис. ниже). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 13:36 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Замечательная картинка. Только где на ней Вася и прочие? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 13:41 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Не ИскраЗамечательная картинка. Только где на ней Вася и прочие? Вася и прочие - пользователи, которым назначен профиль в качестве рабочего интерфейса. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 13:47 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmНе ИскраЗамечательная картинка. Только где на ней Вася и прочие? Вася и прочие - пользователи, которым назначен профиль в качестве рабочего интерфейса. Ну, теперь осталось только показать, как эти две картинки стыкуются вместе. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 14:07 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmtrdm_Скажу просто - никогда ты не избавишся от ручного ковыряния форм. Всегда какая-то форма потребует "особого" внимания. по статистике - одна из пары сотен на проекте. Фигу там. Особое внимание - это скорее плод отношения к пользователям. Если вы относитесь к своим пользователям как к коровам, то ради бога стройте типовые коровники. Большинство пожеланий моих пользователей заканчивается типовыми фразами: " это позволит мне [быстрее|лучше|понятнее]...." Очень мало форм осталось без особого "внимания". ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 14:09 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
trdm_iscrafmtrdm_Скажу просто - никогда ты не избавишся от ручного ковыряния форм. Всегда какая-то форма потребует "особого" внимания. по статистике - одна из пары сотен на проекте. Фигу там. Особое внимание - это скорее плод отношения к пользователям. Если вы относитесь к своим пользователям как к коровам, то ради бога стройте типовые коровники. Большинство пожеланий моих пользователей заканчивается типовыми фразами: " это позволит мне [быстрее|лучше|понятнее]...." Очень мало форм осталось без особого "внимания". можно пример формы, которая показывает особое внимание к пользователям, без пафоса и коровников? Пожалуйста ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 14:16 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmможно пример формы, которая показывает особое внимание к пользователям, без пафоса и коровников? Пожалуйста нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 14:18 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Не ИскраiscrafmНе ИскраЗамечательная картинка. Только где на ней Вася и прочие? Вася и прочие - пользователи, которым назначен профиль в качестве рабочего интерфейса. Ну, теперь осталось только показать, как эти две картинки стыкуются вместе. ок ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 14:19 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
trdm_iscrafmможно пример формы, которая показывает особое внимание к пользователям, без пафоса и коровников? Пожалуйста нет. как понимать "нет"? 1. живых примеров просто нет 2. нельзя без пафоса и коровников ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 14:21 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Asm64D, мой случай - NET ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 14:29 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafm, ну как токо доходит до форм, то сразу все в песок башку суют как будто все тут учителя ынформатики :( ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 14:33 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmtrdm_iscrafmможно пример формы, которая показывает особое внимание к пользователям, без пафоса и коровников? Пожалуйста нет. как понимать "нет"? 1. живых примеров просто нет 2. нельзя без пафоса и коровников да мне просто не нравится ход твоих мыслей. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 14:40 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Джамшид Ровшанiscrafm, ну как токо доходит до форм, то сразу все в песок башку суют как будто все тут учителя ынформатики :( мне не нравится соседство. искра тут своих скринов понатыкал. Типа у него все круто и проблем не возникакет = перевел тему в рекламный топик. Захламил теоретическую тему. Я до такого опускаться не намерен. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 14:45 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
trdm_, ход своих мыслей я озвучиваю, практически всегда с примерами. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 14:47 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
trdm_Джамшид Ровшанiscrafm, ну как токо доходит до форм, то сразу все в песок башку суют как будто все тут учителя ынформатики :( мне не нравится соседство. искра тут своих скринов понатыкал. Типа у него все круто и проблем не возникакет = перевел тему в рекламный топик. Захламил теоретическую тему. Я до такого опускаться не намерен. 1. ответил на конкретный вопрос, с примерами. Я не учитель "ынформатики", как сказал коллега Джамшид Ровшан, у меня просто есть реальная реализация того, что ТС обозначил как вариант №2. 2. Тема не теоретическая. 3. Никто не запрещает тебе показать примеры реализации по одному из двух вариантов, озвученных ТС. Это гораздо информативнее "бла-бла". Если знаешь как что-то реализовать, расскажи. Если не знаешь, то зачем захламлять тему. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 14:55 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmtrdm_, ход своих мыслей я озвучиваю, практически всегда с примерами. Примеры пока конкретных ответов не дают. Для каждого профиля отдельные формы создавать? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 15:11 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Не Искраiscrafmtrdm_, ход своих мыслей я озвучиваю, практически всегда с примерами. Примеры пока конкретных ответов не дают. Для каждого профиля отдельные формы создавать? нет конечно. форма одна. профиль определяет параметры формы ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 15:13 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmНе Искраiscrafmtrdm_, ход своих мыслей я озвучиваю, практически всегда с примерами. Примеры пока конкретных ответов не дают. Для каждого профиля отдельные формы создавать? нет конечно. форма одна. профиль определяет параметры формы примерно таким образом . ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 15:31 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmiscrafmНе Искраiscrafmtrdm_, ход своих мыслей я озвучиваю, практически всегда с примерами. Примеры пока конкретных ответов не дают. Для каждого профиля отдельные формы создавать? нет конечно. форма одна. профиль определяет параметры формы примерно таким образом . Это уже ближе. Не уловил, как конкретный профиль соотносится с содержанием формы. На пальцах, в двух словах и без видео(формат очень неудачный, без возможности останова и прокрутки.ИМХО) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 15:53 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafm3. Никто не запрещает тебе показать примеры реализации по одному из двух вариантов, озвученных ТС. А кто сказал что вариантов всего 2? Если рассмотреть проблему с точки помощью инструментов диалектики, то тут не 2 подхода а много больше. Это мне в девелопменте руки свяжет. "- Не могу позволить себе роскошь черно-белого зрения." (с) что-то по Флемингу. :) iscrafmЭто гораздо информативнее "бла-бла". А на счет "бла-бла" тебе уже в одной ветке сказали, что количество твоих сообщений уже перешагивает критический порог и каждой твое последующее сообщение уже воспринимает не как польза, а как спам. Сказано было топорно, без подведения теоретической базы, но мысль верна. Тебе стоит покурить 1-й закон диалектики: Переход от количественных изменений к качественным iscrafmЕсли не знаешь, то зачем захламлять тему. Я кстати вполне допускаю что твоя схема жизнеспособна. Но она е единственная. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 16:19 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
trdm_iscrafmЭто гораздо информативнее "бла-бла". А на счет "бла-бла" тебе уже в одной ветке сказали, что количество твоих сообщений уже перешагивает критический порог и каждой твое последующее сообщение уже воспринимает не как польза, а как спам. Сказано было топорно, без подведения теоретической базы, но мысль верна. Тебе стоит покурить 1-й закон диалектики: Переход от количественных изменений к качественным + по доброму предупреждаю тебя что эффект перехода количественных изменений в качественные иногда имеет не пологий, а скачкообразный график. Так что вполне допустимо, что что плеваться в твою сторону начнут чаще и энергичнее. Советую подумать над сменой имиджа, но я не очень силен в социологии и ты преспокойно можешь послать меня подальше со моими советами. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 16:24 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmне буду комментировать весь бред (особенно про пять полей),Ну понятно, что не будете - ведь сказать-то нечего. Лопухнулись, с кем не бывает iscrafm Еще раз отвечу на вопрос, показанное декларативное описание расчета стоимости сделано на тривиальном языке простейших формул. Значит "язык" все-таки есть. То есть обойтись без языка вам не удалось. Что и требовалось доказать. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 17:17 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
trdm_я не очень силен в социологии и ты преспокойно можешь послать меня подальше со моими советами. не только в социологии. Но вывод, хотя бы один, сделал правильный. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 19:49 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Не ИскраНе уловил, как конкретный профиль соотносится с содержанием формы. На пальцах, в двух словах и без видео(формат очень неудачный, без возможности останова и прокрутки.ИМХО) если в двух словах... описание формы - в содержании приложения. А в профиле некоторые ее свойства "перекрываются", т.е. модуль запуска (то что здесь озучено как "универсальная форма") исполняет форму из содержания, переопределяя свойства и опции, заданные профилем. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 19:55 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Теперь понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 23:02 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Лучший вариант - совместить создания 99% форм (коровников :) ) на лету из описания с возможностью вызова 1% форм сделанных в дизайнере или вручную. Для цивильности коровников - в описаниях форм хранить элементы разметки формы. Для придания функциональности - куски скриптов на разные события я такой велосипед сделал на python+qt (пока черновик) есть еще примеры таких рабочих систем? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2010, 14:42 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_agerсовместить создания 99% форм (коровников :) ) на лету из описания с возможностью вызова 1% форм сделанных в дизайнере или вручную . Для цивильности коровников - в описаниях форм хранить элементы разметки формы . Для придания функциональности - куски скриптов на разные события +1. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2010, 19:24 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
trdm_iscrafm3. Никто не запрещает тебе показать примеры реализации по одному из двух вариантов, озвученных ТС. А кто сказал что вариантов всего 2? Если рассмотреть проблему с точки помощью инструментов диалектики, то тут не 2 подхода а много больше. Это мне в девелопменте руки свяжет. чтобы тема не зачахла от пустословия, давай рассмотрим варианты более 2-х, как ты говоришь, с учетом банального ограничения: "надоело в последнее время клипание форм " (с) ТС хотя-бы с точки зрения, хм.., диалектики. Рассказывай, показывай. p.s слово "клипание" правильно пишется клЕпание. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2010, 19:46 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Bogdanov Andreyiscrafmне буду комментировать весь бред (особенно про пять полей),Ну понятно, что не будете - ведь сказать-то нечего. Лопухнулись, с кем не бывает Bogdanov Andreyпри выборе товара в одном поле формы в другом надо отобразить его цену , а в третьем общую стоимость прикола ради, давайте в слух до пяти посчитаем. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2010, 19:51 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmBogdanov Andreyпри выборе товара в одном поле формы в другом надо отобразить его цену , а в третьем общую стоимость прикола ради, давайте в слух до пяти посчитаем. Считайте. Когда насчитаетесь расскажите мне, кто такой PRICE в ваших формулах и кто - ITEMPRICE. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2010, 20:38 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Bogdanov AndreyiscrafmBogdanov Andreyпри выборе товара в одном поле формы в другом надо отобразить его цену , а в третьем общую стоимость прикола ради, давайте в слух до пяти посчитаем. Считайте. Когда насчитаетесь расскажите мне, кто такой PRICE в ваших формулах и кто - ITEMPRICE. давайте уже прикалываться по настоящему. Как архитектор архитектору, скажите плз сколько в формулах ITEMPRICE=PRICE AMOUNT=QTY*PRICE переменных и почему у вас их получилось 5, в лучшем случае, вместо 4-х. Давайте в столбик поучимся считать. Начинаю выписывать: ITEMPRICE PRICE QTY AMOUNT ---------- 4 добавьте пятую. Если не въезжаете, что "выбор товара" подразумевает наличие хотя-бы "внешней" цены в источнике, то в столбик посчитайте. Цирк, блин. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2010, 21:34 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Bogdanov Andrey, если уж решили похохмить со мной, то придется немного извилинами поработать. Ваш ход. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2010, 21:36 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Джамшид РовшанEybdthcfkmyfz cbcntvf, фигня, хватает 2-3 месяцев Это только для примитивных форм. Для работающих 2-3 года минимум ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 09:32 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafm давай рассмотрим варианты более 2-х, как ты говоришь, с учетом банального ограничения: "надоело в последнее время клипание форм " (с) ТС А вот и реальное ограничение: конечный пользователь сам придумывает новые сущности. Автоматом получаем вариант 2. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 09:37 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmдобавьте пятую. Ну собствено поле для ввода кода товара вы не посчитали. А уж оно в форме всяко есть. iscrafmЕсли не въезжаете, что "выбор товара" подразумевает наличие хотя-бы "внешней" цены в источнике, то в столбик посчитайте. Цирк, блин.Что за "источник"? iscrafmесли уж решили похохмить со мной, то придется немного извилинами поработать. Ваш ход.Ну что ж. Давайте работать мозгами. Началось все с того, что топикстартер предложил создать механизм генерации формы: 2) Одна универсальная форма генерации в Runtime указываешь название таблицы или запрос а форма сама во время работы генерирует все элементыИтак у нас есть табличка для ввода, ну скажем, накладной. Естественно, максимально простой вариант - в табличке разумно иметь две колоночки - ArticleCode - для хранения кода товара и Qty - количество. Указываем имя таблички для нашей универсальной формы и, естественно ожидать, что появиться форма с двумя элементами. Логично предположить, что во всяких вспомогательных описаниях к этим полям можно обращаться по тем же идентификаторам. Посему идентификатор QTY в формуле, живущей в контексте формы мне кажется законным. Но вот откуда в этом контексте взялось аж целых два идентификатора имеющих в своем имени Price - я не знаю. Видимо, универсальная форма обладает телепатическими способностями и добавляет такие элементы сама. Я могу предположить, что разработчик формы руками (кстати уже тут можно заметить, что тупой генерации формы по таблице - не достаточно, нужен еще и дизайнер, который позволит в этой форме что-то менять) добавит в нее некий элемент для показа цены товара (название ItemPrice) для такого элемента вполне приемлимо. Но откуда взялся второй - хотел бы услышать от вас. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 09:54 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Bogdanov AndreyНо вот откуда в этом контексте взялось аж целых два идентификатора имеющих в своем имени Price - я не знаю. Видимо, универсальная форма обладает телепатическими способностями и добавляет такие элементы сама. нет. Она просто обладает способностями слушать и запоминать. Ну и немножко разбирается в вопросе. Bogdanov Andrey при выборе товара в одном поле формы в другом надо отобразить его цену , а в третьем общую стоимость ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 10:48 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafm Она просто обладает способностями слушать и запоминать. Ну и немножко разбирается в вопросе. Искусственный интеллект? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 11:34 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmнет. Она просто обладает способностями слушать и запоминать. Ну и немножко разбирается в вопросе.Хорошо, что у вас такие "слушающие" формы. Ну раз нормальную дискуссию вы вести не готовы, то резюмирую. В дискуссию israfm влез с тезисом "с большей вероятностью можно обойтись вобще без "языка" (тынц) В качестве доказательства этого тезиса, он привел нечто "сделаное на тривиальном языке простейших формул" (тынц). То есть "язык" ему таки понадобился. А следовательно исходный тезис был высказан неверно. Дальнейшее нежелание обсуждать смысл приведенных формул показывает, что, по всей видимости, "тривиальный язык" не так уж тривиален. Ну и последнее. По словам того же iscrafm "Разработка универсальной формы действительно требует немалых усилий". Практического обоснования необходимости приложения этих усилий для топикстартера я не вижу, особенно с учетом того, что таких "универсальных форм" и так существуют десятки (от уже упоминавшися здесь 1c и искры, до распространенных во всем мире delphi, visual studio, eclipse и т.д.). И, почти наверняка, топикстартер уже занимается "клепанием форм" в одном из таких средств. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 11:38 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
ddddddddddiscrafm Она просто обладает способностями слушать и запоминать. Ну и немножко разбирается в вопросе. Искусственный интеллект? да, искусственный Bogdanov Andrey при выборе товара в одном поле формы в другом надо отобразить его цену, а в третьем общую стоимость? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 11:40 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Bogdanov Andrey Ну раз нормальную дискуссию вы вести не готовы, то резюмирую. В дискуссию israfm влез с тезисом "с большей вероятностью можно обойтись вобще без "языка". В качестве доказательства этого тезиса, он привел нечто "сделаное на тривиальном языке простейших формул". То есть "язык" ему таки понадобился. я вроде сказал, что готов подискутировать. Предлолжил вам переменные посчитать. Это более нормально и полезно, чем вести заумные беседы на тему: является ли декларативное описание правила расчета поля формы в виде "A=B+C" языком программирования. Bogdanov AndreyДальнейшее нежелание обсуждать смысл приведенных формул показывает, что, по всей видимости, "тривиальный язык" не так уж тривиален. о, да. Это действительно сложнейший язык. Его в первом классе школы начинают изучать. Смысл приведенных формул заключается в том, что переменной в левой части формулы присваивается выражение, записанное в правой части формулы. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 11:52 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmСмысл приведенных формул заключается в том, что переменной в левой части формулы присваивается выражение, записанное в правой части формулы.Осталось понять откуда появляются значения у правых частей формул. Я попросил вас пояснить что же такое стоит в правой части вашей формулы ITEMPRICE=PRICE. Откуда это "PRICE" взялось в форме, и как в это "PRICE" попадают значения. Вы ответить отказались. Либо вы сами этого не знаете, либо обяснение слишком сложно, и вам лень здесь его излагать. И то и другое говорит не в пользу "тривиальности языка". ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 12:09 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmо, да. Это действительно сложнейший язык. Его в первом классе школы начинают изучать. Смысл приведенных формул заключается в том, что переменной в левой части формулы присваивается выражение, записанное в правой части формулы. Кстати отмечу, что в первом классе школы две параллельные черточки означают отнюдь не присваивание, а равенство двeх выражений. А для присваивания такой значок используется в некоторых языках программирования, да и то не во всех. Это так к слову. Просто семантику даже простейших вещей надо зафиксировать и, собственно, набор таких семантических правил (вместе с лексическими и синтаксическими) языком (в программировании) и назыается. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 12:26 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Bogdanov AndreyiscrafmСмысл приведенных формул заключается в том, что переменной в левой части формулы присваивается выражение, записанное в правой части формулы.Осталось понять откуда появляются значения у правых частей формул. Я попросил вас пояснить что же такое стоит в правой части вашей формулы ITEMPRICE=PRICE. Откуда это "PRICE" взялось в форме, и как в это "PRICE" попадают значения. Вы ответить отказались. Либо вы сами этого не знаете, либо обяснение слишком сложно, и вам лень здесь его излагать. И то и другое говорит не в пользу "тривиальности языка". Bogdanov Andreyпри выборе товара в одном поле формы... все действительно очень сложно. Редактор поля для выбора товара вызывает справочник, в котором есть поле с ценой этого товара (PRICE). Эта цена присваивается значению поля обсуждаемой формы, как вы правильно заметили "при выборе товара в одном поле формы" (для этого используется нетривиальная конструкция ITEMPRICE=PRICE). Для расчета полной стоимости применяется тоже очень нетривиальная конструкция AMOUNT=QTY*PRICE; AMOUNT и QTY тоже имена полей. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 12:28 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Bogdanov AndreyДальнейшее нежелание обсуждать смысл приведенных формул показывает, что, по всей видимости, "тривиальный язык" не так уж тривиален. В формах использую любые выражения, допустимые в SQL, от тривиальных до довольно сложных. Но в любом случае это выражение вычисляется в уже готовом контексте, что хорошо. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 12:30 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Bogdanov Andrey Кстати отмечу, что в первом классе школы две параллельные черточки означают отнюдь не присваивание, а равенство двeх выражений. А для присваивания такой значок используется в некоторых языках программирования, да и то не во всех. Это так к слову. Просто семантику даже простейших вещей надо зафиксировать и, собственно, набор таких семантических правил (вместе с лексическими и синтаксическими) языком (в программировании) и назыается. глубоко копаете и основательно. Давайте для начала с элементарными вещами разберемся, а потом уже расскажите про семантику. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 12:33 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmвсе действительно очень сложно. Редактор поля для выбора товара вызывает справочник, в котором есть поле с ценой этого товара (PRICE). Эта цена присваивается значению поля обсуждаемой формы, как вы правильно заметили "при выборе товара в одном поле формы" То, что в формулах, описываемых в контексте одной формы можно обращаться к полям других форм кажется мне весьма странным. Каким же образом "универсальная форма" догадывается, что поле PRICE надо искать именно в форме справочника товаров? (кстати, откуда уверенность, что такое поле там есть?). Или предполагается, что имена всех полей глобально-уникальны? И поле PRICE может существовать только в одной-единственной форме? А если формы для справочника товаров нет и все то же самое должно происходить просто при ручном вводе кода товара? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 12:36 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Bogdanov AndreyКаким же образом "универсальная форма" догадывается, что поле PRICE надо искать именно в форме справочника товаров? (кстати, откуда уверенность, что такое поле там есть?). если формула "привязана" к событию выбора из справочника товаров, то догадаться действительно тяжело. А при написании формулы посмотреть, что поле такое есть вообще неразрешимая задача. Bogdanov AndreyА если формы для справочника товаров нет и все то же самое должно происходить просто при ручном вводе кода товара? а если этого нет, то нет и ... Bogdanov Andreyпри выборе товара в одном поле формы... хотите и об этом поговорить? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 12:46 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmесли формула "привязана" к событию выбора Так значит еще существует и "привязка к событиям"? То есть просто "декларативными формулами" уже не обойтись? Надо еще их и к событию привязывать? То есть отличий от разработки в любом другом IDE вообще не наблюдается. Я-то думал, что вам действительно удалось где-то что-то сделать более простым. Что ж вы сразу-то молчали. В рамках действительно "декларативного описания" не должно было бы быть никаких событий. Мы просто должны декларирировать то, что поле формы, показывающее цену равно цене. Я так надеялся, что у вас есть реальные мысли о том, как реализовать такое описание. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 12:58 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Bogdanov Andrey, например, для поля формы в качестве редактора назначается справочник. При выборе значения из справочника выполняются соответствующие назначения. Самой форме не нужно ни о чем догадываться самостоятельно. Контент определен, есть левая часть формулы, которая содержит поле формы, есть правая часть формулы, которая содержит поле назначенного справочника. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 12:58 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Bogdanov Andrey В рамках действительно "декларативного описания" не должно было бы быть никаких событий. Мы просто должны декларирировать то, что поле формы, показывающее цену равно цене. Я так надеялся, что у вас есть реальные мысли о том, как реализовать такое описание. есть не только реальные мысли, есть и реальная реализация. Мы просто декларируем, что "поле формы, показывающее цену равно цене" ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 13:01 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmесть не только реальные мысли, есть и реальная реализация. Мы просто декларируем, что "поле формы, показывающее цену равно цене"То есть про привязку к событию вы просто так ляпнули? И о том, что производится "присваивание" тоже? Из того, что написано в трех ваших предыдущих постах следует, что описание звучит следующим образом: при возникновении события "выбор товара" присвоить значению поля "ItemPrice" одной формы значение поля "Price" другой формы. Из этого совсем не следует, что указанное равенство будет выполняться всегда - существует куча других событий, которые могут изменить входящие в формулу компоненты. Ничего нового "декларативного" в вашей реализации я пока не наблюдаю. Примерно также работают куча других сред. Может быть что-то у вас сделано немного более удобно, что-то менее удобно. Самому мне с вашей средой работать не приходилось - точно судить не возьмусь. Кстати, еще немного про контекст идентификаторов. На вашей картинке есть замечательное равенство pqty=pqty. По всей видимости, оно означает, что из значения поля pqty одной формы надо переложить значение в поле pqty другой формы. А если там же написать присваивание xxx=pqty*yyy, то какое из двух полей pqty будет использоваться? И почему? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 13:16 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Bogdanov Andreyiscrafmесть не только реальные мысли, есть и реальная реализация. Мы просто декларируем, что "поле формы, показывающее цену равно цене"То есть про привязку к событию вы просто так ляпнули? И о том, что производится "присваивание" тоже? Из того, что написано в трех ваших предыдущих постах следует, что описание звучит следующим образом: при возникновении события "выбор товара" присвоить значению поля "ItemPrice" одной формы значение поля "Price" другой формы. Из этого совсем не следует, что указанное равенство будет выполняться всегда - существует куча других событий, которые могут изменить входящие в формулу компоненты. Bogdanov Andreyпри выборе товара в одном поле формы... с кем я разговариваю. Флудо-робот не настроенный какой-то? Устал уже копировать в n-й раз условие задачи. Bogdanov AndreyКстати, еще немного про контекст идентификаторов. На вашей картинке есть замечательное равенство pqty=pqty. По всей видимости, оно означает, что из значения поля pqty одной формы надо переложить значение в поле pqty другой формы. А если там же написать присваивание xxx=pqty*yyy, то какое из двух полей pqty будет использоваться? И почему? в зависимости от контента. При выборе из справочника он один, при редактировании другими способами - другой. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 13:25 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmBogdanov Andreyпри выборе товара в одном поле формы... с кем я разговариваю. Флудо-робот не настроенный какой-то? Устал уже копировать в n-й раз условие задачи.А вы кроме первого сообщения что-то пробовали читать? Для тупых могу еще раз повторить: Описание действий, выполняемых программой при наступлении тех или иных событий декларативным программированием не является, так как описывает не результат, а способ его достижения. Я не сомневаюсь в том, что задачу реакции на события в искре решить удалось. Но это не является ноу-хау и для меня интереса не представляет. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 14:00 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Bogdanov Andrey, так быстро аргументы закончились? авторОписание действий, выполняемых программой при наступлении тех или иных событий декларативным программированием не является, так как описывает не результат, а способ его достижения это, пожалуй, в цитатник. Необычное определение декларативного программирования. WPF с его декларациями отдыхает. p.s. Искра то здесь причем? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 14:14 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmтак быстро аргументы закончились?Аргументы чего? Я интересуюсь новинками. Сначала вы сказали, что язык вам не нужен. Мне очень интерсно, если удается описать что-то без языка. Но оказалось, что язык все-таки нужен. Интерес упал. Вы сказали, что используете декларативное описание. Меня декларативное описание заинтересовало. Но потом оказалось что вы используете "события", "присваивания" и т.п. Я не спорю - это все работает. Но это не более чем общепринятый и ставший уже традиционным подход к разработке. И это меня не интересует. iscrafmавторОписание действий, выполняемых программой при наступлении тех или иных событий декларативным программированием не является, так как описывает не результат, а способ его достижения это, пожалуй, в цитатник. Необычное определение декларативного программирования. WPF с его декларациями отдыхает.Да, в цитатник занесите. Только ссылку не на меня, а на википедию поставьте. Мне чужого не надо. Ну и, чтобы не соврать, вот точная цитата из википедии: программа «декларативна», если она описывает каково́ нечто, а не как его создать. Вы можете трактовать термин по другому - ради бога. Меня интересует не термин, а подоплека. iscrafmp.s. Искра то здесь причем?Ну вы утверждали, что у вас есть "реальная реализация". Я подумал, что речь об искре. Если нет, то извиняюсь - не прав. Можете вместо слова "искра" подставить нужное. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 14:27 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
В информатике, под декларативным программированием понимается парадигма программирования, которая выражает логику вычисления без описания его последовательности. Декларация описывает то, что программа должна выполнить, а не то, как достигается выполнение. Это контрастирует с императивным программированием, которое требует четко описанного алгоритма. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 14:28 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Bogdanov AndreyМне очень интерсно, если удается описать что-то без языка . Но оказалось, что язык все-таки нужен. Интерес упал. понимаю. Описать без языка это нонсенс. Хотя-бы по-русски нужно уметь, а уж формулу написать - это не камильфо. Bogdanov AndreyВы сказали, что используете декларативное описание. Меня декларативное описание заинтересовало. Но потом оказалось что вы используете "события", "присваивания" и т.п. Я не спорю - это все работает. Но это не более чем общепринятый и ставший уже традиционным подход к разработке. прокол серьезный конечно. Присвоить значение без присваивания, конечно вершина инженерной мысли. Как то упустил. программа «декларативна», если она описывает каково́ нечто, а не как его создать. Вы так и не поняли, что действительно описывается "каково́ нечто, а не как его создать". Как "создать" знает то, что называется в этом топике "универсальная форма", которая интерпретирует декларативное описание и создает форму. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 14:42 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmпонимаю. Описать без языка это нонсенс. Хотя-бы по-русски нужно уметь, а уж формулу написать - это не камильфо.Жаль, что вы не понимали этого раньше и грозились обойтись без языка. Не потратили бы трех страниц. iscrafmВы так и не поняли, что действительно описывается "каково́ нечто, а не как его создать". Как "создать" знает то, что называется в этом топике "универсальная форма", которая интерпретирует декларативное описание и создает форму.С моей точки зрения, в нашем утрированном примере описание "каково" означает, что описывается тот факт, что поле отображает цену. Без указания того, какими операциями это достигается. То есть поле такого, что отображает цену. В вашем же описании явное описание последовательности выполнения шагов - после выбора одного значения присвой другое. В вашем понимании любое программирование будет декларативным. Например, конструкция Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 15:13 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Bogdanov Andrey В вашем понимании любое программирование будет декларативным. Например, конструкция Код: plaintext
Тут что то выдраное из контекста. Не ясно, что вообще декларируется. Декларация скорее должна выглядеть так: Код: plaintext
Причём это не формула расчёта одного значения из другого (так при result=3 значение a может быть любым кроме 1). А скорее утверждение, что в результате расчёта значений a и result данный предикат должен быть истиным. Причём даже такая конструкция не является декларативной: Код: plaintext
поскольку тут мы в выражении определили порядок вычисления и применили алгоритмический оператор присваивания. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 15:43 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
mcureenabПричём даже такая конструкция не является декларативной: Код: plaintext
поскольку тут мы в выражении определили порядок вычисления и применили алгоритмический оператор присваивания.Именно об этом я и пишу Валерию. Он же считает, что оператор присиваивания декларативности не помеха. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 15:49 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Про автогенерируемые формы здесь еще что-нибудь будет? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 16:28 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
ddddddddddПро автогенерируемые формы здесь еще что-нибудь будет? таки да, много флуда не по теме. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 17:48 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
"универсальной формы" конечно же быть не может. тут Bogdanov Andrey прав. Надо описание, и тут все становится очень похожим на обычный дизайнер форм. Но есть еще плюс в генерации форм на лету - можно вносить изменения в создаваемую форму (добавлять, скрывать элементы). Например - есть тиражная система по учету ТМЦ, внедрена 100 раз. Но вот 101 клиенту нужно добавить к характеристикам ТМЦ что-то уникальное (пусть содержание спирта в косметике). Решение - создадим в таблице БД соответствующее поле, а в момент генерации формы выполним определенный скрипт и добавим его на форму. Все это - не меняя программы (которая логики не содержит, а только формы собирает), и не меняя тиражируемого описания нашей супертиражной :) системы. А для реализации построения экрана на ходу хорошо подходит библиотека QT: там используются менеджеры размещения - layout, которые сами размещают элементы управления в окне ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 20:48 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_agerА для реализации построения экрана на ходу хорошо подходит библиотека QT: там используются менеджеры размещения - layout, которые сами размещают элементы управления в окне Лайот не панацея - он "расположением" не занимается. Может только тупо растянуть или сжать виджет уже размещенный в нужном месте. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 21:33 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_ager"универсальной формы" конечно же быть не может. тут Bogdanov Andrey прав. Надо описание, и тут все становится очень похожим на обычный дизайнер форм. Но есть еще плюс в генерации форм на лету - можно вносить изменения в создаваемую форму (добавлять, скрывать элементы). А для реализации построения экрана на ходу хорошо подходит библиотека QT: там используются менеджеры размещения - layout, которые сами размещают элементы управления в окне XAML еще лучше. С ним никакие "универсальные формы" не нужны. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 22:36 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
trdm_Лайот не панацея - он "расположением" не занимается. Может только тупо растянуть или сжать виджет уже размещенный в нужном месте. это так. Но на форме можно разместить несколько разных layout, в т.ч. и вложенных. Нужно только в описании указать, то такие-то элементы должны находится в таком-то layout-е в таком-то порядке. И тогда экран приобретет вид "руками нарисованного" но и просто "тупо растянуть или сжать виджет" - уже полезно - можно хотя бы шрифты побольше установить 2 Не QT XAML - это же еще один язык описание форм? что там за магия? а то я никогда не сталкивался с ним ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 23:18 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_agerXAML - это же еще один язык описание форм? что там за магия? а то я никогда не сталкивался с ним Да, язык описания форм в WPF. Сполошная декларативность, интерактивность, полная независимость данных от визуальной части и наоборот. Разработку можно вести даже без готовых форм ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 23:44 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Не QTполная независимость данных от визуальной части и наоборот а в чем смысл? форма (например, редактирования записи в таблице БД) предполагает знание структуры БД. а магия где? поможет мне XAML вставить в систему несколько справочников быстрее, чем в той же Искре? А потом (по мере развития системы) расширять. Или тюнинговать их у заказчика без перекомпиляции? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 00:54 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Основная магия в том, что визуальная часть полностью отделена и в любой момент может быть заменена на другую. БЛ и прочий код, тоже не имеют никаких ссылок на ее элементы. Все это значительно упрощает разработку. С правочниками все просто.Сама форма может грузить их данные во время выполнения и автоматически будут делаться все необходимые привязки. Динамически создавать формы можно(сделать это гораздо проще), но в этом нет никакой необходимости. Все и так предельно упрощено. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 01:35 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Не QTОсновная магия в том, что визуальная часть полностью отделена и в любой момент может быть заменена на другую. БЛ и прочий код, тоже не имеют никаких ссылок на ее элементы. Все это значительно упрощает разработку. С правочниками все просто.Сама форма может грузить их данные во время выполнения и автоматически будут делаться все необходимые привязки. Динамически создавать формы можно(сделать это гораздо проще), но в этом нет никакой необходимости. Все и так предельно упрощено. Вы бы пару страниц кода привели, чтобы всем было понятно, насколько упрощено. А то коллега предупредил, что не видел WPF и XAML, грех не воспользоваться. Давайте немного спустимся на землю. А коллеге vill_ager просто полезно будет почитать форум на этом сайте, посмотреть какие проблемы там обсуждаются и почитать различные материалы в инете, чтобы оценить "упрощенность". ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 12:09 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Неужели можно понять на 2 страницах кода, как работает вся система? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 12:26 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
на двух страницах можно понять, что ничего простого там нет. А почитав форумы и удивившись решаемым проблемам, можно понять, что у всего есть свое предназначение ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 12:42 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Код(XAML) может быть любым и совершенно не интересен. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 12:44 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmна двух страницах можно понять, что ничего простого там нет. А почитав форумы и удивившись решаемым проблемам, можно понять, что у всего есть свое предназначение Форумы разные бывают, это не показатель. Некоторые продолжают по-старинке, отсюда и проблемы на ровном месте, которых не должно быть в принципе . ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 12:51 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
XAML я видел, но магии не заметил :) поэтому и задал вопрос - вдруг я не все увидел в свое время а хочу я увидеть реализацию такого примера: для справочника из двух полей - код, текст: база_данных=открыть_базу_данных("имя бд") справочник=форма() справочник.добавить_поле("код") справочник.добавить_поле("текст") справочник.добавить_полное_меню_для_редактирования() справочник.таблица=база_данных.таблица("имя таблицы") справочник.запустить() (кириллицей воспользовался простоты для,а не идейным соображениям по :) ) результат - грид для просмотра справочника, меню(тулбар) для ввода, правки, удаления строк, форма ввода. поможет мне XAML? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 15:09 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_agerXAML я видел, но магии не заметил :) поэтому и задал вопрос - вдруг я не все увидел в свое время а хочу я увидеть реализацию такого примера: для справочника из двух полей - код, текст: база_данных=открыть_базу_данных("имя бд") справочник=форма() справочник.добавить_поле("код") справочник.добавить_поле("текст") справочник.добавить_полное_меню_для_редактирования() справочник.таблица=база_данных.таблица("имя таблицы") справочник.запустить() (кириллицей воспользовался простоты для,а не идейным соображениям по :) ) результат - грид для просмотра справочника, меню(тулбар) для ввода, правки, удаления строк, форма ввода. поможет мне XAML? Я написал себе такой генератор. Сейчас дорабатываю мелочи, иконки рисую, хочу расширить список шаблонов и компонент для делактирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 16:17 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
ddddddddddvill_agerXAML я видел, но магии не заметил :) поэтому и задал вопрос - вдруг я не все увидел в свое время а хочу я увидеть реализацию такого примера: для справочника из двух полей - код, текст: база_данных=открыть_базу_данных("имя бд") справочник=форма() справочник.добавить_поле("код") справочник.добавить_поле("текст") справочник.добавить_полное_меню_для_редактирования() справочник.таблица=база_данных.таблица("имя таблицы") справочник.запустить() (кириллицей воспользовался простоты для,а не идейным соображениям по :) ) результат - грид для просмотра справочника, меню(тулбар) для ввода, правки, удаления строк, форма ввода. поможет мне XAML? Я написал себе такой генератор. Сейчас дорабатываю мелочи, иконки рисую, хочу расширить список шаблонов и компонент для делактирования . редактирования. Для редактирования формирую отдельную форму. В Гриде не редактирую. в перспективе расширенный поиск, фильтрация, настройка колонок, права доступа и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 16:20 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_ager, Троли щас продвигают qml. Та же морда только json вместо xml. Зачем эти *ml нужны? Запись аккуратнее. Вот в твоем примере можно заметить, что "справочник" повторяется 6 раз. а зачем? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 16:33 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
dddddddddd Для редактирования формирую отдельную форму. В Гриде не редактирую. тут я согласен. а на чем сделано? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 16:35 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
antares0vill_ager, Троли щас продвигают qml. Та же морда только json вместо xml. Зачем эти *ml нужны? Запись аккуратнее. Вот в твоем примере можно заметить, что "справочник" повторяется 6 раз. а зачем? справочник 6 раз - это мелочи. допустим у вас справочник товара ID Артикул Наименование Код фасовки Код производителя Код страны-происходждения код цвета код размера код единицы измерения и еще 10 ссылочных полей. причем некоторые поля могут идти через промежуточные таблицы Как редактировать такую таблицу? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 16:38 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_agerdddddddddd Для редактирования формирую отдельную форму. В Гриде не редактирую. тут я согласен. а на чем сделано? D7+Oracl ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 16:39 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
ddddddddddКак редактировать такую таблицу?выпадающий список встроить в грид, не? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 16:42 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Вот пример кода, да простят меня за замусоривание. (форма ("имя бд" "имя таблиицы" :type справочник :меню |Для редактирования|) (код текст)) P. S. У себя я по другому пишу, но принцип должен быть ясен. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 16:48 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 16:50 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
src забыл Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 16:51 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
antares0vill_ager, Троли щас продвигают qml. Та же морда только json вместо xml. Зачем эти *ml нужны? Запись аккуратнее. Вот в твоем примере можно заметить, что "справочник" повторяется 6 раз. а зачем? вообще-то это текст программы, а не описание. Поэтому справочник - это имя переменной (экземпляра класса форма) с xml удобно работать (читать, писать - но не писать руками) а любое описание (xml, json, ) парсится и превращается в последовательный вызов справочник.добавить_поле("...") хотя в рабочей программе параметров побольше ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 16:56 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_ager, Описание описывает и выполняет. Я же не говорю что это тайная магия, просто запись короче. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 17:03 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
egorychddddddddddКак редактировать такую таблицу?выпадающий список встроить в грид, не? 1.Где взять запрос 2.Какое поле ключевое 3.Какое поле для просмотра? ЗЫ Редактировать в гриде - не мой стиль ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 17:08 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
dddddddddd справочник 6 раз - это мелочи. допустим у вас справочник товара ID Артикул Наименование Код фасовки Код производителя Код страны-происходждения код цвета код размера код единицы измерения и еще 10 ссылочных полей. причем некоторые поля могут идти через промежуточные таблицы Как редактировать такую таблицу? Код: plaintext 1. 2. 3.
для таких полей при сборке формы редактирования ставим рядом pushbutton для вызова справочника при вводе кода фасовки лезем в таблицу, и проверяем введенный код, если код отсутствует - показываем справочник фасовки (собираем его из описания и добавляем ему в в меню и на тулбар команду - выбрать код) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 17:13 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
ddddddddddНеужели можно понять на 2 страницах кода, как работает вся система? + 500 Даже в интерпретируемых языках пара страниц кода может заморочить голову, а если брать высокоуровневые: c++, VB и т.п. едолго заблудиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 17:19 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
antares0vill_ager, Описание описывает и выполняет. Я же не говорю что это тайная магия, просто запись короче. можно и в одну строку, дело вкуса мне нравится все по полкам раскладывать, так читается легче а вообще тут эволюция: я такое делал сначала для программного создания форм затем просто переложил описание полей, меню в таблицу, сделал цикл .... и теперь это все вызывается типа так: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 17:20 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_agerdddddddddd справочник 6 раз - это мелочи. допустим у вас справочник товара ID Артикул Наименование Код фасовки Код производителя Код страны-происходждения код цвета код размера код единицы измерения и еще 10 ссылочных полей. причем некоторые поля могут идти через промежуточные таблицы Как редактировать такую таблицу? Код: plaintext 1. 2. 3.
для таких полей при сборке формы редактирования ставим рядом pushbutton для вызова справочника при вводе кода фасовки лезем в таблицу, и проверяем введенный код, если код отсутствует - показываем справочник фасовки (собираем его из описания и добавляем ему в в меню и на тулбар команду - выбрать код) А не проще взять Дельфи, положить на форму 3 компоненты, связать их и написать запрос? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 17:22 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
dddddddddddА не проще взять Дельфи, положить на форму 3 компоненты, связать их и написать запрос? а это тоже дело вкуса :) может и проще только если все это повторить -цать раз - руки заболят. и при добавлении новых полей в форму придется ее выстроивать ее заново хотя если работать на почасовой оплате - можно и так но я работаю на себя :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 17:32 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
ddddddddd wrote: >>1.Где взять запрос >>2.Какое поле ключевое >>3.Какое поле для просмотра? написать руками, если фреймворк не позволяет это сделать автоматически. Этот пример - один из минусов автоматических универсальных форм, имхо. >>ЗЫ Редактировать в гриде - не мой стиль мне жаль ваших пользователей. Из-за того, что программисту лень, им приходится вызывать тысячи однообразных форм ввода, отвлекающих от основной работы и перекрывающих контекст. Хотя, впрочем, это тема другого холивара ;-)) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 17:34 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_agerdddddddddddА не проще взять Дельфи, положить на форму 3 компоненты, связать их и написать запрос? а это тоже дело вкуса :) может и проще только если все это повторить -цать раз - руки заболят. и при добавлении новых полей в форму придется ее выстроивать ее заново хотя если работать на почасовой оплате - можно и так но я работаю на себя :) Почему заново? Просто добавить поля. Кстати, Ваша система 2-х или 3-х звенная? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 17:35 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
egorychddddddddd wrote: >>1.Где взять запрос >>2.Какое поле ключевое >>3.Какое поле для просмотра? написать руками, если фреймворк не позволяет это сделать автоматически. Этот пример - один из минусов автоматических универсальных форм, имхо. >>ЗЫ Редактировать в гриде - не мой стиль мне жаль ваших пользователей. Из-за того, что программисту лень, им приходится вызывать тысячи однообразных форм ввода, отвлекающих от основной работы и перекрывающих контекст. Хотя, впрочем, это тема другого холивара ;-)) Считаете, что удобнее редактировать в Гриде шириной в 2-3 экрана? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 17:38 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_ager для справочника из двух полей - код, текст: база_данных=открыть_базу_данных("имя бд") справочник=форма() справочник.добавить_поле("код") справочник.добавить_поле("текст") справочник.добавить_полное_меню_для_редактирования() справочник.таблица=база_данных.таблица("имя таблицы") справочник.запустить() Изюминг в этом есть, но сделано бестолково. Я бы сделал так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 18:01 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
dddddddddddКстати, Ваша система 2-х или 3-х звенная? Звезданутость системы не может быть выше звезданутости автора. :) Шутка :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 18:03 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
ddddddddddСчитаете, что удобнее редактировать в Гриде шириной в 2-3 экрана?вы бы видели, как они ( пользователи ) это делают ))) факт в том, что в огромной плоской таблице юзвери ориентируются значительно лучше, чем в форме даже из 4х едитов. Наблюдал это неоднократно, в связи с чем поменял религию ;-)) тоже раньше верил, что формы ввода - это удобнее, чем грид. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 18:04 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
trdm_Я бы сделал так: хм, а это идея - прототипировать результат, а потом выстраивать на наиболее удачном прототипе внутренюю структуру %) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 18:13 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
trdm_vill_ager для справочника из двух полей - код, текст: база_данных=открыть_базу_данных("имя бд") справочник=форма() справочник.добавить_поле("код") справочник.добавить_поле("текст") справочник.добавить_полное_меню_для_редактирования() справочник.таблица=база_данных.таблица("имя таблицы") справочник.запустить() Изюминг в этом есть, но сделано бестолково. Я бы сделал так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
в моем примере строка Код: plaintext
а строка Код: plaintext
а эти Ваши строки Код: plaintext 1. 2. 3. 4. 5.
и как раз на этом экономится время при разработке. 2 egorych редактирование в гриде/форме - дело вкуса и конкретной ситуации тем более, если все формы собираются на лету - всегда есть возможность поменять стиль редактирования (забить в профиль пользователя предпочтительный стиль) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 19:13 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
ddddddddddd Почему заново? Просто добавить поля. Кстати, Ваша система 2-х или 3-х звенная? в классическом дизайнере форм для того, чтобы разместить элемент на существующей форме в желаемом месте это место нужно освободить (поработать мышкой) пока 2-х звенная ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 19:19 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_ager а эти Ваши строки Код: plaintext 1. 2. 3. 4. 5.
и как раз на этом экономится время при разработке. угу и зарабатываются шишки впоследствии. Один из работников предприятия очень любил у нас пунтосвитчер и не глядя колбасил элементы в справочники. В общем наколбасил он он с этим пунтосвитчером немало. Пришлось вычищать и сделать кучу проверок при вводе. Вопрос: Как у табя осуществляется проверка перед записью элемента? У меня много справочников и документов в которых требуются заполненные поля. Причем комбинации полей меняются для одного и того же справочника в зависимости от ведеших атрибутов. У тебя в системе возможно создать такую проверку? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 20:09 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
+ ну например ИНН для контрагента - обязателен. Проверяется и его длина: если юр-лицо - 10 симв., если физ лицо 12. Покажи код такой проверки, пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 20:10 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
trdm_+ ну например ИНН для контрагента - обязателен. Проверяется и его длина: если юр-лицо - 10 симв., если физ лицо 12. Покажи код такой проверки, пожалуйста. это уже сложнее Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
если без наворотов - стандартно сработает Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 20:31 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_agerэто уже сложнее Дык я сразу говорил, автогенерация форм - это хорошо, но черевато, немало форм будет требовать особого внимания. У меня во многих классификаторах задействована процедура проверки уникальности наименования не говоря уже об ИНН и т.п. Уникальность наименования контролируется в справочниках: - БИЛАЙН_Сервисы; - БИЛАЙН_ТарифныеПланы; - ВидыДокументовКонфигурации; - ВидыНалогов; э.... еще в 46 справочниках, если верить поиску подстроки "глКонтрольУникальностиРеквизитовСпр" Это не считая проверок смешанных алфавитов в наименованиях, проверки на символы типа "..." в наименованиях и т.п. Практика показывает, что юзвери, это блин такие звери ( ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 20:44 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Не, формы - это одно, проверки другое. У меня формы со своими скриптами отвечают только за визуализацию: там контрол скрыть, там показать и т.п. Проверки - в отдельном скрипте, даже не в одном, а в цепочке сценариев, навешанных на "сохранение" или "выполнение метода" и т.п. PS: Имхо пользователи к гридам хорошо относятся из-за своей любимой программы: "ексель" ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 20:59 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Alex SPS: Имхо пользователи к гридам хорошо относятся из-за своей любимой программы: "ексель" )))это не имхо, это факт ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 22:41 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
trdm_vill_agerэто уже сложнее Дык я сразу говорил, автогенерация форм - это хорошо, но черевато, немало форм будет требовать особого внимания. У меня во многих классификаторах задействована процедура проверки уникальности наименования не говоря уже об ИНН и т.п. Уникальность наименования контролируется в справочниках: - БИЛАЙН_Сервисы; - БИЛАЙН_ТарифныеПланы; - ВидыДокументовКонфигурации; - ВидыНалогов; э.... еще в 46 справочниках, если верить поиску подстроки "глКонтрольУникальностиРеквизитовСпр" Это не считая проверок смешанных алфавитов в наименованиях, проверки на символы типа "..." в наименованиях и т.п. Практика показывает, что юзвери, это блин такие звери (] Ви таки слюшаете Билан а Звери? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2010, 08:59 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Alex SPS: Имхо пользователи к гридам хорошо относятся из-за своей любимой программы: "ексель" )))Гриды удобны пользователям там, где от них требуется "тупое вколачивание данных". С большой вероятностью это говорит о плохом подходе к автоматизации в целом, об отсутствии продуманных бизнес-процессов. Но это вина не программистов и даже не системных архитекторов, а скорее бизнес-аналитиков. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2010, 10:02 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Bogdanov AndreyГриды удобны пользователям там, где от них требуется "тупое вколачивание данных".не соглашусь, для тупого вколачивания данных как раз удобнее форма, а-ля экран оператора в сбербанке, и никакой мышки, естественно. Грид удобен тем, что позволяет увидеть весь контекст, необходимый для работы. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2010, 11:13 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
авторГриды удобны пользователям там, где от них требуется "тупое вколачивание данных". С большой вероятностью это говорит о плохом подходе к автоматизации в целом, об отсутствии продуманных бизнес-процессов. Но это вина не программистов и даже не системных архитекторов, а скорее бизнес-аналитиков. Не совсем с этим согласен. В грид удобнее и быстрее вводить несколько однообразных порций информации. Открытие на каждый чох отдельной форы-карточки - лишние накладные расходы. Часто в гридах бывает нужно скопировать куски ячеек а-ля-эксел - несколько штук с одного места на другое. Переход из грида в карточку и обратно должен быть удобный и мгновенный. Каждый инструмент имеет свои сильные и слабые стороны, грех, если вы их не используете сильные там, где пользователи как раз в них нуждаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2010, 11:18 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Bogdanov AndreyГриды удобны пользователям там, где от них требуется "тупое вколачивание данных". С большой вероятностью это говорит о плохом подходе к автоматизации в целом, об отсутствии продуманных бизнес-процессов. Но это вина не программистов и даже не системных архитекторов, а скорее бизнес-аналитиков.Я скорее сформулировал бы так: там где требуется ввод многих строк однотипной информации. С "тупостью", а тем более с плохим подходом к автоматизации и бизнес-процессами я бы не увязывал. Вообще сделать в системе генерацию формы по ins в гриде, состоящую из полей по колонкам грида - элементарно. Хочешь - в грид вводи, хочешь в форму. У меня это, как правило, табличные части документов. Т.е. сам документ - форма, но в нем могут быть табличные части - гриды. Например:накладная - форма; позиции по накладной - грид на этой форме, по INS в этом гриде либо ввод непосредственно в гриде, либо в модальной форме (либо сгенерированная, либо "задизайненная"). ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2010, 11:38 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
с гридами все понятно-кому нравится, иногда удобно но если тот же справочник имеет большое количество полей, которые хорошо бы визуально объединить по каким-то признакам (качественные характеристики, аналитические коды - не важно)? в форме это сделать просто - если помещается на один экран - делаем групбоксы, если нет - закладки (tabpages, или как это по русски :) ) а в гриде как? если только цветом... кста, вопрос к iscrafm - у Вас наверняка есть возможность делать такие формы - интересно демку глянуть. У себя примерно так делаю Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2010, 11:44 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_agerа в гриде как? если только цветом...именно. этого, как правило, достаточно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2010, 12:05 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Была попытка сделать такое, история давняя, еще со времен клипера. Описание формы содержит модель данных (блоки, переменные), привязанные справочники, экранные элементы. Это дает автоматическую координацию блоков, автоматическое же открытие справочников и выбор значений из них. Справочник - тоже форма. Рантайм на яве по описанию формирует команды выборки, вставки, обновления и удаления. По умолчанию предполагается, что все проверки выполняются сервером БД. Если в это надо вмешаться - соответсвующие методы должны быть переопределены. Конкретная форма - класс, расширяющий общий класс форм. Минимально он должен содержать конструктор, вызывающий конструктор суперкласса. Никаких рюшечек естественно нет. Трудоемкость разработки формы ниже, чем при использовании Oracle SQL*Forms. Минусы тоже есть. Рантайм не так уж мал и не все в нем есть. Выход за рамки реализованной функциональности возможен, но простота при этом теряется. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2010, 14:04 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
П-ЛЯ скорее сформулировал бы так: там где требуется ввод многих строк однотипной информации. С "тупостью", а тем более с плохим подходом к автоматизации и бизнес-процессами я бы не увязывал.Я знаю очень мало случаев, когда ввод однотипной информации является объективной необхоимостью. В большинстве случаев такой ввод вызван тем, что не все участки работы автоматизированы, не продумана интеграция и т.п. В жизни массивы однотипной информации сами по себе не встречаются - они появляются уже вследствии обработки индивидуальных "порций информации". Соответственно, если пользователю на вход попал массив , то это значит, что на более ранней стадии обработки информации автоматизация недостаточная. Ну а слово "тупость" здесь употреблено в том смысле, что пользователь вводит некую взятую извне информацию не сильно задумываясь о смысле и т.п. У него есть массив - его надо вбить. Откуда там появилась та или иная строка - его не интересует. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2010, 16:47 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2.
Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2010, 18:29 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_agerЛучший вариант - совместить создания 99% форм (коровников :) ) на лету из описания с возможностью вызова 1% форм сделанных в дизайнере или вручную. Для цивильности коровников - в описаниях форм хранить элементы разметки формы. Для придания функциональности - куски скриптов на разные события я такой велосипед сделал на python+qt (пока черновик) есть еще примеры таких рабочих систем? Мы делаем такую систему - где все поведение формы описывается декларативно. Стремимся, чтобы сгенерированная форма полностью удовлетворила пользователя. Наших клиентов в целом удовлетворяет. Форм сделанных в ручную, думаю, намного меньше 1%. Функциональность получаем без использования событий, путем написания формул (можете называть это языком – но это просто формулы). Пример: ItemPrice (берется из справочника) Qty (редактируемое) Price (редактируемое) = ItemPrice Total = Price *Qty Формулы выполняются только в случае, если хотя бы одна составляющая поменялась. Т.е если мы на форме выбрали другую номенклатуру, то пересчитается Price и Total, а если поредактировали Price, то поменяется Total. Про задание поведения можно посмотреть тут Пример Когда ItemPrice >1000 поле Price сделать ReadOnly. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2010, 18:31 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
-lesha- Функциональность получаем без использования событий, путем написания формул (можете называть это языком – но это просто формулы). а я решил ни в чем себе не отказывать - и события, и язык - полный доступ к форме для тюнинга :) зато руки развязаны - любые проверки и реакции на действия пользователя зы: формулой трудновато описать такое - если пользователь ввел неправильные данные - заблокировать событие сохранения (и сделать цвет формы ярко-красным :) ) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2010, 19:40 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_agerУ себя примерно так делаю Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
1С ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2010, 22:20 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Petro1231С ? нет тынц ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2010, 23:11 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 00:57 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Petro123vill_agerУ себя примерно так делаю Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
1С ? не могу понять одного - почему надо так извращаться, вместо того, что бы ипспользовать полноценный язык с хорошим отладчиком? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 09:10 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
ddddddddddd1С ? не могу понять одного - почему надо так извращаться, вместо того, что бы ипспользовать полноценный язык с хорошим отладчиком? потому что не пробовали :) Это и есть велосипедостроение. Или когда нибудь докажут, что "земля круглая" ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 09:21 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Petro123ddddddddddd1С ? не могу понять одного - почему надо так извращаться, вместо того, что бы ипспользовать полноценный язык с хорошим отладчиком? потому что не пробовали :) Это и есть велосипедостроение. Или когда нибудь докажут, что "земля круглая" Я то пробовал, но уже двано завязал с этим. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 09:48 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
dddddddddddне могу понять одного - почему надо так извращаться, вместо того, что бы ипспользовать полноценный язык с хорошим отладчиком? может я не понятно написал - я использую полноценный python а русский текст только здесь - для того, чтобы не писать комменты зы:с 1ц никогда не работал :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 10:06 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_agerdddddddddddне могу понять одного - почему надо так извращаться, вместо того, что бы ипспользовать полноценный язык с хорошим отладчиком? может я не понятно написал - я использую полноценный python а русский текст только здесь - для того, чтобы не писать комменты зы:с 1ц никогда не работал :) Вообще-то здесь обсуждаются генераторы форм в ран0тай ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 10:11 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_agerdddddddddddне могу понять одного - почему надо так извращаться, вместо того, что бы ипспользовать полноценный язык с хорошим отладчиком? может я не понятно написал - я использую полноценный python а русский текст только здесь - для того, чтобы не писать комменты зы:с 1ц никогда не работал :) Вообще-то здесь обсуждаются генераторы форм в ран0тай ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 10:12 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
dddddddddddВообще-то здесь обсуждаются генераторы форм в ран0тай Прошу прощения просто хотел отметить, что форма в рантайм может генерироваться из описания (метаданных), а может путем выполнения программного кода. Первый вариант видно в 1ц, Искре, еще тут TNP пробегала. А вот варианта с коротким скриптом не видел. Может и не нужен такой? Мне лично иногда легче несколько строк в скрипте написать, чем создавать новое описание. То же самое и с отчетами. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 10:42 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
-lesha-Функциональность получаем без использования событий, путем написания формул (можете называть это языком – но это просто формулы). Функций не хватает и логических выражений ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 12:05 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_ager, питон люблю именно за лаконичность ЯП и краткость. Его часто сравнивают с Delphi. Просто в ЯП высокого уровня такие конструкции нет смысла "зашивать". Поэтому вы определитесь, вероятно вам фреймворк нужен (типа 1С) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 12:24 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Если кому интересно - могу поделиться. Сейчас у нас в компании несколько систем написаны на основе одного и того же самописного движка. Написан он на ASP.NET, суть в том, что кодить там не приходится вообще. Тупо накидываешь поля, кучей настроек задаешь их поведение. как таковое, и в зависимости от других полей. Можно указывать дочерние карточки, карточки куда переносятся данные. В общем учтено все. Просто накидал полей, задал сырцовый html для разметки, который потом преобразуется в XHTML отображающий конечный вид с данными. Дополнять такую систему функционалом для пользователей - одно удовольствие. Честно скажу. А вот пользователям туго. Несмотря на очень хорошо настроенное кэширование тормоза просто жуткие. Интерфейс отрисовывается прямо на глазах. Это по началу даже забавно, но начинает быстро утомлять. И если, не дай бог, ты где-то что-то косянул, то в дебаге несколько дней просидишь, прежде чем найдешь, в чем ошибка. Сразу скажу, что это самый красиво спроектированный движок из тех, что я видел. Но даже от него косяков очень много. С точки зрения программиста такие системы очень красивы и интересны. Но пользователь от такой будет страдать. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 12:32 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
nibo -тормоза просто жуткие. Интерфейс отрисовывается прямо на глазах. -если, не дай бог, ты где-то что-то косянул, то в дебаге несколько дней просидишь, прежде чем найдешь, в чем ошибка. nibo это самый красиво спроектированный движок из тех, что я видел. как-то не вяжется одно с другим. или хотели сказать "самый не красиво спроектированный"? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 12:41 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmnibo -тормоза просто жуткие. Интерфейс отрисовывается прямо на глазах. -если, не дай бог, ты где-то что-то косянул, то в дебаге несколько дней просидишь, прежде чем найдешь, в чем ошибка. nibo это самый красиво спроектированный движок из тех, что я видел. как-то не вяжется одно с другим. или хотели сказать "самый не красиво спроектированный"? Нет. Я хотел сказать то, что сказал. Просто у всех решений есть свои минусы. У динамического создания форм минус это тормоза, вызванные как раз построением формы. Код там написан очень красиво, я в разработке движка не участвовал и сейчас разбирая его взглядом со стороны даже не могу указать мест, где код можно было бы значительно оптимизировать. Но просто на таких масштабах система не вывозит. То же самое как касательно 1С. Попробуйте на нее хотя бы 500 человек одновременно посадить на один сервер. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 12:48 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
nibo, к динамическим формам это не относится. Вопрос о том, красиво ли спроектирована система, которая "жутко тормозит", хорошо, оставим. Считате что это из-за динамического создания форм, а сама система "красиво спроектирована" и "код написан очень красиво", пусть так и будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 12:53 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmnibo, к динамическим формам это не относится. Вопрос о том, красиво ли спроектирована система, которая "жутко тормозит", хорошо, оставим. Считате что это из-за динамического создания форм, а сама система "красиво спроектирована" и "код написан очень красиво", пусть так и будет. Я не считаю, а знаю, что это так. Потому что тесты по производительности проводил. Обеспечение динамичного отображения формы, где щелкаешь одну галочку, и из-за этого должны стать видимы десятки полей, а десятки полей должны стать невидимы дорогого стоит, и все это без единой строчки кода когда пользователей на одном сервере несколько сотен. Если бы пришлось бы это все кодировать, то писать пришлось бы в десятки раз дольше, и сопровождать потом было бы в десятки раз труднее, если вообще возможно. Так что у всего есть две стороны. Косяк тут один - все системы вертятся на одном сервере. А их много. И все работают по одному принципу. Тут решение кроется в разнесении систем по нескольким серверам. Что в России делается нечасто. И в частности у нас. Если у ТС ситуация с серверами тоже не айс, то лучше от динамического построения держаться вдалеке. Или возлагать его на клиентскую часть, что тоже очень спорно. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 13:03 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
niboЯ не считаю, а знаю, что это так. Потому что тесты по производительности проводил. Обеспечение динамичного отображения формы, где щелкаешь одну галочку, и из-за этого должны стать видимы десятки полей, а десятки полей должны стать невидимы дорогого стоит, и все это без единой строчки кода когда пользователей на одном сервере несколько сотен. Если бы пришлось бы это все кодировать, то писать пришлось бы в десятки раз дольше, и сопровождать потом было бы в десятки раз труднее, если вообще возможно. Так что у всего есть две стороны. только не называйте это "красиво спроектировано". Не понятно о чем Вы вообще. Описываете неудачную реализацию runtime-построения форм. Только при чем здесь динамические формы как таковые? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 13:11 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmniboЯ не считаю, а знаю, что это так. Потому что тесты по производительности проводил. Обеспечение динамичного отображения формы, где щелкаешь одну галочку, и из-за этого должны стать видимы десятки полей, а десятки полей должны стать невидимы дорогого стоит, и все это без единой строчки кода когда пользователей на одном сервере несколько сотен. Если бы пришлось бы это все кодировать, то писать пришлось бы в десятки раз дольше, и сопровождать потом было бы в десятки раз труднее, если вообще возможно. Так что у всего есть две стороны. только не называйте это "красиво спроектировано". Не понятно о чем Вы вообще. Описываете неудачную реализацию runtime-построения форм. Только при чем здесь динамические формы как таковые? Там не рантайм, а именно динамическое построение. Я сказать пытаюсь, что каждая система требует выделения соответствующего количества машинных ресурсов. Вы же не будет сервер 1С накатывать на пентиум 300 Mhz с 64 mb оперативки. Тут нужный ресурс не выделили, и в России это частое дело. Вот что я сказать пытаюсь. Ладно, мне похоже вас не убедить ни в чем, поэтому я свое участие лучше прекращу, чем пытаться что-то разьяснять. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 13:27 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
niboТам не рантайм, а именно динамическое построение. Есть описание модели представления, в момент исполнения (рантайм) по нему формируется (динамически) представление (допустим форма). ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 14:04 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
наверное модель представления размещена в БД на сервере и собирается запросами ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 14:11 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Petro123vill_ager, питон люблю именно за лаконичность ЯП и краткость. Его часто сравнивают с Delphi. Просто в ЯП высокого уровня такие конструкции нет смысла "зашивать". Поэтому вы определитесь, вероятно вам фреймворк нужен (типа 1С) таки да. фреймворк на питоне. тем и развлекаюсь :) 1ц не предлагать :). Хотя 8.2 как раз сделана на идеях из этого топика. Только вот интерфейс... по поводу тормозов... - все тормозит сколько лет SWING существует? и все тормозит :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 15:01 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
niboИли возлагать его на клиентскую часть, что тоже очень спорно. Ессно формы генерируются на клиенте. Разницы между динамическими и статическими на глаз не видно. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 15:18 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_ager-lesha- Функциональность получаем без использования событий, путем написания формул (можете называть это языком – но это просто формулы). а я решил ни в чем себе не отказывать - и события, и язык - полный доступ к форме для тюнинга :) зато руки развязаны - любые проверки и реакции на действия пользователя Наши пользователи настраивают приложения без программирования, а для программиста, конечно, чем гибче тем лучше. Хотя в таком подходе, есть недостаток, что привязываясь к api формы, Вы не сможете запучтить настройки на другом клиенте.(web например, если основной windows) vill_ager зы: формулой трудновато описать такое - если пользователь ввел неправильные данные - заблокировать событие сохранения (и сделать цвет формы ярко-красным :) ) Да у форму не перекрасишь, но можно выдать стандартное предупреждение. VaildationRule - если BirthdayDate>Today() сообщение "День рождения не может быть в будущем" ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 15:44 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
_мод-lesha-Функциональность получаем без использования событий, путем написания формул (можете называть это языком – но это просто формулы). Функций не хватает и логических выражений есть и функции и логические выражения, вот этого пока хватает Formula Language Reference ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 15:48 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
-lesha-есть и функции и логические выражения, вот этого пока хватает Formula Language Reference Я имел ввиду пользовательские функции. Например Остаток_по_счету(дата,счет) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 17:20 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
автор Lesha Не подскажете, у Вас бизнес на инструменте успешный, или только для себя идет. Можно грубую оценку кол-ва пользователей и пр. ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 17:21 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
_мод-lesha-есть и функции и логические выражения, вот этого пока хватает Formula Language Reference Я имел ввиду пользовательские функции. Например Остаток_по_счету(дата,счет) Пользовательских функций действительно нет, пытаемся такие функции заменить Formula Column. Конечно иногда приходится неслабо извращаться, но реализовать можно например Calculating Job Duration , что намного сложнее чем остаток по счету. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 18:05 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Интересноавтор Lesha Не подскажете, у Вас бизнес на инструменте успешный, или только для себя идет. Можно грубую оценку кол-ва пользователей и пр. ? У себя то же используем, но изначально делался как продукт т.е не вырос из внутренних наработок. Скажем так прибыльный, по кол-ву, не буду говорить , но больше тысячи. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 18:21 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
-lesha-, Формул одних мало ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 20:52 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Джамшид РовшанФормул одних мало Для ввода/редактирования форм достаточно. Надо только, чтобы формулы включали любые допустимые в базовом языке выражения всех типов. Тогда в форме можно вычислять не только значения полей, но и проверять их на допустимость. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2010, 09:43 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
_модДжамшид РовшанФормул одних мало Для ввода/редактирования форм достаточно. Надо только, чтобы формулы включали любые допустимые в базовом языке выражения всех типов. Тогда в форме можно вычислять не только значения полей, но и проверять их на допустимость. С каким типом данных будет идти элементарная проверка на наличие дубликатов по произвольному признаку? Любая БЛ в форме - спаггети код. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2010, 10:38 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Не формулаС каким типом данных будет идти элементарная проверка на наличие дубликатов по произвольному признаку? Любая БЛ в форме - спаггети код. boolean С чего-бы это ? Обычный вызов функций из общих библиотек ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2010, 10:52 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Не формула_модДжамшид РовшанФормул одних мало Для ввода/редактирования форм достаточно. Надо только, чтобы формулы включали любые допустимые в базовом языке выражения всех типов. Тогда в форме можно вычислять не только значения полей, но и проверять их на допустимость. С каким типом данных будет идти элементарная проверка на наличие дубликатов по произвольному признаку? это же не в форме делается, серверная процедура ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2010, 10:55 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
_модНе формулаС каким типом данных будет идти элементарная проверка на наличие дубликатов по произвольному признаку? Любая БЛ в форме - спаггети код. boolean С чего-бы это ? Обычный вызов функций из общих библиотек С того, что блюда с раздельным питанием(кофеты и котлеты в разных местах) проще готовятся и в дальнейшем лучше перевариваются. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2010, 11:29 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Не формулаС того, что блюда с раздельным питанием(кофеты и котлеты в разных местах) проще готовятся и в дальнейшем лучше перевариваются. Вы что-то путаете - это мухи и котлеты отдельно :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2010, 11:55 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
_модНе формулаС того, что блюда с раздельным питанием(кофеты и котлеты в разных местах) проще готовятся и в дальнейшем лучше перевариваются. Вы что-то путаете - это мухи и котлеты отдельно :) СОгласен. В таком варианте одни мухи. Конфет там нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2010, 12:04 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Всем привет! Сорри за ап полугодовой темы, но не мог пропустить такую интересную для меня ветку :) Есть уже готоввый продукт на основе динамического построения форм на основании состава таблиц с массой дополнительных фунций и наворотов :) Идея заключалась в том, что бы позволить сторонним фирмам и программистам дорабатывать продукт под себя. Все никак не докручу возможность подтягивания внешних библиотек, после чего можно считать, что основная цель достигнута. Хотелось бы услышать мнения специалистов по этому продукту http://plato.at.ua/ Есть ли интерес работать с подобным инструментом? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2010, 01:29 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Хороший пример такой системы - ClearQuest ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2010, 11:30 |
|
|
start [/forum/topic.php?all=1&fid=33&tid=1548247]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
212ms |
get tp. blocked users: |
1ms |
others: | 317ms |
total: | 630ms |
0 / 0 |