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


Смена значения в связанной таблице


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

#1 Dinara

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

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

Отправлено 25 Ноябрь 2013 - 12:47

в наличии:
1. Таблица "Контрагенты".
2. Подчиненная таблица "Созданные договора"
3. Таблица "Договора".
Во всех таблицах есть поле "Сотрудник", тип-пользователь.
Когда меняем в таблице контрагента-меняется и в таблице "созданные договора", А как сделать так, чтобы при смене в подчиненной таблице-менялся и в таблице "договора"?
Подчиненная таблица: http://take.ms/jDDAG
Номер договора-связь с таблицей "договора".
создала вычисление в подчиненной "при изменении поля сотрудник"
$line['Номер договора']['Сотрудник']=$line['Сотрудник'];
но что-то не срабатывает((

#2 CbCoder

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

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

Отправлено 25 Ноябрь 2013 - 13:53

Да вроде бы все правильно на первый взгляд. Отправьте заявку в техподдержку с доступом.

#3 Dinara

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

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

Отправлено 26 Ноябрь 2013 - 15:06

Как говорят,проблема в вычислении намного выше..Может подскажете как сопоставить эти 2 строчки? первая-то,что имеем в системе, вторая-как должно быть...
$sqlQuery = "UPDATE ".DATA_TABLE."221 SET f3151='".$line['Сотрудник']."' WHERE f3031='".$line['ID']."'";

data_update($table_id, EVENTS_ENABLE, array('f441'=>'Мои данные'), "`f412`='",$client_name,"'");


#4 CbCoder

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

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

Отправлено 26 Ноябрь 2013 - 15:11

Не совсем понял, какая взаимосвязь между этим запросами.

#5 Dinara

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

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

Отправлено 26 Ноябрь 2013 - 15:29

В таблице контрагента есть поле "Сотрудник", которое должно копировать в подтаблицу. Вторая строчка-это оно как раз.
мне написали "Вам необходимо проверить вычисление, которое меняет Сотрудника в Созданных договорах при смене Сотрудника в контрагентах." и указали первую строчку..

#6 CbCoder

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

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

Отправлено 26 Ноябрь 2013 - 15:47

Видимо имелось ввиду, что ваш запрос из первой строчки не вызывает события на изменение поля сотрудник в таблице "созданные договора" и соответственно не срабатывает и вычисление по этому событию. Т.е. ваш запрос меняет только данные, но не запускает вычисление при их изменении. И для того чтобы вычисление все таки вызывалось, необходимо привести запрос к виду из строки №2. Правильно понял?

Если это так, то преобразование будет следующее:

data_update(221, EVENTS_ENABLE, array('f3151'=>$line['Сотрудник']), "`f3031`=",$line['ID']);

Надеюсь, суть понятна, если сравните. Подробнее по функции data_update можно прочесть здесь (раздел "Оформление sql запросов")

#7 Dinara

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

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

Отправлено 27 Ноябрь 2013 - 22:33

крутокрутокруто)) спасибо большое)) все поняла))





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

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