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


Условие для срабатывания вычисления...


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

#1 goodcolor

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

  • Пользователи
  • PipPipPip
  • 206 сообщений
  • Пол:Мужчина
  • Город:Йошкар-Ола

Отправлено 26 Май 2013 - 16:59

Есть таблица "Приход на склад" и "Позиции прихода". В "Позиции прихода" есть вычисление, в котором задан алгоритм суммирования полей "сумма" и помещение результата в таблицу "Приход на склад".
Вопрос в том, что если позиций прихода несколько, то при их добавлении сумма подсчитывает нормально. Однако стоит начать удалять позиции, сумма остаётся такой же даже после обновления страницы.
Единственное как удалось добиться изменений помимо изменения кол-ва в одной из записей - это вместо срабатывания вычисления по изменению поля "Наименование" поменять его на отображение. Тогда изменения происходят после сохранения в таблице "Приход на склад".
В общем в вашей демо так же происходит. Как решить?
Компания "Хороший Цвет"
www.GoodColor.ru - поставки и производство самосветящихся товаров и материалов

#2 wondertalik

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

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 26 Май 2013 - 17:03

Добавить вычисление при удалении с тем же алгоритмом. Единственное при выборке данных нужно исключить $line['id'] записи, которую удаляете. Вычисление при отображении конечно решает вашу проблему, однако не слабо грузит кб в целом при отображении всей таблицы.

#3 goodcolor

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

  • Пользователи
  • PipPipPip
  • 206 сообщений
  • Пол:Мужчина
  • Город:Йошкар-Ола

Отправлено 26 Май 2013 - 18:08

Фактически вот вычисление, которое это делает, только это уже другая таблица, сделанная по аналогии, но проблема такая же:

$sqlQuery = "SELECT SUM(`f3851`) AS `amount` FROM `".DATA_TABLE."261` WHERE `status`<>'2' AND `f3761`='".$line['Заявки']['raw']."'";
$result = sql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
$row = mysql_fetch_assoc($result);
$line['Заявки']['Себестоимость'] = $row['amount'];

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

Хотелось бы конечно, чтобы вычисление срабатывало при удалении в таблице конечно однако этого не происходит и нужно нажимать лишний раз нажимать 2 кнопки.

Сообщение отредактировал goodcolor: 26 Май 2013 - 18:08

Компания "Хороший Цвет"
www.GoodColor.ru - поставки и производство самосветящихся товаров и материалов

#4 goodcolor

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

  • Пользователи
  • PipPipPip
  • 206 сообщений
  • Пол:Мужчина
  • Город:Йошкар-Ола

Отправлено 26 Май 2013 - 18:53

Разобрался. Оказывается подобное вычисление организовано в демо в таблице "позиции счета".
Компания "Хороший Цвет"
www.GoodColor.ru - поставки и производство самосветящихся товаров и материалов





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

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