события поля
#1
Отправлено 04 Июль 2012 - 10:07
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#2
Отправлено 04 Июль 2012 - 11:20
При любом изменении через $line[''], также генерируется событие изменение значения. Таким образом можно строить подобные конструкции:
Вычислении при изменении количества:
$line['Сумма']=$line['Количество']*$cena;
Вычисление при изменении суммы:
$line['Сумма с НДС']=$line['Сумма']*$nds;
Изменение поле суммы в первом вычислении, вызовет вычисление второго.
#3
Отправлено 04 Июль 2012 - 12:04
Насколько я вижу из описания функции popup_event($table, & $line, $event) - все три параметра это массивы. Не совсем понятно, как будет выглядеть вызов функции в моем случае.
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#4
Отправлено 04 Июль 2012 - 12:19
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#5
Отправлено 04 Июль 2012 - 16:06
#6
Отправлено 04 Июль 2012 - 16:12
andibrag (04 Июль 2012 - 12:04) писал:
Насколько я вижу из описания функции popup_event($table, & $line, $event) - все три параметра это массивы. Не совсем понятно, как будет выглядеть вызов функции в моем случае.
Вы уверенны что вам нужно вычисление при отображении? Вычисление при отображении реально необходимо только тогда, когда оно зависит от изменяющегося параметра например - текущего времени системы.
По поводу параметров тут все достаточно просто $table = get_table($table_id), $line - результат выборки строки из базы с помощью mysql_fetch_assoc, ну и $event - описание события (примеры можете подсмотреть написав print_r($event) в вычислении).
#7
Отправлено 04 Июль 2012 - 17:53
Analitic (04 Июль 2012 - 16:12) писал:
Есть главная таблица Заказы и связанные с ней подчиненные таблицы (например Наряды) и подчиненные им таблицы (Материалы, Покупки, Субподряды и т.д.). Если существуют проблемные места, т.е. что-то не закуплено, не сделано и прочее, то в таблице Наряды появляется оповещение о наличии проблем. Таблица Заказы собирает все проблемные Наряды и также выводит Оповещение. Именно для этого используется вычисление при отображении. Для удобства, отметка о завершении процессов или сделанных покупок делаются в один клик без редактирования записи. Именно здесь возможность отслеживания изменения значений полей в других таблицах была бы актуальна. Но как это реализовать, чтобы было просто, пока не знаю. Сейчас создание или обновление оповещения возможно только если "прогуляться" по таблицам. Т.е. пока не просмотришь Наряды, которые пробегут по подчиненным и таблицам, изменения таблицы Заказы не коснуться.
Analitic (04 Июль 2012 - 16:06) писал:
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#8
Отправлено 04 Июль 2012 - 19:11
Analitic (04 Июль 2012 - 16:12) писал:
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#9
Отправлено 05 Июль 2012 - 10:50
andibrag (04 Июль 2012 - 17:53) писал:
Аналогично пока не посмотришь Заказы, оповещение не наступит.
Вычисление оповещений при реализации через отображение приводит к перегрузкам базы и скриптов. Такие вещи должны реализовываться в cron, поидее ). То о чем я писал выше - вычисления при отображении очень редко нужны реально.
#10
Отправлено 05 Июль 2012 - 11:27
Analitic (05 Июль 2012 - 10:50) писал:
Analitic (05 Июль 2012 - 10:50) писал:
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#11
Отправлено 11 Июль 2012 - 14:45
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#12
Отправлено 11 Июль 2012 - 15:29
#13
Отправлено 11 Июль 2012 - 16:21
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#14
Отправлено 12 Июль 2012 - 08:02
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#15
Отправлено 14 Январь 2013 - 18:59
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#16
Отправлено 14 Январь 2013 - 22:44
#17
Отправлено 15 Январь 2013 - 08:41
P.S. Небольшая просьба к разработчикам: можно предусмотреть установку порядка вычислений по аналогии с фильтрами, полями и всем остальным? Это было бы логичным.
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#18
Отправлено 15 Январь 2013 - 09:52
Проблема все равно имеет место быть. Отключены все вычисления, кроме оного и упрощены для теста к виду:
$line['Поле']='Значение';Проверил обе функции в другой таблице - событие отрабатывает. В другой таблице - нет. В чем может быть причина?
Конкретный случай можно решить через конструктор вычислений, поскольку поля заимствуют значения из материнской таблицы. Собственно так и сделаю. Но мне не понятен механизм НЕ РАБОТЫ событий, поскольку функции insert и update я использую повсеместно. И если где-то они работают, а где-то нет, хотелось бы выяснить причины.
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#19
Отправлено 08 Февраль 2013 - 09:28
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#20
Отправлено 08 Февраль 2013 - 10:51
Количество пользователей, читающих эту тему: 2
0 пользователей, 2 гостей, 0 анонимных