powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Генераторы форм vs Runtime создание формы
25 сообщений из 192, страница 6 из 8
Генераторы форм vs Runtime создание формы
    #36473183
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ddddddddd wrote:
>>1.Где взять запрос
>>2.Какое поле ключевое
>>3.Какое поле для просмотра?
написать руками, если фреймворк не позволяет это сделать автоматически. Этот пример - один из минусов автоматических универсальных форм, имхо.

>>ЗЫ Редактировать в гриде - не мой стиль
мне жаль ваших пользователей. Из-за того, что программисту лень, им приходится вызывать тысячи однообразных форм ввода, отвлекающих от основной работы и перекрывающих контекст. Хотя, впрочем, это тема другого холивара ;-))
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36473186
ddddddddddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vill_agerdddddddddddА не проще взять Дельфи, положить на форму 3 компоненты, связать их и написать запрос?
а это тоже дело вкуса :) может и проще

только если все это повторить -цать раз - руки заболят.
и при добавлении новых полей в форму придется ее выстроивать ее заново

хотя если работать на почасовой оплате - можно и так

но я работаю на себя :)

Почему заново?
Просто добавить поля.

Кстати, Ваша система 2-х или 3-х звенная?
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36473193
dddddddddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
egorychddddddddd wrote:
>>1.Где взять запрос
>>2.Какое поле ключевое
>>3.Какое поле для просмотра?
написать руками, если фреймворк не позволяет это сделать автоматически. Этот пример - один из минусов автоматических универсальных форм, имхо.

>>ЗЫ Редактировать в гриде - не мой стиль
мне жаль ваших пользователей. Из-за того, что программисту лень, им приходится вызывать тысячи однообразных форм ввода, отвлекающих от основной работы и перекрывающих контекст. Хотя, впрочем, это тема другого холивара ;-))

Считаете, что удобнее редактировать в Гриде шириной в 2-3 экрана?
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36473254
trdm_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vill_ager
для справочника из двух полей - код, текст:

база_данных=открыть_базу_данных("имя бд")
справочник=форма()
справочник.добавить_поле("код")
справочник.добавить_поле("текст")
справочник.добавить_полное_меню_для_редактирования()
справочник.таблица=база_данных.таблица("имя таблицы")
справочник.запустить()

Изюминг в этом есть, но сделано бестолково.
Я бы сделал так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
база_данных=открыть_базу_данных("имя бд");
ТаблицаДанных =база_данных.таблица("имя таблицы"); 
ФормаЭлемента =ТаблицаДанных.ФормаПоТипу("ФормаЭлемента");
ФормаЭлемента.добавить_поле("код")
ФормаЭлемента.добавить_поле("текст")
ФормаЭлемента.добавить_полное_меню_для_редактирования()
если псПараметр.Команда = редактирование Тогда
    ФормаЭлемента.устДанные(ТаблицаДанных.НайтиПоКоду(псПараметр.Данные))
ИНачеЕсли псПараметр.Команда = ВводНового Тогда
    ФормаЭлемента.Команда = ВводНового
КонецЕсли
ФормаЭлемента.показать()
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36473262
trdm_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dddddddddddКстати, Ваша система 2-х или 3-х звенная?
Звезданутость системы не может быть выше звезданутости автора. :)
Шутка :)
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36473267
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ddddddddddСчитаете, что удобнее редактировать в Гриде шириной в 2-3 экрана?вы бы видели, как они ( пользователи ) это делают ))) факт в том, что в огромной плоской таблице юзвери ориентируются значительно лучше, чем в форме даже из 4х едитов. Наблюдал это неоднократно, в связи с чем поменял религию ;-)) тоже раньше верил, что формы ввода - это удобнее, чем грид.
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36473289
trdm_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trdm_Я бы сделал так:
хм, а это идея - прототипировать результат, а потом выстраивать на наиболее удачном прототипе внутренюю структуру %)
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36473467
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
редактирование в гриде/форме - дело вкуса и конкретной ситуации
тем более, если все формы собираются на лету - всегда есть возможность поменять стиль редактирования (забить в профиль пользователя предпочтительный стиль)
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36473476
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ddddddddddd
Почему заново?
Просто добавить поля.

Кстати, Ваша система 2-х или 3-х звенная?

в классическом дизайнере форм для того, чтобы разместить элемент на существующей форме в желаемом месте это место нужно освободить (поработать мышкой)

пока 2-х звенная
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36473549
trdm_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vill_ager
а эти Ваши строки
Код: plaintext
1.
2.
3.
4.
5.
если псПараметр.Команда = редактирование Тогда
    ФормаЭлемента.устДанные(ТаблицаДанных.НайтиПоКоду(псПараметр.Данные))
ИНачеЕсли псПараметр.Команда = ВводНового Тогда
    ФормаЭлемента.Команда = ВводНового
