- Поле "Категория". 3 значения - Статус1, Статус2 и Статус3. Рассчитывается автоматически.
- Поле "Прошлый статус". 3 значения - Статус1, Статус2 и Статус3. Нужно рассчитывать если изменилось значение поля "Категория".
- Поле "Дата изменения статуса". Подставляется дата когда произошло изменение поля "Категория".
Соответственно, если значения поля Категория меняются, то в поле "Прошлый статус" должно всегда записываться предыдущее значение.
Вопрос состоит в том как обновлять данные в поле "прошлый статус"
2
Вычисление
Автор TelecomMedia, 17 июня 2014 09:03
Сообщений в теме: 7
#1
Отправлено 17 Июнь 2014 - 09:03
#2
Отправлено 17 Июнь 2014 - 12:28
if ($line['Категория']=="Статус2") $line['Прошлый статус'] = "Статус1"; if ($line['Категория']=="Статус3") $line['Прошлый статус'] = "Статус2";
Вроде элементарно?
#3
Отправлено 17 Июнь 2014 - 12:49
Не совсем правильно.
Просто на самом деле статусов не 3 штуки, а больше и очередность их присвоения не последовательна.
Т.е. клиент может находиться в "Статус5", а затем скатиться на "Статус1".
В вашем же примере присвоится "Статус4", если исходить из такой логики.
Просто на самом деле статусов не 3 штуки, а больше и очередность их присвоения не последовательна.
Т.е. клиент может находиться в "Статус5", а затем скатиться на "Статус1".
В вашем же примере присвоится "Статус4", если исходить из такой логики.
#4
Отправлено 17 Июнь 2014 - 13:28
Тогда берите предыдущее значение из $event['changed'][111]['old'], где 111 - id поля Категория.
#5
Отправлено 23 Июнь 2014 - 16:59
Правильно ли сформирован запрос?
$old = $event['changed'][13191]['old']; $line['Прошлый статус'] = $old;
#6
Отправлено 23 Июнь 2014 - 17:15
Да. Только можно сразу:
Промежуточная переменная тут особо смысла не имеет. Но это уже дело вкуса скорее.
$line['Прошлый статус'] = $event['changed'][13191]['old'];
Промежуточная переменная тут особо смысла не имеет. Но это уже дело вкуса скорее.
#7
Отправлено 23 Июнь 2014 - 17:17
Кроме того, вычисление должно быть настроено на изменение поля Категория, т.к. если поле не менялось, $event['changed'][13191] будет пустым. Либо проверять его на непусто.
#8
Отправлено 24 Июнь 2014 - 06:23
Понял, как Вы написали, я тоже так делал.
Ошибка в том, что я этот код вставлял в доп действие.
Соответсвенно, никаких изменений не происходило.
Сейчас все заработало. Спасибо
Ошибка в том, что я этот код вставлял в доп действие.
Соответсвенно, никаких изменений не происходило.
Сейчас все заработало. Спасибо
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных