Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Разработка информационных систем Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6 7   вперед  Ctrl      все
 Re: Работа с большими сущностями  [new]
МодальноеОкно
Member

Откуда:
Сообщений: 2592
Serguei
Вам бы дизайнер не помешал с разобраться с цветовой гаммой, размещением элементов на форме и юзабилити заодно


да ладно... "Рязанский политехнический" следует традициям. gui начала 90-х, проверенный временем. для полноты картины нужен еще стиль кода, когда все в одну button1_click() завернуто
6 июн 19, 13:07    [21903417]     Ответить | Цитировать Сообщить модератору
 Re: Работа с большими сущностями  [new]
МодальноеОкно
Member

Откуда:
Сообщений: 2592
ВМоисеев
Картинка с другого сайта.


если у вас номер паспорта есть - то где серия? кем/когда выдано, подразделение?

да и вообще "в лучших домах парижа и вены" все это принято обозначать "документ удостоверяющий личность"... их там кстати порядка 30 разных видов...
6 июн 19, 13:12    [21903422]     Ответить | Цитировать Сообщить модератору
 Re: Работа с большими сущностями  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2499
ВМоисеев
>PetroNotC Sharp, сегодня, 12:50 [21903393]
>Там есть кнопа Выбор колонки.
<Маразм крепчает
в студии нашел вертикальный грид?
6 июн 19, 13:17    [21903429]     Ответить | Цитировать Сообщить модератору
 Re: Работа с большими сущностями  [new]
Serguei
Member

Откуда: Papua New Guinea
Сообщений: 683
ВМоисеев
>Serguei, сегодня, 11:53 [21903322]
>... а не пытаться сделать "мега таблицу" на все случаи жизни.
<слазь с пальмы


Не припомню чтобы мы с вами пили чай рюмками. Поэтому попрошу без оскорблений.
Если вам не понятны не нужны коментарии со стороны, зачем вообще сюда пишите?
Неужто вы реально считаете, что ваш юзер интерфейс соответствует текущим реалиям?
6 июн 19, 13:26    [21903447]     Ответить | Цитировать Сообщить модератору
 Re: Работа с большими сущностями  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2499
Serguei,
Бесполезно. На критику не реагирует никогда принципиально.
Хобби - показать своё и не вникать в чужое.
6 июн 19, 14:24    [21903540]     Ответить | Цитировать Сообщить модератору
 Re: Работа с большими сущностями  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 2008
>МодальноеОкно, сегодня, 13:12 [21903422]
>если у вас номер паспорта есть
<В мои планы не входит обсуждать назначение и значение того или иного поля.
Сущности имеют много полей - как с ними работать. Имеет ли смысл выделять идентификационные поля и показывать их в гриде, а полную информацию для редактирования сущности показывать в отдельной панели? Я пробую этот вариант.
6 июн 19, 16:08    [21903709]     Ответить | Цитировать Сообщить модератору
 Re: Работа с большими сущностями  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 2008
>Serguei, сегодня, 13:26 [21903447]
>Поэтому попрошу без оскорблений.
<Извините.
Только прошу проанализируйте Ваше предыдущее сообщение.
>Неужто вы реально считаете, что ваш юзер интерфейс соответствует текущим реалиям?
<В каком то смысле - да. Он делает то, что необходимо и без излишеств. Но!
я инженер, а значит поиск и сомнение.
Мне не нравится реализация.
6 июн 19, 16:16    [21903719]     Ответить | Цитировать Сообщить модератору
 Re: Работа с большими сущностями  [new]
МодальноеОкно
Member

Откуда:
Сообщений: 2592
ВМоисеев
Имеет ли смысл выделять идентификационные поля и показывать их в гриде, а полную информацию для редактирования сущности показывать в отдельной панели?


другого способа пока не изобрели

причем если полей мало можно редактировать прямо в гриде

если много нужна "карточка" для сущности. где поля распиханы по тематическим "смысловым" группам
6 июн 19, 16:30    [21903726]     Ответить | Цитировать Сообщить модератору
 Re: Работа с большими сущностями  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2499
МодальноеОкно
другого способа пока не изобрели