КонецЕсли
написаны один раз, зарыты глубоко и не интересны :).
и как раз на этом экономится время при разработке.
угу и зарабатываются шишки впоследствии.
Один из работников предприятия очень любил у нас пунтосвитчер и не глядя колбасил элементы в справочники. В общем наколбасил он он с этим пунтосвитчером немало.
Пришлось вычищать и сделать кучу проверок при вводе.
Вопрос:
Как у табя осуществляется проверка перед записью элемента?
У меня много справочников и документов в которых требуются заполненные поля.
Причем комбинации полей меняются для одного и того же справочника в зависимости от ведеших атрибутов. У тебя в системе возможно создать такую проверку?
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36473552
trdm_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ ну например ИНН для контрагента - обязателен.
Проверяется и его длина: если юр-лицо - 10 симв., если физ лицо 12.
Покажи код такой проверки, пожалуйста.
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36473577
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
trdm_+ ну например ИНН для контрагента - обязателен.
Проверяется и его длина: если юр-лицо - 10 симв., если физ лицо 12.
Покажи код такой проверки, пожалуйста.
это уже сложнее
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
это процедура_проверки():
   если длина(справочник.текст)== 0 : 
         сообщение("введи текст")
         вернись
   иначе : 
         справочник.запиши()

база_данных=открыть_базу_данных("имя бд")
справочник=форма()
справочник.добавить_поле("код")
справочник.добавить_поле("текст")
справочник.добавить_полное_меню_для_редактирования()
справочник.таблица=база_данных.таблица("имя таблицы")
справочник.выполнить_перед_записью=процедура_проверки
справочник.запустить()

если без наворотов - стандартно сработает
Код: plaintext
справочник.запиши()
там же будет сделана проверка по связям БД - все ли поля заполнены
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36473590
trdm_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vill_agerэто уже сложнее
Дык я сразу говорил, автогенерация форм - это хорошо, но черевато, немало форм будет требовать особого внимания.
У меня во многих классификаторах задействована процедура проверки уникальности наименования не говоря уже об ИНН и т.п.
Уникальность наименования контролируется в справочниках:
- БИЛАЙН_Сервисы;
- БИЛАЙН_ТарифныеПланы;
- ВидыДокументовКонфигурации;
- ВидыНалогов;
э....
еще в 46 справочниках, если верить поиску подстроки "глКонтрольУникальностиРеквизитовСпр"
Это не считая проверок смешанных алфавитов в наименованиях, проверки на символы типа "..." в наименованиях и т.п.
Практика показывает, что юзвери, это блин такие звери (
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36473615
Alex S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, формы - это одно, проверки другое. У меня формы со своими скриптами отвечают только за визуализацию: там контрол скрыть, там показать и т.п.
Проверки - в отдельном скрипте, даже не в одном, а в цепочке сценариев, навешанных на "сохранение" или "выполнение метода" и т.п.

PS: Имхо пользователи к гридам хорошо относятся из-за своей любимой программы: "ексель" )))
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36473744
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex SPS: Имхо пользователи к гридам хорошо относятся из-за своей любимой программы: "ексель" )))это не имхо, это факт )))
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36474076
dddddddddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
trdm_vill_agerэто уже сложнее
Дык я сразу говорил, автогенерация форм - это хорошо, но черевато, немало форм будет требовать особого внимания.
У меня во многих классификаторах задействована процедура проверки уникальности наименования не говоря уже об ИНН и т.п.
Уникальность наименования контролируется в справочниках:
- БИЛАЙН_Сервисы;
- БИЛАЙН_ТарифныеПланы;
- ВидыДокументовКонфигурации;
- ВидыНалогов;
э....
еще в 46 справочниках, если верить поиску подстроки "глКонтрольУникальностиРеквизитовСпр"
Это не считая проверок смешанных алфавитов в наименованиях, проверки на символы типа "..." в наименованиях и т.п.
Практика показывает, что юзвери, это блин такие звери (]

Ви таки слюшаете Билан а Звери?
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36474176
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex SPS: Имхо пользователи к гридам хорошо относятся из-за своей любимой программы: "ексель" )))Гриды удобны пользователям там, где от них требуется "тупое вколачивание данных". С большой вероятностью это говорит о плохом подходе к автоматизации в целом, об отсутствии продуманных бизнес-процессов. Но это вина не программистов и даже не системных архитекторов, а скорее бизнес-аналитиков.
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36474341
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov AndreyГриды удобны пользователям там, где от них требуется "тупое вколачивание данных".не соглашусь, для тупого вколачивания данных как раз удобнее форма, а-ля экран оператора в сбербанке, и никакой мышки, естественно. Грид удобен тем, что позволяет увидеть весь контекст, необходимый для работы.
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36474365
П-Л
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторГриды удобны пользователям там, где от них требуется "тупое вколачивание данных". С большой вероятностью это говорит о плохом подходе к автоматизации в целом, об отсутствии продуманных бизнес-процессов. Но это вина не программистов и даже не системных архитекторов, а скорее бизнес-аналитиков.
Не совсем с этим согласен.

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

