Прочитал о новой возможности календарь и очень порадовался. В документации наткнулся на упоминание функции 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 анонимных













