Перейти к содержимому


Группировка в таблице

вычисление группировка записей

Сообщений в теме: 12

#1 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 10 Май 2014 - 22:18

Хотел сделать в таблице аналог метки Важное собственное для каждого пользователя, чтобы помеченные записи отображались в начале таблицы независимо от сортировки. Создал поле список с названием Важное и двумя значениями: Важное и Текущее. Сделал вычисление для еще одного поля при отображении и поставил его в качестве поля группировки. В итоге получаю следующее. При первой загрузке страницы:
Прикрепленное изображение: 464F70fB.jpg
При обновлении - то, что требуется:
Прикрепленное изображение: 8BfC5e25.jpg
Это связано с тем, что записи № 188, 218, 202 объявлены важными у других пользователей. Получается, что вычисление происходит после того, как страница, вернее порядок записей, формируется к выводу. Но при отображении значения поля Важное заполняются правильно.
Теоретически должно быть наоборот. Сначала вычисление, потом отображение.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 12 Май 2014 - 08:27

Не совсем верный порядок мыслей. Группировка работает до того, как сработает вычисление на отображение (т.к. первое происходит еще на этапе запроса к БД, а второе - уже после извлечения данных), поэтому все логично. Поменяйте у вычисления событие с отображения на изменение поля Метка, тогда должно быть корректно.

#3 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 12 Май 2014 - 12:13

Просмотр сообщенияCbCoder (12 Май 2014 - 08:27) писал:

Поменяйте у вычисления событие с отображения на изменение поля Метка, тогда должно быть корректно.
К сожалению это не поможет.
Вычисление обращается к полю типа пользователь с множественным выбором и если текущий пользователь есть в списке, то в поле Важное, по которому осуществляется группировка, вносится соответствующее значение. А в поле с меткой меняется изображение. И это происходит для каждого пользователя именно в момент вывода страницы.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 12 Май 2014 - 12:20

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

#5 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 12 Май 2014 - 13:01

Просмотр сообщенияCbCoder (12 Май 2014 - 12:20) писал:

Если только не добавить системное вычисление на логин пользователя, по обработке данной таблицы при входе пользователя в программу.
Не совсем понял как. При входе пользователя отработает вычисление. А далее? Пользователь работает с таблицей, в частности изменяет важность записей...
Можно подробнее?
Есть вариант запустить вычисление до момента выборки данных из таблицы?

Сообщение отредактировал andibrag: 12 Май 2014 - 13:05

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#6 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 12 Май 2014 - 13:38

Цитата

Есть вариант запустить вычисление до момента выборки данных из таблицы?

Т.е. делать выборку из таблицы 2 раза? Один раз для обработки данных, второй раз - контрольный выстрел в голову для окончательного вывода по возможно измененному в результате вычисления порядку строк? Накладно больно выйдет.

#7 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 12 Май 2014 - 13:55

Просмотр сообщенияCbCoder (12 Май 2014 - 13:38) писал:

Т.е. делать выборку из таблицы 2 раза?
Первый update - без формирования страницы, второй штатный select - и вывод страницы.

Просмотр сообщенияCbCoder (12 Май 2014 - 13:38) писал:

Накладно больно выйдет.
Судя по полному отсутствию оптимизации запросов движка и трафику в 300 Мб в час при полном простое базы - отряд не заметит потери бойца.

Можно добавить системное вычисление для таблиц по аналогии с теми, что уже есть?
Или добавить еще один вариант срабатывания - До отображения.

Сообщение отредактировал andibrag: 12 Май 2014 - 14:46

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#8 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 12 Май 2014 - 14:57

Цитата

Первый update - без формирования страницы

Update без select не выйдет, необходимо будет пройтись по всем строкам для срабатывания всех вычислений на отображение, потом соответственно повторный selесt уже с группировкой.

Цитата

Cудя по полному отсутствию оптимизации запросов движка и трафику в 300 Мб в час при полном простое базы - отряд не заметит потери бойца.

Т.е. логика такая: "да ладно, итак уже по уши в ... давайте еще больше залезем, разницы все равно практически нет". То что сейчас все "не летает" - не повод ухудшать ситуацию. Все равно будем работать над оптимизацией рано или поздно.

В любом случае, думаю вряд ли будем это специально реализовывать.

#9 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 12 Май 2014 - 15:39

Просмотр сообщенияCbCoder (12 Май 2014 - 12:20) писал:

Если только не добавить системное вычисление на логин пользователя, по обработке данной таблицы при входе пользователя в программу.
Для чего предполагались системные вычисления и есть ли возможность добавить вычисление, например, при отображении таблицы?
Или быть может есть параметр адресной строки group_by по аналогии с sort_by?
N.B.
Сам по себе функционал, так называемых Важных записей довольно удобен. Изменение статуса происходит кликом по метке через ajax - стандартное решение, которое в свое время было реализовано у вас на рабочем столе для ленты.напоминаний. Теоретически может быть применим ко всем таблицам. Можно сделать в виде опциональной настройки для таблицы. Это намного оперативнее и удобнее, чем изменение поля и индивидуально для каждого пользователя.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#10 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 12 Май 2014 - 15:57

