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


Вопрос по вычислениям


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

#81 AssVlad

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

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

Отправлено 06 Июнь 2012 - 15:05

А могу я объявлять и потом присваивать переменной некие вычисления для дальнейшей обработки. Например $rasxod = $line['БУМАГА'] + $line['ФОРМЫ']; ?

#82 CbCoder

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

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

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

Почему нет? Разумеется можете, вычисления пишутся на стандартном PHP. Единственно, не допускается переопределение
зарезервированных переменных: http://clientbase.ru...6/calculations/

#83 teacs

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

  • Пользователи
  • PipPipPip
  • 80 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

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

Подскажите пожалуйста, как сделать, чтобы при изменения значения в поле (тип список) в подчиненной таблице с "нет" на "да", менялось значение в поле (список) в основной таблице и подставлялась дата (поле дата) в отдельное поле в основной таблице?

Сообщение отредактировал teacsrem: 07 Июнь 2012 - 16:39


#84 CbCoder

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

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

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

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

Подскажите пожалуйста, как сделать, чтобы при изменения значения в поле (тип список) в подчиненной таблице с "нет" на "да", менялось значение в поле (список) в основной таблице и подставлялась дата (поле дата) в отдельное поле в основной таблице?
Так, как описано здесь: http://clientbase.ru...indpost&p=12275

#85 teacs

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

  • Пользователи
  • PipPipPip
  • 80 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

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

Прошу прощения, но все утро пытаюсь написать вычисление.. Пока не успешно((
Мне необходимо, чтобы из подчиненной таблицы "табл2" из поля "поле2" подставлялись данные в основную таблицу "табл1" в поле "поле1", а в поле "поле3" подставлялась дата выполнения вычисления.

#86 CbCoder

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

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

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

Разместите здесь свой код, если есть ошибки - я укажу где именно.

#87 teacs

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

  • Пользователи
  • PipPipPip
  • 80 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

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

if ($line['табл2']['поле2'])
{
$line['табл1']['поле1'] == "Да";
$line['дата'] = date("Y-m-d 00:00:00"); // текущая дата
}

вычислять по изменению поля2, вычисление пишу в подчиненной табл2

#88 CbCoder

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

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

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

Первое: в какой таблице и по какому условию выполняется вычисление?
Второе: что по вашему означают конструкции $line['табл1'] и $line['табл2']?

Подсказка: см. сообщения с 76 по 80 данной темы.

#89 teacs

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

  • Пользователи
  • PipPipPip
  • 80 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

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

1. В подчиненной таблице "Поле2" при условии изменения поля "Поле2"
2. $line['табл1']таблиц
$line['табл2']подчиненная таблица

Поле связь у меня в подчиненной таблице "Адрес"

Сообщение отредактировал teacsrem: 08 Июнь 2012 - 15:24


#90 CbCoder

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

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

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

Просмотр сообщенияteacsrem (08 Июнь 2012 - 15:23) писал:

$line['табл1']таблиц
$line['табл2']подчиненная таблица
Вы совершаете ту же ошибку что и AssVlad, даже больше. Мало того, что вы обращаетесь к связанной таблице по ее имени, а не по полю связи, вы еще зачем-то к текущей таблице (а текущая в данном случае это подчиненная, т.к. вычисление выполняется в ней) обращаетесь тоже через имя таблицы ("табл2"). И в тоже время к полю "дата" в другой таблице - наоборот без ничего. В общем сплошная сборная солянка из ошибок.

Правильный код:
if ($line['поле2']) // это поле в ТЕКУЩЕЙ таблице, обращаемся напрямую!!
{
$line['Адрес']['поле1'] == "Да"; // к основной обращаемся через поле связи!
$line['Адрес']['дата'] = date("Y-m-d 00:00:00"); // и здесь тоже не забываем про связь, т.к. поле НЕ из этой таблицы
}


#91 teacs

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

  • Пользователи
  • PipPipPip
  • 80 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 08 Июнь 2012 - 16:03

Огромное Спасибо, подправил под свои нужды и все подошло!
А можно ли как-то ограничить добавление записей в подчиненную таблицу скажем до 5, чтобы после добавления 5 записи отключалась кнопка "добавить запись". Или это нужно делать через расширенные права пользователя?

#92 CbCoder

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

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

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

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

#93 teacs

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

  • Пользователи
  • PipPipPip
  • 80 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 08 Июнь 2012 - 16:17

А через группы доступа отключится вообще на добавление строк..
А если какие-то данные менялись в основной таблице, можно настроить поле в основной таблице, в котором будет меняться дата в зависимости от любых изменений связанным с текущей строкой?

#94 CbCoder

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

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

Отправлено 08 Июнь 2012 - 16:53

Можно конечно, добавляете поле "Дата изменений" и вычисление на изменение всех полей: $line['Дата изменений'] = date("Y-m-d 00:00:00").

#95 teacs

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

  • Пользователи
  • PipPipPip
  • 80 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

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

Добрый день.
Настраиваю фильтр в подчиненной таблице (замеры) по полю связь (Адрес), чтобы каждому пользователю открывать фильтры только на свои адреса.
---
Поле "Адрес" - содержит - Е42
---
Включаю отображение кол-ва записей в фильтре, отображает 0, хотя записи точно есть.
Подскажите как правильно настроить фильтр.

#96 CbCoder

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

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

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

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

#97 teacs

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

  • Пользователи
  • PipPipPip
  • 80 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

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

Оставил заявку, через сайт.

#98 AssVlad

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

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

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

Добрый день! Снова вопрос по вычислениям! Вроде понял предыдущий урок, а снова не получается! Есть таблица Конрагенты и поле Название, вторая подчиненная таблица Коммерческие и поле клиент! Поле клиент и название связь! В таблице контрагенты есть поле К со значениями список Да/Нет! Пытаюсь сделать, что если при занесении информации о коммерческих приложениях Есть, то поле К автоматически становится ДА! В вычислениях Контрагента добавляю новое вычисление:

if ($line['Коммерческие']['Клиент'] == $line['Название'])
{
$line['К'] = "Да";
}

#99 CbCoder

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

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

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

Те же самые ошибки, даже еще хуже. Такое ощущение, что ничего не поняли из предыдущих объяснений.

Еще раз: зачем вы используете имя таблицы в переменной $line? В $line используются только имена полей!

Второе: на какое событие настроено вычисление?

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

#100 AssVlad

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

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

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

Так Вы же сами писали, если нужны данные из подчиненной таблицы, то нужно указывать связь - "$line['Номер']['Маржа']" - это было в прошлом случае! В данном случае я хочу узнать если в таблице Коммерческие в поле Клиент присутствуют записи из основной таблицы Контрагенты с полем Название, то в основную таблицу Контрагенты вычислять в поле К значение Да! Событие хоть сохранение таблицы, хоть отображение поля К.





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

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