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


Проверка на новую запись в вычислениях таблицы


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

#1 TIRO

    Участник

  • Пользователи
  • PipPip
  • 20 сообщений
  • Пол:Женщина

Отправлено 25 Ноябрь 2011 - 10:25

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

#2 arsenal

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

  • Пользователи
  • PipPipPip
  • 448 сообщений

Отправлено 25 Ноябрь 2011 - 10:35

Просмотр сообщенияTIRO (25.11.2011, 10:25) писал:

Есть вычисления в таблице. Нужно, чтобы они отрабатывали только при добавлении новой записи и не выполнялись, если запись редактируется. Как проводить проверку на новую запись?
Сделайте дополнительное поле, и в вычислениях в таблице добавьте проверку, если поле пустое, то ваш код отрабатывается и в конце в это поле записывает какое-то значение. Таким образом при добавлении новой записи поле пустое и вычисления выполняются. Если запись открыли повторно, то поле уже заполнено и вычисления не выполняются.

#3 TIRO

    Участник

  • Пользователи
  • PipPip
  • 20 сообщений
  • Пол:Женщина

Отправлено 25 Ноябрь 2011 - 11:27

Спасибо за совет, сделаю так

#4 andibrag

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

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

Отправлено 30 Ноябрь 2011 - 15:26

какое поле в таблицах отвечает за информацию о новой записи?
у меня почему-то при добавлении оной не отражаются напоминания, т.е. не срабатывает условие {new_record}

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

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

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


#5 CbCoder

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

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

Отправлено 30 Ноябрь 2011 - 16:03

Версия?

#6 andibrag

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

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

Отправлено 30 Ноябрь 2011 - 16:36

Просмотр сообщенияРазработчик (30.11.2011, 16:03) писал:

Версия?
1.9.5

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

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

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


#7 Analitic

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

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 01 Декабрь 2011 - 09:21

Просмотр сообщенияandibrag (30.11.2011, 15:26) писал:

какое поле в таблицах отвечает за информацию о новой записи?
у меня почему-то при добавлении оной не отражаются напоминания, т.е. не срабатывает условие {new_record}
Поле r в строке, если утановлено в 1. Счтитается что новая строка.
Возможно у вас ошибка в других условиях?

#8 andibrag

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

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

Отправлено 02 Декабрь 2011 - 19:16

Просмотр сообщенияAnalitic (1.12.2011, 9:21) писал:

Поле r в строке, если утановлено в 1. Счтитается что новая строка.
Возможно у вас ошибка в других условиях?
Отключил все вычисления в полях
Добавляю новую запись в подчиненную таблицу, открытой во вкладке
Проверяю поле r через phpadmin - r=0
При добавлении новой записи при открытии подчиненной таблице в отдельном окне - поле r=1
В чем казус?

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

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

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


#9 Analitic

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

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 05 Декабрь 2011 - 10:25

Баг. Исправлен. Новая ревизия выйдет сегодня после обеда.

#10 andibrag

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

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

Отправлено 16 Декабрь 2011 - 11:13

Просмотр сообщенияAnalitic (05 Декабрь 2011 - 10:25) писал:

Баг. Исправлен.
Поскольку в подчиненной таблице все данные отправляются в базу средствами аякс, r=1 (т.е. статус новой записи) сохраняется до момента ввода любого значения в любое поле.
По сути пропал смысл понятия Новая запись. Она новая, пока пустая. Т.о. если в напоминаниях стоит {new_record} - оно просто не отображается.
И еще... Отрабатывает ли в подчиненной таблице условие "Вычислять при сохранение таблицы" в вычислениях поля и в какой момент это происходит?

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

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

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


#11 Analitic

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

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 17 Декабрь 2011 - 08:17

Отрабатывает по нажатию клавиши добавить строку.

#12 andibrag

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

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

Отправлено 17 Декабрь 2011 - 18:06

Просмотр сообщенияAnalitic (17 Декабрь 2011 - 08:17) писал:

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

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

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

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


#13 Analitic

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

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 21 Декабрь 2011 - 09:39

Восстановление понятия new_record не планируется, более того в будущих версиях обычное редактирование строки вероятно будет работать как подтаблицы. До конца данный момент еще не проработан.

#14 andibrag

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

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

Отправлено 21 Декабрь 2011 - 12:01

Просмотр сообщенияAnalitic (21 Декабрь 2011 - 09:39) писал:

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

Просмотр сообщенияAnalitic (21 Декабрь 2011 - 09:39) писал:

в будущих версиях обычное редактирование строки вероятно будет работать как подтаблицы
если имеется ввиду, что данные лежат в свободном доступе, как сейчас, и можно случайно их изменить (курсор установили не в то поле) или стереть (ctrl-X, вместо ctrl-C, например) - это не лучшая идея
1) запись должна быть обязательно защищена от случайностей
2) необходимо предусмотреть отмену действия

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

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

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


#15 Analitic

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

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 21 Декабрь 2011 - 14:03

Просмотр сообщенияandibrag (21 Декабрь 2011 - 12:01) писал:

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

Просмотр сообщенияandibrag (21 Декабрь 2011 - 12:01) писал:

если имеется ввиду, что данные лежат в свободном доступе, как сейчас, и можно случайно их изменить (курсор установили не в то поле) или стереть (ctrl-X, вместо ctrl-C, например) - это не лучшая идея
1) запись должна быть обязательно защищена от случайностей
2) необходимо предусмотреть отмену действия

Будет реализован механизм отмены действий, как в exel по клавишам CTRL-Z.
Также существуют логи, по которым вы можете восстановить значение.

#16 andibrag

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

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

Отправлено 21 Декабрь 2011 - 14:18

Просмотр сообщенияandibrag (21 Декабрь 2011 - 12:01) писал:

1) запись должна быть обязательно защищена от случайностей
и все же хотелось бы иметь кнопку Блокировать/разблокировать по отношению к строке или всей подчиненной таблице в целом
хотя бы средствами javascript запрещать и открывать доступ на редактирование полей

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

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

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


#17 Analitic

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

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 21 Декабрь 2011 - 14:46

Возможно будет, повторюсь доконца данный вопрос не проработан. Можете отравить выложить ваше представление view_line? Нарисованным скриншотом?

#18 andibrag

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

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

Отправлено 24 Январь 2013 - 11:43

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

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

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

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


#19 Analitic

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

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 24 Январь 2013 - 12:33

Абсолютно верно, кнопка бутафорская и никакой роли не играет. Для пользователей которым впринципе нужна кнопка сохранить.
Соответсвенно и события нет.

#20 andibrag

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

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

Отправлено 24 Январь 2013 - 12:44

Просмотр сообщенияAnalitic (24 Январь 2013 - 12:33) писал:

Абсолютно верно, кнопка бутафорская и никакой роли не играет. Для пользователей которым впринципе нужна кнопка сохранить.
Соответсвенно и события нет.
Именно поэтому и спрашиваю. Если повесить на него событие, то это будет частичным решением того, о чем выше писалось. В предыдущих версиях был флаг "Новая запись", который использовался для отображения напоминаний. Сейчас у меня сделан тайм-аут 10 минут на вывод напоминаний, чтобы избежать их появления пока пользователь его пишет. Но это, во-первых, снижает оперативность и, во-вторых, не является панацеей - пользователь может создать запись, но не закончить ее формировать. Предложенное

Просмотр сообщенияAnalitic (21 Декабрь 2011 - 14:03) писал:

Например при заполнении обязательных полей - ставите в служебное поле флаг - заполнено. И используете его в напоминаниях.
- не удобно. Кнопка явно выигрышней.

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

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

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






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

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