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


Повторное изменение поля


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

#1 Dinara

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

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 22 Август 2013 - 08:14

При смене менеджера текстовое поле заполняется значением

if (($line['Смена менеджера']=="Да") and ($line['Менеджер']==$line['Сотрудник']))
$line['Менеджер сменился']="Да";

После этого применяется следующее вычисление "При изменении поля "Менеджер сменился"
if ($line['Менеджер сменился']=="Да")
{
$data['Сотрудник'] = $line['Менеджер'];
$data['Комментарий'] = "Сменился менеджер в карточке контрагента (дубль)";
$data['Компания'] = $ID;
$data['Дата смены менеджера']= date ("Y-m-d");
insert_query($data,"Комментарии", "id=$ID" );
}


Теперь заново меняем менеджера (помним,что после прежней проверки поле "Менеджер сменился" уже заполнено значением "Да") и необходимо, чтобы сработало второе вычисление. но оно не срабатывает,так как поле уже заполнено значением "Да"

Сделала уже поле "Менеджер сменился" списком, все равно не помогает..вычисление не видит, что поле меняется,для нее это поле с одним и тем же наполнением...
Как быть?

Сообщение отредактировал Dinara: 22 Август 2013 - 08:28


#2 Гость_Roman_*

  • Гости

Отправлено 22 Август 2013 - 09:04

А если во втором вычислении обозначить
 $line['Менеджер сменился']="Нет";
Или значение поля "Да" как-то ещё используется в данном случае?

#3 Dinara

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

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 22 Август 2013 - 09:16

Просмотр сообщенияRoman (22 Август 2013 - 09:04) писал:

А если во втором вычислении обозначить
 $line['Менеджер сменился']="Нет";
Или значение поля "Да" как-то ещё используется в данном случае?
значение "Нет" используется, если не изменился.
А тут случай такой-менеджер сменился один раз,проставилось "Да". После этого опять заходим и меняем менеджера, опять сменился,то есть повторно должно записаться "Да" и выполниться условие

#4 Гость_Roman_*

  • Гости

Отправлено 22 Август 2013 - 09:18

Я так понимаю, что вопрос примерно по этой теме http://clientbase.ru...?showtopic=5447 ?

#5 Dinara

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

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 22 Август 2013 - 09:23

Просмотр сообщенияRoman (22 Август 2013 - 09:18) писал:

Я так понимаю, что вопрос примерно по этой теме http://clientbase.ru...?showtopic=5447 ?
Ну да,они взаимосвязаны, по одной задаче делаю)

#6 Гость_Roman_*

  • Гости

Отправлено 22 Август 2013 - 09:26

Думаю, что тогда лучше воспользоваться тем методом, который я описал в той теме.

#7 Dinara

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

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 22 Август 2013 - 09:50

Не помогло..
if (($event['changed']['438']['old'] != $line['Менеджер']) and ($line['Менеджер']==$line['Сотрудник']) and ($line['Смена менеджера']=="Да")) // Старое значение не равно новому
	$line['Менеджер сменился'] = "Да";
else
	$line['Менеджер сменился'] = "Нет";

Первый раз все соответствует условиям (сюда их не привожу,нет смысла) - значение "Да" проставилось..
Во второй раз когда все соответствует условиями и опять должно быть повторное "Да" и срабатывание во второй раз второго условия
if ($line['Менеджер сменился']=="Да")
{
$data['Сотрудник'] = $line['Менеджер'];
$data['Комментарий'] = "Сменился менеджер в карточке контрагента (дубль)";
$data['Компания'] = $ID;
$data['Дата смены менеджера']= date ("Y-m-d");
insert_query($data,"Комментарии", "id=$ID" );
}
Не произошло...

Сообщение отредактировал Dinara: 22 Август 2013 - 11:10


#8 Dinara

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

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 22 Август 2013 - 09:53

То есть я по сути не понимаю, почему при повторном обновлении значения поля на уже существующее там-не срабатывает вычисление(((

#9 Dinara

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

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 22 Август 2013 - 22:27

Очень интересует ответ на этот вопрос..Изза этого ооочень большой код получается бесполезным, который я собирала по крупицам неделю))

#10 Гость_Roman_*

  • Гости

Отправлено 23 Август 2013 - 10:10

Если изменение поля происходит на текщее значение, то вычисление не срабатывает, поскольку идёт сравнение старого и нового значения, а они совпадают.
Вычисление на изменение поля "Менеджер".
if ($line['Менеджер сменился']=="Да" AND $event['changed']['438']['old'] != $line['Менеджер']) // Проверяем фактическую смену менеджера
{
$data['Сотрудник'] = $line['Менеджер'];
$data['Комментарий'] = "Сменился менеджер в карточке контрагента (дубль)";
$data['Компания'] = $ID;
$data['Дата смены менеджера']= date ("Y-m-d");
insert_query($data,"Комментарии", "id=$ID" );
}


#11 Dinara

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

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 23 Август 2013 - 11:43

Супер!!вы мне дали огромную подсказку!))





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

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