Цитата

Для чего предполагались системные вычисления

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

Цитата

и есть ли возможность добавить вычисление, например, при отображении таблицы?

Думаю вы сами прекрасно знаете что таких событий в программе нет на данный момент.

Цитата

Или быть может есть параметр адресной строки group_by по аналогии с sort_by?

Не совсем понял, честно говоря.


Цитата

Сам по себе функционал, так называемых Важных записей довольно удобен. Изменение статуса происходит кликом по метке через ajax - стандартное решение, которое в свое время было реализовано у вас на рабочем столе для ленты.напоминаний. Теоретически может быть применим ко всем таблицам. Можно сделать в виде опциональной настройки для таблицы. Это намного оперативнее и удобнее, чем изменение поля и индивидуально для каждого пользователя.

Уважаемый тов. andibrag, вы же сами прекрасно понимаете, что при всем уважении к вам, ваши таланты явно выходят далеко за рамки данной программы. Это как взрослому дядьке играться в детский конструктор, пытаясь соорудить из него реальный дом.

#11 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 12 Май 2014 - 16:36

Просмотр сообщенияandibrag (12 Май 2014 - 15:39) писал:

есть ли возможность добавить вычисление, например, при отображении таблицы?
Я про системные вычисления спрашивал. Там всего два и возможности добавить свое нет. И описания нигде нет.

Просмотр сообщенияandibrag (12 Май 2014 - 15:39) писал:

Или быть может есть параметр адресной строки group_by по аналогии с sort_by?
При клике на название поля - таблица выводится отсортированной по выбранному полю. В адресной строке используется параметр sort_by. Вопрос задал потому, что есть, например, возможность заполнять поля при создании новой записи через параметры, передаваемые в адресной строке, и про это нигде в документации не говорится.

Просмотр сообщенияCbCoder (12 Май 2014 - 15:57) писал:

Уважаемый тов. andibrag, вы же сами прекрасно понимаете, что при всем уважении к вам, ваши таланты явно выходят далеко за рамки данной программы. Это как взрослому дядьке играться в детский конструктор, пытаясь соорудить из него реальный дом.
Вы либо переоцениваете мои таланты, либо недооцениваете вашу программу. Если просмотреть историю нашего сотрудничества многие из тех вещей, что я предлагал, тем или иным образом внедрялись в КБ. С моей стороны, чаще всего они строились на базе вашего детского конструктора. Вы потом закладывали их в движок. То, что я выкладываю на форуме, лишь часть того, что было внедрено у себя. Если выложить все - пользователи вынесут мне мозг по поводу помощи в настройке кода. В большинстве своем люди очень требовательны к интерфейсу, поэтому на него много сил и уходит. Я прекрасно понимаю, что вы заняты более важными делами, которые совершенствуют систему. Но мне в некотором случае не реализовать задуманное в существующих рамках. Поэтому и обращаюсь с вопросами.
P.S. Касаемо детского конструктора. Братья Райт, к слову, тоже начинали с ремонта велосипедов.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#12 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 12 Май 2014 - 16:58

Цитата

Я про системные вычисления спрашивал. Там всего два и возможности добавить свое нет. И описания нигде нет.

Ну так одно из них и имелось ввиду - при логине пользователя.

Цитата

Или быть может есть параметр адресной строки group_by по аналогии с sort_by?

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

Цитата

Вы либо переоцениваете мои таланты, либо недооцениваете вашу программу

Дело не в "недооценке", а в соответствующей нише, которую вы далеко перепрыгиваете. "Таланты" - это уж ирония, скорее "умения, навыки, устремления". Программа не рассчитана на такой чрезмерный уровень допиливания.

Цитата

Если просмотреть историю нашего сотрудничества многие из тех вещей, что я предлагал, тем или иным образом внедрялись в КБ. С моей стороны, чаще всего они строились на базе вашего детского конструктора.

Внедряется только то что актуально для большинства пользователей. Далеко не все пожелания внедрялись.

Цитата

Но мне в некотором случае не реализовать задуманное в существующих рамках.

Мы тоже часто отказываем клиентам по причине "этого не реализовать на нашей программе" и реализуем альтернативные варианты. Не надо пытаться объять необъятное.

Цитата

P.S. Касаемо детского конструктора. Братья Райт, к слову, тоже начинали с ремонта велосипедов.

А это к чему сказано? Детский конструктор - для детей, никто не будет развивать его в сторону конструктора для инженеров. Для этого другие программы есть.

#13 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 23 Май 2014 - 13:14

Просмотр сообщенияandibrag (12 Май 2014 - 13:55) писал:

Можно добавить системное вычисление для таблиц по аналогии с теми, что уже есть?
Или добавить еще один вариант срабатывания - До отображения.
Можно добавить системное вычисление для таблиц, которое будет отрабатывать до их вывода в браузер? Таким образом можно будет задавать персональную группировку для каждого пользователя.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения






Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных