Прочитал о новой возможности календарь и очень порадовался. В документации наткнулся на упоминание функции calc_alerts и тоже обрадовался :-). (На сколько я понял) Теперь можно проверять введенные данные на стороне сервера. Но вот незадача как отменить сохранение изменения или новые данные если они не корректны? Вывести сообщение с помощью этой функции о том что данные введены ошибочные у меня получается, но при этом они сохраняются. Это не правильно, так как пользователь может проигнорировать сообщение.
И еще вопрос в каких ситуациях происходит эта проверка? Я так полагаю что при любой попытке внесения или изменения данных.


Контроль введенных данных
Автор Zver, 03 апр. 2014 04:47
Сообщений в теме: 9
#1
Отправлено 03 Апрель 2014 - 04:47
#2
Отправлено 03 Апрель 2014 - 09:25
Цитата
Но вот незадача как отменить сохранение изменения или новые данные если они не корректны?
Можно взять старое значение из переменной $event['changed'][111]['old'], где 111 - id нужного поля, и присвоить его назад.
Цитата
И еще вопрос в каких ситуациях происходит эта проверка? Я так полагаю что при любой попытке внесения или изменения данных.
Проверка сам по себе не происходит, вы сами ее вставляете в ваше же вычисление, которое в свою очередь уже настроено на определенное событие.
#3
Отправлено 03 Апрель 2014 - 09:35
Так а что делать если это новые данные и старых значений нет. Что мне тогда подставить? :-)
Насколько я понял отмены не существует...
Насколько я понял отмены не существует...
#4
Отправлено 03 Апрель 2014 - 10:43
Еще проще и элементарнее - подставляете пустое значение. Или вы что-то иное подразумеваете под "отменой", не пойму?
#5
Отправлено 04 Апрель 2014 - 09:27
Речь идет о заявках. Система должна контролировать что бы две заявки не пересекались по времени. Вот и возникает вопрос что мне сделать с человеком который добавил заявку в то время которое уже занято? В случае если он редактирует заявку, я заменю новые значения на старые. А что делать если это заявка новая?
ЗЫ. Таблица "Заявки" с полями: начало, окончание, комментарий.
ЗЫ. Таблица "Заявки" с полями: начало, окончание, комментарий.
#6
Отправлено 04 Апрель 2014 - 10:09
Тут нет других вариантов, кроме как обнулить время для того чтобы человек подставил другое.
#7
Отправлено 04 Апрель 2014 - 10:14
Разрабатываемая система ориентируется на то, что пользователь не будет просматривать табличные значения. Просмотр, ввод и редактирование только с помощью календаря. Вы же понимаете что будет если дату установить равной 0000-00-00?... Он эту запись так и не найдет. И она будет болтаться в БД
#8
Отправлено 04 Апрель 2014 - 10:28
Я же вам написал: других вариантов не существует. Вы можете удалить запись, но тогда мне непонятно куда будет выводится сообщение. Хотя если разговор идет про календарь, может он это и поддерживает, я не в курсе. У меня речь шла про обычное добавление записи, а не через календарь.
#9
Отправлено 03 Июнь 2014 - 10:51
Добрый день! Помогите, пожалуйста!
Условия:
1)Карточка клиента "Клиент"
2)В карточке клиента есть поле "Сумма" куда я хочу добавить итоговую сумму из подтаблицы из колонки "Брутто"
3) Есть подтаблица, в которой есть поле "Брутто"
if ($line['Брутто'])
{
$sqlQ = "SELECT SUM(`f2891`) AS sum FROM ".DATA_TABLE."130 WHERE `f1750`=".$line['Клиент']['raw']." and status=0 and `id`<>".$ID;
$pre = sql_query($sqlQ) or die(mysql_error());
$row = mysql_fetch_assoc($pre);
if ($row['sum']===NULL)
{
$line['Клиент']['Сумма']=$line['Брутто'];
}
else
{
$line['Клиент']['Сумма']=$row['sum']+$line['Брутто'];
}
Вот такие вычисления я сделала, ну сумма в итоге не складывается, просто "0"
Условия:
1)Карточка клиента "Клиент"
2)В карточке клиента есть поле "Сумма" куда я хочу добавить итоговую сумму из подтаблицы из колонки "Брутто"
3) Есть подтаблица, в которой есть поле "Брутто"
if ($line['Брутто'])
{
$sqlQ = "SELECT SUM(`f2891`) AS sum FROM ".DATA_TABLE."130 WHERE `f1750`=".$line['Клиент']['raw']." and status=0 and `id`<>".$ID;
$pre = sql_query($sqlQ) or die(mysql_error());
$row = mysql_fetch_assoc($pre);
if ($row['sum']===NULL)
{
$line['Клиент']['Сумма']=$line['Брутто'];
}
else
{
$line['Клиент']['Сумма']=$row['sum']+$line['Брутто'];
}
Вот такие вычисления я сделала, ну сумма в итоге не складывается, просто "0"
#10
Отправлено 03 Июнь 2014 - 11:05
ID таблиц и полей точно соответствуют нужным вам? Вычисление на какое событие стоит?
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных