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


Архивные сотрудники


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

#1 Dinara

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

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

Отправлено 14 Июль 2014 - 17:58

После того как у сотрудника статус сменился с "Активный" на "Архивный" как можно переместить его контрагентов на другого сотрудника? (на руководителя,если группа1, то на руководителя1, если группа2-на руководителя2)...?

#2 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 15 Июль 2014 - 08:27

Делаете запрос ко всем его контрагентам и меняете поле сотрудника. Стандартная операция же. В чем конкретно сложность?

#3 Dinara

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

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

Отправлено 15 Июль 2014 - 12:18

if ($event['type']=='restore')
	{ if ($event['changed'][919]['new']==1)
  
		   { if ($line['Группа доступа']==1101)

			 $sqlQuery = "SELECT * FROM ".DATA_TABLE."42 WHERE status=0 AND f6061=0 AND f839='".$line['ID']."'";
			 $res = mysql_query($sqlQuery);
			 $row = mysql_fetch_array($res);
			 $line['Сотрудник'] = 961;
		  }
      }
ВОт где строка с вопросом пока не могу понять как указать..мы берем все строки (*) из таблицы (42) активные строки(=0) где в поле сотрудник текущий пользователь (вот это не знаю как правильно прописать)

Сообщение отредактировал Dinara: 15 Июль 2014 - 12:22


#4 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 15 Июль 2014 - 12:52

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

#5 Dinara

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

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

Отправлено 15 Июль 2014 - 13:01

меня в принципе интересует только это место, как указать сотрудник=пользователь которого переместили в архив,дальше я уже буду сама разбираться)
$sqlQuery = "SELECT * FROM ".DATA_TABLE."42 WHERE status=0 AND f6061=0 AND f839='".$line['ID']."'";
$res = mysql_query($sqlQuery);
$row = mysql_fetch_array($res);
$line['Сотрудник'] = $line['Руководитель'];
То есть как в селекте верно указать не знаю(

#6 Dinara

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

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

Отправлено 15 Июль 2014 - 13:39

Хотя нет,похоже что мне нужен код такого формата
$update_data['f6061'] = $line['Руководитель'];
data_update(42,EVENTS_ENABLE,$update_data);
Но и здесь как прописать сотрудник=пользователь?

#7 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 15 Июль 2014 - 13:57

Просмотр сообщенияDinara (15 Июль 2014 - 12:18) писал:

if ($event['type']=='restore')
	{ if ($event['changed'][919]['new']==1)
  
		   { if ($line['Группа доступа']==1101)

			 $sqlQuery = "SELECT * FROM ".DATA_TABLE."42 WHERE status=0 AND f6061=0 AND f839='".$line['ID']."'";
			 $res = mysql_query($sqlQuery);
			 $row = mysql_fetch_array($res);
			 $line['Сотрудник'] = 961;
		  }
	  }

Я от вас не отстану все таки со скобками. Вы уверены что верно скобки разместили? Может все таки имелось ввиду это:

if ($event['type']=='restore')
{
	if ($event['changed'][919]['new']==1)
	{
		if ($line['Группа доступа']==1101)
		{
			$sqlQuery = "SELECT * FROM ".DATA_TABLE."42 WHERE status=0 AND f6061=0 AND f839='".$line['ID']."'";
			$res = mysql_query($sqlQuery);
			$row = mysql_fetch_array($res);
			$line['Сотрудник'] = 961;
		}
	}
}

т.к. в вашем варианте очевидно пропущен третий блок скобок (вместо него просто отступ, который сам по себе ни на что не влияет), да и другие скобки крайне странно расставлены (перед if, а не после). Если я прав, попробуйте для начала мой вариант, может хотя бы часть проблемы отпадет.

#8 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 15 Июль 2014 - 14:04

Цитата

меня в принципе интересует только это место, как указать сотрудник=пользователь которого переместили в архив,дальше я уже буду сама разбираться

А причем тут пользователь, перемещенный в архив? Вы же в начале темы писали что сотрудника перемещаете в архив? Соответственно, ищете в контрагентах все записи, где просто указан этот сотрудник. Если же там используется поле "пользователь" (например, Менеджер в стандартной), то ищете контрагентов, у которых поле пользователь равно полю пользователь из Сотрудника. Вроде все очень просто.





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

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