Переход из грида в карточку и обратно должен быть удобный и мгновенный.

Каждый инструмент имеет свои сильные и слабые стороны, грех, если вы их не используете сильные там, где пользователи как раз в них нуждаются.
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36474433
Alex S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov AndreyГриды удобны пользователям там, где от них требуется "тупое вколачивание данных". С большой вероятностью это говорит о плохом подходе к автоматизации в целом, об отсутствии продуманных бизнес-процессов. Но это вина не программистов и даже не системных архитекторов, а скорее бизнес-аналитиков.Я скорее сформулировал бы так: там где требуется ввод многих строк однотипной информации. С "тупостью", а тем более с плохим подходом к автоматизации и бизнес-процессами я бы не увязывал. Вообще сделать в системе генерацию формы по ins в гриде, состоящую из полей по колонкам грида - элементарно. Хочешь - в грид вводи, хочешь в форму. У меня это, как правило, табличные части документов. Т.е. сам документ - форма, но в нем могут быть табличные части - гриды. Например:накладная - форма; позиции по накладной - грид на этой форме, по INS в этом гриде либо ввод непосредственно в гриде, либо в модальной форме (либо сгенерированная, либо "задизайненная").
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36474475
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
с гридами все понятно-кому нравится, иногда удобно

но если тот же справочник имеет большое количество полей, которые хорошо бы визуально объединить по каким-то признакам (качественные характеристики, аналитические коды - не важно)?

в форме это сделать просто - если помещается на один экран - делаем групбоксы, если нет - закладки (tabpages, или как это по русски :) )

а в гриде как? если только цветом...

кста, вопрос к iscrafm - у Вас наверняка есть возможность делать такие формы - интересно демку глянуть.

У себя примерно так делаю
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
справочник=форма()
справочник.добавить_поле("код")
справочник.добавить_поле("текст")

справочник.начать_горизонтальный_раздел()
справочник.добавить_поле("..")
...
справочник.закрыть_раздел()

справочник.начать_вертикальный_раздел()
справочник.добавить_поле("..")
...
справочник.закрыть_раздел()

справочник.начать_страницу()
.
справочник.начать_страницу()
.
справочник.начать_страницу()
.
закрыть_раздел()
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36474541
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vill_agerа в гриде как? если только цветом...именно. этого, как правило, достаточно.
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36475050
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
Была попытка сделать такое, история давняя, еще со времен клипера.
Описание формы содержит модель данных (блоки, переменные),
привязанные справочники, экранные элементы. Это дает автоматическую
координацию блоков, автоматическое же открытие справочников и выбор
значений из них. Справочник - тоже форма.

Рантайм на яве по описанию формирует команды выборки, вставки,
обновления и удаления. По умолчанию предполагается, что все проверки
выполняются сервером БД. Если в это надо вмешаться - соответсвующие
методы должны быть переопределены.

Конкретная форма - класс, расширяющий общий класс форм. Минимально
он должен содержать конструктор, вызывающий конструктор суперкласса.

Никаких рюшечек естественно нет. Трудоемкость разработки формы ниже,
чем при использовании Oracle SQL*Forms.

Минусы тоже есть. Рантайм не так уж мал и не все в нем есть. Выход за рамки
реализованной функциональности возможен, но простота при этом теряется.
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36475659
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
П-ЛЯ скорее сформулировал бы так: там где требуется ввод многих строк однотипной информации. С "тупостью", а тем более с плохим подходом к автоматизации и бизнес-процессами я бы не увязывал.Я знаю очень мало случаев, когда ввод однотипной информации является объективной необхоимостью. В большинстве случаев такой ввод вызван тем, что не все участки работы автоматизированы, не продумана интеграция и т.п. В жизни массивы однотипной информации сами по себе не встречаются - они появляются уже вследствии обработки индивидуальных "порций информации". Соответственно, если пользователю на вход попал массив , то это значит, что на более ранней стадии обработки информации автоматизация недостаточная.
Ну а слово "тупость" здесь употреблено в том смысле, что пользователь вводит некую взятую извне информацию не сильно задумываясь о смысле и т.п. У него есть массив - его надо вбить. Откуда там появилась та или иная строка - его не интересует.
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36475978
Runtime only
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
справочник=форма()
справочник.начать_страницу()
А такое смогем?
Код: plaintext
1.
закрыть_раздел()
...
Рейтинг: 0 / 0
25 сообщений из 192, страница 6 из 8
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Генераторы форм vs Runtime создание формы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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