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


Публикации zhenyat

3 публикаций создано zhenyat (учитываются публикации только с 29-Март 23)


#8443 Как запретить добавлять и удалять строки?

Отправлено от zhenyat в 09 Октябрь 2011 - 16:17 in Как это сделать

Пользователь должен иметь возможность добавлять изменять и удалять записи в основной и подчиненной таблицах до выставления в поле "Статус" = "Исполнен". После этого только просматривать

Я настроила права доступа:

В обоих таблицах

+ Добавление строк
+ Удаление строк

Сняла все галочки с колонки "Редактирование"

В основной и подчиненной таблицах создала поле "Доступ", тип "Пользователь", значение по умолчанию {current}, права доступа - поставила разрешающие галочки в колонке "Редактирование"

В этом же поле код:
$data = data_table("Заказы","id={ID}");

if ($data['Статус'] == "В работе")
{
	$access = $data['Кто добавил'];
}
else
{
	$access = "";
}

$sqlQuery = "SELECT * FROM ".DATA_TABLE."85 WHERE status=0 AND f1047={ID}";
$result = mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);

for ($c=0; $c<mysql_num_rows($result); $c++)
{
	$str_data['Доступ'] = $access;
	update_query($str_data, "Позиции заказа", "f1047={ID}");
}
return $access;
Вроде все хорошо, пользователь может создать заказ, добавить в него строки.
После установки статуса в любое состояние кроме "В работе" поле "Доступ" и в основной и в подчиненной таблицах обнуляются и пользователь создавший заказ не может его изменять.
Но может добавлять в него новые строки!
И не могу придумать как это запретить!
Как?



#8442 не могу вставить строки из одной таблицы в другую

Отправлено от zhenyat в 08 Октябрь 2011 - 23:05 in Как это сделать

Всё, извините, сама поняла
в $row находятся имена полей во внутреннем представлении...



#8441 не могу вставить строки из одной таблицы в другую

Отправлено от zhenyat в 08 Октябрь 2011 - 22:57 in Как это сделать

Здравствуйте
Подскажите, почему не работает конструкция:
$zakaz = data_table("Заказы","id={ID}");
$client = data_table("Контрагенты","id='".$zakaz['Клиент']."'");

//Заполняем поля накладной
$nakl_id= insert_query(array(), "Накладная");
$data['№ накладной'] = $nakl_id;
$data['Дата'] = date("Y-m-d");
$data['Отпустил'] = $user['id'];
$data['Получил'] = $client['Имя / Фирма'];
$data['Получатель'] = $client['Полное название']?$client['Полное название']:$client['Имя / Фирма'];
update_query($data, "Накладная", "id=".$nakl_id);

//*
//Теперь заполняем поля позиции накладной
$sqlQuery = "SELECT * FROM ".DATA_TABLE."85 WHERE status=0 AND f1047=".$zakaz['Номер заказа'];
$result = mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
for ($c=0; $c<mysql_num_rows($result); $c++)
{
	$str_row = mysql_fetch_array($result);
	
	$str_data['№ накладной'] = $nakl_id; //привязка к накладной
	$str_data['Товар'] = $str_row['Продукт'];
	$str_data['Количество'] = $str_row['Количество'];
	$str_data['Цена'] = $str_row['Цена'];
	$str_data['Сумма'] = $str_row['Сумма'];
	$str_id = insert_query($str_data, "Позиции накладной");
	//update_query($str_data, "Позиции накладной", "id=".$str_id );
}
//*/
//открываем таблицу с заполненной накладной
echo "<script>location.href='".$config["site_root"]."/view_line.php?table=53&line=".$nakl_id."'</script>";
Не срабатывает блок "//Теперь заполняем поля позиции накладной"
При чем строки в подчиненной таблице "Позиции накладной" создаются, ровно столько сколько их в подчиненной таблице "Позиции заказа", но все значения в ней, кроме поля связи "№ накладной" - пустые...