ВертГрид
Картинка с другого сайта.
6 июн 19, 16:40    [21903732]     Ответить | Цитировать Сообщить модератору
 Re: Работа с большими сущностями  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 2008
>МодальноеОкно, сегодня, 16:30 [21903726]
>другого способа пока не изобрели…
<Согласен.
Хочу выяснить, зачем рязанцы разделили сущность на две записи в разных таблицах.
6 июн 19, 16:41    [21903736]     Ответить | Цитировать Сообщить модератору
 Re: Работа с большими сущностями  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2499
В автокаде широко используется. Ну а как иначе то?))
6 июн 19, 16:41    [21903737]     Ответить | Цитировать Сообщить модератору
 Re: Работа с большими сущностями  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2499
ВМоисеев
>МодальноеОкно, сегодня, 16:30 [21903726]
>другого способа пока не изобрели…
<Согласен.
Хочу выяснить, зачем рязанцы разделили сущность на две записи в разных таблицах.
наверно разные сущности. Имена таблиц дай.
6 июн 19, 16:42    [21903741]     Ответить | Цитировать Сообщить модератору
 Re: Работа с большими сущностями  [new]
МодальноеОкно
Member

Откуда:
Сообщений: 2592
ВМоисеев
зачем рязанцы разделили сущность на две записи в разных таблицах.


какие? физ. лицо и сотрудник?

это разные сущности
6 июн 19, 16:43    [21903742]     Ответить | Цитировать Сообщить модератору
 Re: Работа с большими сущностями  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 2008
>МодальноеОкно, сегодня, 16:43 [21903742]
>...это разные сущности
<это сущность не людская, это физический объект.
Рязанцы что-то хотели проверить, именно в боевых условиях, а не на тестовых примерах. Видимо что-то их не устраивало в доступе к широким, полупустым таблицам.
6 июн 19, 17:47    [21903857]     Ответить | Цитировать Сообщить модератору
 Re: Работа с большими сущностями  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34537
ВМоисеев
Как работать с данными?


Твой вопрос бессмысленен вне контекста твоей задачи, её постановки и техзадания на систему.
6 июн 19, 18:04    [21903890]     Ответить | Цитировать Сообщить модератору
 Re: Работа с большими сущностями  [new]
МодальноеОкно
Member

Откуда:
Сообщений: 2592
ВМоисеев
>МодальноеОкно, сегодня, 16:43 [21903742]
>...это разные сущности
<это сущность не людская, это физический объект.
Рязанцы что-то хотели проверить, именно в боевых условиях, а не на тестовых примерах. Видимо что-то их не устраивало в доступе к широким, полупустым таблицам.


пустые домыслы

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

а что и где "Рязанский политехнический" изобрел - нам не ведомо
6 июн 19, 18:36    [21903936]     Ответить | Цитировать Сообщить модератору
 Re: Работа с большими сущностями  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2499
МодальноеОкно
пустые домыслы
+1
6 июн 19, 18:39    [21903937]     Ответить | Цитировать Сообщить модератору
 Re: Работа с большими сущностями  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2499
ВМоисеев
Хочу выяснить, зачем рязанцы разделили сущность на две записи в разных таблицах.
другой топик заводи)))
6 июн 19, 18:41    [21903939]     Ответить | Цитировать Сообщить модератору
 Re: Работа с большими сущностями  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 2008
