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


Вычисления только при изменении записи


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

#1 wondertalik

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

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

Отправлено 18 Февраль 2015 - 16:01

Есть довольно простое вычисление с условием запуска изменения поля 4390. Только при добавлении записи в таблицу и при этом не меняя значения 4390 (там пусто) инсерт все же происходит? Баг или что-то нужно еще учитывать? Версия 204
if(isset($event['changed']['4390']['old'])) {
    $data = array();
    //старое значение
    $data['f5310'] = $event['changed']['4390']['old'];
    //новое значение
    $data['f5320'] = $event['changed']['4390']['new'];
    $data['f5330'] = "Абон. плата";
    $data['f5350'] = $line['ID'];
    //380 в данном примере ID подчиненной таблицы
    data_insert(380, EVENTS_ENABLE, $data);  
}


#2 Александр Пономарев

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

  • Пользователи
  • PipPipPip
  • 435 сообщений
  • Пол:Мужчина
  • Город:Таганрог

Отправлено 18 Февраль 2015 - 18:30

Коллега! Вы тут один из самых продвинутых. Не пособите в ответе на заданные мною в форуме вопросы?
http://clientbase.ru...?showtopic=6524
http://clientbase.ru...?showtopic=6523

#3 wondertalik

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

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

Отправлено 22 Февраль 2015 - 15:59

if($event['is_new_line'] == 1) {
//поле типа число
    if($event['changed']['4390']['new'] > 0) {
	    $data = array();
	    //старое значение
	    $data['f5310'] = $event['changed']['4390']['old'];
	    //новое значение
	    $data['f5320'] = $event['changed']['4390']['new'];
	    $data['f5330'] = "Абон. плата";
	    $data['f5350'] = $line['ID'];
	    //380 в данном примере ID подчиненной таблицы
	    data_insert(380, EVENTS_ENABLE, $data);
    }
} else {
    if(isset($event['changed']['4390']['old'])) {
	    $data = array();
	    //старое значение
	    $data['f5310'] = $event['changed']['4390']['old'];
	    //новое значение
	    $data['f5320'] = $event['changed']['4390']['new'];
	    $data['f5330'] = "Абон. плата";
	    $data['f5350'] = $line['ID'];
	    //380 в данном примере ID подчиненной таблицы
	    data_insert(380, EVENTS_ENABLE, $data);
    }
}
Возможно кому-то понадобится





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

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