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


Простые Вычисления

Вычисления

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

#1 maxim

    Участник

  • Пользователи
  • PipPip
  • 22 сообщений

Отправлено 07 Июль 2012 - 13:40

табл."Контрагенты" поле "Договор"(связь с табл. "Договор" поле "Номер договора").
Заполняю поля табл."Контрагенты" "Договор","Название" -сохранение.

В табл."Договор" поле "Номер договора"-номер кот. сохранили, а поле "Компания2"(связь таб. "Контрагенты" поле "Название") не заполнено. Делаем вычисления.
Вычисления таблицы "Договор" пишем

$line['Компания2'] = $line['Название']$line['Контрагенты'];
Выполнить При сохранении

Никак не разберусь что не так.

Сообщение отредактировал maxim: 07 Июль 2012 - 13:43


#2 CbCoder

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

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

Отправлено 07 Июль 2012 - 14:21

Во-первых, не вполне понятна последовательность действий. Из вашего сообщения получается такая:

1. Добавляем некий договор, не связанный ни с какой компанией.
2. Добавляем компанию, выбираем в поле "Договор" номер договора (т.е. связываем компанию с договором)
3. Затем заходим в договор, пересохраняем. При этом должно сработать ваше вычисление и в поле "Компания2" занестись связанная с договором компания.

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

#3 maxim

    Участник

  • Пользователи
  • PipPip
  • 22 сообщений

Отправлено 07 Июль 2012 - 18:07

Просмотр сообщенияCbCoder (07 Июль 2012 - 14:21) писал:

Во-первых, не вполне понятна последовательность действий. Из вашего сообщения получается такая:

1. Добавляем некий договор, не связанный ни с какой компанией.
2. Добавляем компанию, выбираем в поле "Договор" номер договора (т.е. связываем компанию с договором)
3. Затем заходим в договор, пересохраняем. При этом должно сработать ваше вычисление и в поле "Компания2" занестись связанная с договором компания.

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

При создании нового Контрагента нужно ввести о нем всю информацию какой распологаем.
Название адрес, № договора и тд.
В табл."Контрагенты" добавляем компанию, в поле "Договор" создаем новый номер договора (поле договор это поле связи с табл "Договор")


Прикрепляю скрины.

Прикрепленные изображения

  • Прикрепленное изображение: 1.jpg
  • Прикрепленное изображение: 2.jpg
  • Прикрепленное изображение: 3.jpg
  • Прикрепленное изображение: 4.jpg
  • Прикрепленное изображение: 5.jpg


#4 CbCoder

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

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

Отправлено 09 Июль 2012 - 09:14

Теперь понял, ок. Во-первых, в данной ситуации удобнее добавить вычисление не в Договор, а в Контрагента, т.к. первичное поле связи находится в нем. Во-вторых, можно использовать вычисление и в Договоре, как это сделали вы, но там логика совершенно иная и чуть более сложная. Поэтому лучше использовать первый вариант (вычисление в таблице Контрагенты):

$line['Договор']['Компания2'] = $line['ID'] // заносим id компании (т.к. в поле связи хранится id записи) в поле "Компания2" договора через поле связи с этим договором

По второму варианту (в таблице Договора) вычисление следующее:

$contragent = data_table("Контрагенты", "`Договор`='".$line['ID']."'"); // ищем запись в контрагентах с данным договором
$line['Компания2'] = $contragent['ID']; // заносим id найденного контрагента

Кстати, нескромный вопрос: почему у вас поле связи с контрагентом в договоре зовется "Компания2"? Почему не просто "Компания"?

#5 maxim

    Участник

  • Пользователи
  • PipPip
  • 22 сообщений

Отправлено 09 Июль 2012 - 10:22

Спасибо.

Просмотр сообщенияCbCoder (09 Июль 2012 - 09:14) писал:


Кстати, нескромный вопрос: почему у вас поле связи с контрагентом в договоре зовется "Компания2"? Почему не просто "Компания"?

"Компания2" тестово, чтобы понять логику.





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

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