>Ares_ekb, 5 июн 19, 18:46 [21902903]
>Отображайте в гриде только основные поля. А на формочке с детальной информацией - уже все поля, разбитые по вкладочкам и внутри вкладочек по группам.
<Попытался - результат на скринах:
1. Имеем "широкую" сущность - одна длинная строка в одной таблице. Работу показываю на примере сущности Сотрудник.
2. Вызываем панель поиска нужной сущности. На панели - грид, показывает только поля идентификации сущности и функциональные кнопки - Фильтр, Новая, Переход к вызывающей панели. Сканируя грид, ищем нужную сущность. Вопрос - сколько сущностей загружать в список грида. Я ограничиваю верхнюю границу выборки. Если выборка больше, принимаю мах число строк и зажигаю фонарь "Уточни параметры фильтра". Не всё гладко с размером списка для грида.
Вот запрос к хранимой процедуре формирования выборки:
      . . . 
      //-- Готовим параметры запроса
      psp = new object[6][];
      psp[0] = new object[2] { "@pk_Entity", гп.gd_0 };

      string str = str_ФамилияПФ.Trim();
      psp[1] = new object[2] { "@str_Фамилия", (string.IsNullOrEmpty(str)) ? Convert.DBNull : str += "%" };

      str = str_ИмяПФ.Trim();
      psp[2] = new object[2] { "@str_Имя", (string.IsNullOrEmpty(str)) ? Convert.DBNull : str += "%" };

      psp[3] = new object[2] { "@dt_Начало", dt_НачалоПФ };
      psp[4] = new object[2] { "@dt_Конец", dt_КонецПФ };

      str = str_ЛичНомерПФ.Trim();
      psp[5] = new object[2] { "@str_ЛичНомер", (string.IsNullOrEmpty(str)) ? Convert.DBNull : str += "%" };

      xrow = null; lst_Entity = null; lst_Entity = new List<row_Entity>(); wsp.nRow = гп.max_Выборка;
      при.tmrStart(); await wsp.Entity_SP("au01_СотрудникиИП_Sel", wsp.sp_Sel, psp, RowToEntity); при.tmrStop();
      if (wsp.wspErr != null) { MessageBox.Show(wsp.wspErr, caption_Entity, MessageBoxButton.OK); }
      .  . .

двойной щелчок на выбранной строке грида вызывает панель работы с полной информацией по сущности - следующее сообщение

К сообщению приложен файл. Размер - 33Kb
8 июн 19, 12:44    [21905119]     Ответить | Цитировать Сообщить модератору
 Re: Работа с большими сущностями  [new]
Ares_ekb
Member

Откуда: Екатеринбург
Сообщений: 1349
ВМоисеев,

зачем все эти сложности? Возьмите DevExpress XAF, сделайте на нём нормальную программу за пару часов. Если захотите, то потом по аналогии сделаете с нуля свою.

Что за панель поиска? Зачем ограничивать количество записей в гриде?

Должно быть просто две формы: 1) список сущностей (которая используется и для просмотра, и для поиска) 2) детальная информация о сущности.

Если нужно искать сотрудников из какой-то другой формы, то на той форме делаем просто выпадающий список с возможностью фильтрации.



На DevExpress XAF ваша программа пишется за 1 день. Вы потратили уже существенно больше, не понятно ради чего. У меня был проект, где чел год(!) делал программу и в принципе, его заказчика всё устраивало. Я им тоже самое просто ради прикола сделал в 50 раз быстрее, в 10 раз лучше и бесплатно, от чего они просто охренели, что такое вообще возможно. От выбора адекватных инструментов очень многое зависит.
8 июн 19, 15:01    [21905145]     Ответить | Цитировать Сообщить модератору
 Re: Работа с большими сущностями  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 2008
>ВМоисеев, сегодня, 12:44 [21905119]
>Продолжение.
Имеем панель для работы с полями одной сущности. Можем Корректировать значения полей сущности, Удалять и Сохранять сущность, осуществить подстановку в строку грида вызывающей панели, транзитивно осуществить подстановку в панель вызывающую панель с гридом. Больше функций пока не требуется.

К сообщению приложен файл. Размер - 103Kb
8 июн 19, 15:21    [21905157]     Ответить | Цитировать Сообщить модератору
 Re: Работа с большими сущностями  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 2008
>Ares_ekb, сегодня, 15:01 [21905145]
>Что за панель поиска?
Должно быть просто две формы: 1) список сущностей (которая используется и для просмотра, и для поиска) 2) детальная информация о сущности.
<В Панели поиска отражается список не всех полей сущностей, а только поля для идентификации. Это а ля Ваша 1-я форма.

> Зачем ограничивать количество записей в гриде?
<Здесь дали пример широкой сущности. Сколько подобных сущностей Вы перенесёте в список, отображаемый в гриде?
8 июн 19, 15:46    [21905168]     Ответить | Цитировать Сообщить модератору
 Re: Работа с большими сущностями  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 2008
>Ares_ekb, сегодня, 15:01 [21905145]
>На DevExpress XAF ваша программа пишется за 1 день. Вы потратили уже существенно больше, не понятно ради чего.
<Может быть. Но:
1. Может ли заказчик использовать DevExpress XAF
2. Вы так и не назвали стоимость DevExpress XAF
3. Здесь и здесь представлены варианты работы с … сложно понять с чем именно. Где-то 10 часть рабочего стола заполнена всевозможными рюшечками, к делу не имющие никакого отношения.
Мне надо работать со справочниками, имеющих широкие сущности. Одна из операций - подстановка значений справочника.
Пример на слайде.
Работаем со справочником Персоны. Информацию по персоне можно вбивать ручками, если она из другой конторы, или получить подстановкой из справочника Сотрудники, если персона сотрудник.
В панели СотрудникиД (полная информация по сотруднику) клик на кнопке Выбор и информация по Сотруднику транзитом будет передана панелям Сотрудники, ПерсоныД, Персоны.
На этом откланиваюсь. Буду смотреть, как работать с широкими сущностями, разбитыми на 2-ве строки в разных таблицах.

К сообщению приложен файл. Размер - 109Kb
8 июн 19, 22:41    [21905265]     Ответить | Цитировать Сообщить модератору
 Re: Работа с большими сущностями  [new]
ViPRos
Member

Откуда:
Сообщений: 9642
ВМоисеев
3. Здесь

Нет там никакого XAF.
Все что там видишь сделано автоматически. Можно постнастроить (в том числе и внешний вид).
А решается там задача - полный дриллап, т.е. твои подстановки данных из одних сущностей в другие, а сущности можно делить как угодно :)
8 июн 19, 22:49    [21905267]     Ответить | Цитировать Сообщить модератору
 Re: Работа с большими сущностями  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 2008
>ViPRos, вчера, 22:49 [21905267]
>Все что там видишь сделано автоматически. Можно постнастроить (в том числе и внешний вид).
<Хорошо. Может быть. Но!
1. Функциональные кнопки (элементы) действия должны быть привязаны к правам пользователя в этом приложении. У меня так
    public void uc_cmdVisibility(Visibility v) {
      btc_Выбор.Visibility = v; btc_Выход.Visibility = v;
      if (бом.Права(e_Права.СотрудникиРедактирование)) { btc_Удалить.Visibility = v; btc_Сохранить.Visibility = v; }   //-- Возможность редактирования 
      else { btc_Удалить.Visibility = Visibility.Collapsed; btc_Сохранить.Visibility = Visibility.Collapsed; }
    }

Как у тебя с правами пользователя именно для этого приложения

2. Вот какая незадача - в панели СотрудникиД много полей ввода. Не проверять же каждое на права. Поэтому повторный запрос к базе
    //-- Обработка нажатия кнопки Выбор 
    //------------------------------------------------------------
    private async void btc_Выбор_Click(object sender, RoutedEventArgs e) {
      if (!bl_Разрешение) return; //-- Запрет обработки нажатия
      object[][] psp = new object[1][];
      psp[0] = new object[2] { "@pk_Entity", зак.xrow.pk_Entity }; //-- pk_Entity != '00000000-0000-0000-0000-000000000000', четкий запрос на выбоку из одной строки. Параметр вызывающей стороны 
      при.tmrStart(); await wsp.Entity_SP("au01_Сотрудники_Sel", wsp.sp_Sel, psp, RowToEntity); при.tmrStop();
      if (wsp.wspErr != null) MessageBox.Show(wsp.wspErr, caption_Entity, MessageBoxButton.OK); 
      else { 
        (зак as I_Плитка).uc_Подстановка("uc_СотрудникиД", this);
        (зак as I_Плитка).uc_Подстановка("uc_Статус", this);
      }
      при.uc_Удалить();           //-- Удалим верхнюю (активную) панель
    }

А как автоматически делаешь ты?
9 июн 19, 10:41    [21905335]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6 7   вперед  Ctrl      все
Все форумы / Разработка информационных систем Ответить