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


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


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

#201 GoGPS

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

  • Пользователи
  • PipPipPip
  • 159 сообщений
  • Пол:Мужчина

Отправлено 14 Май 2013 - 10:16

Здравствуйте,

Подскажите пожалуйста следующее:

В таблице есть "Дата" и есть "Дата+18 месяцев". Как сделать вычисление, которое прибавит к дате 18 месяцев и выведет готовый результат в "Дата+18 месяцев" ?

#202 Гость_Roman_*

  • Гости

Отправлено 14 Май 2013 - 10:53

$tsp = strtotime($line['Дата']);
$new_tsp = mktime(0, 0, 0, date("n", $tsp)+18, date("j", $tsp), date("Y", $tsp));
$line['Дата+18 месяцев'] = date("Y-m-d H:i:s", $new_tsp);


#203 GoGPS

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

  • Пользователи
  • PipPipPip
  • 159 сообщений
  • Пол:Мужчина

Отправлено 14 Май 2013 - 11:04

Спасибо, Роман!

Самы бы точно не справился...

#204 GoGPS

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

  • Пользователи
  • PipPipPip
  • 159 сообщений
  • Пол:Мужчина

Отправлено 14 Май 2013 - 19:38

Если не сложно, подскажите плс:

В данном случае вычисление работает даже если поле "Дата" пустое. Как сделать, что бы вычисление игнорировалось, если поле "Дата" пустое и соответственно ничего не выводило в поле "Дата + 18 месяцев".

Заранее спасибо!

#205 Гость_Roman_*

  • Гости

Отправлено 15 Май 2013 - 08:57

if ($line['Дата'] != "0000-00-00 00:00:00")
  {
    $tsp = strtotime($line['Дата']);
    $new_tsp = mktime(0, 0, 0, date("n", $tsp)+18, date("j", $tsp), date("Y", $tsp));
    $line['Дата+18 месяцев'] = date("Y-m-d H:i:s", $new_tsp);
  }


#206 GoGPS

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

  • Пользователи
  • PipPipPip
  • 159 сообщений
  • Пол:Мужчина

Отправлено 15 Май 2013 - 11:06

Спасибо!

#207 f-jeka

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

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

Отправлено 19 Май 2013 - 14:56

В таблице Контрагенты создал поле в котором назначаются исполнители. Поле связано с заведенными пользователями в системе. Создал вычисление в таблице Работа с клиентом для отображения исполнителя в удобном виде
$line['Исполнитель'] = $line['Заявка']['Исполнитель'];
где Заявка - поле связи таблицы Контрагенты и Работа с клиентом
Проблема в том, что отображаются не имена исполнителей, а их ID номера в таблице Пользователи
Что нужно дописать чтоб отображались имена?

#208 wondertalik

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

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 19 Май 2013 - 17:35

Просмотр сообщенияf-jeka (19 Май 2013 - 14:56) писал:

В таблице Контрагенты создал поле в котором назначаются исполнители. Поле связано с заведенными пользователями в системе. Создал вычисление в таблице Работа с клиентом для отображения исполнителя в удобном виде
$line['Исполнитель'] = $line['Заявка']['Исполнитель'];
где Заявка - поле связи таблицы Контрагенты и Работа с клиентом
Проблема в том, что отображаются не имена исполнителей, а их ID номера в таблице Пользователи
Что нужно дописать чтоб отображались имена?
Какой тип поля "Исполнитель", какой тип поля "Заявка - Исполнитель"?

#209 f-jeka

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

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

Отправлено 19 Май 2013 - 20:20

"Исполнитель" - в таблице "Работа с клиентом" - текст
"Исполнитель" в таблице "Контрагент" - пользователь
"Заявка" - в таблице "Контрагент" - связь

#210 wondertalik

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

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 19 Май 2013 - 20:53

Просмотр сообщенияf-jeka (19 Май 2013 - 20:20) писал:

"Исполнитель" - в таблице "Работа с клиентом" - текст
"Исполнитель" в таблице "Контрагент" - пользователь
"Заявка" - в таблице "Контрагент" - связь
Оба поля "Исполнитель" сделайте типом "Пользователь".

#211 f-jeka

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

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

Отправлено 19 Май 2013 - 21:07

Отлично! Все работает! Спасибо!

#212 branev

    Участник

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

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

Хочу перенести кнопку Выписать счет из таблицы Контрагенты в Точки.
Как измениться форма? (Строка На кого" подставляется не верная)

$schet['На кого'] = $ID;
$new_id = insert_query($schet, "Счета");
echo "<script>location.href='".$config["site_root"]."/view_line.php?table=43&line=".$new_id."&edit_mode&back_url=".$base64_current_url."'</script>";

И еще вопрос. Где почитать про глобальные переменные можно?

#213 branev

    Участник

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

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

Просмотр сообщенияbranev (13 Август 2013 - 21:11) писал:

Хочу перенести кнопку Выписать счет из таблицы Контрагенты в Точки.
Как измениться форма? (Строка На кого" подставляется не верная)

$schet['На кого'] = $ID;
$new_id = insert_query($schet, "Счета");
echo "<script>location.href='".$config["site_root"]."/view_line.php?table=43&line=".$new_id."&edit_mode&back_url=".$base64_current_url."'</script>";

И еще вопрос. Где почитать про глобальные переменные можно?

Извиняюсь таблица Точки это таблица Заявки (переименованная)
Помогите плз)

Сообщение отредактировал branev: 14 Август 2013 - 08:29


#214 CbCoder

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

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

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

"На кого" - это поле связи с Контрагентом. В Заявках за связь с контрагентом отвечает поле Клиент, следовательно код должен измениться так:

$schet['На кого'] = $line['Клиент']['ID'];


#215 branev

    Участник

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

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

Спасибо!
А существует все таки более подробная документация с описаниями глобальных переменных и т.д.?

#216 CbCoder

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

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

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

Все есть на сайте: http://clientbase.ru...6/calculations/

#217 adminTF

    Участник

  • Пользователи
  • PipPip
  • 18 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 01 Ноябрь 2013 - 14:57

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

#218 CbCoder

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

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

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

К чему такой сложный путь, если можно просто нажать на "Архивировать" или "Удалить", а не менять значение какого-то поля?

#219 adminTF

    Участник

  • Пользователи
  • PipPip
  • 18 сообщений
  • Пол:Мужчина
  • Город:Москва

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

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

#220 CbCoder

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

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

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

Ну, ок. Вычисление здесь элементарное:

if ($line['Архив']=="архив")
    $line['Статус записи'] = 1;
else if ($line['Архив']=="удаленное")
    $line['Статус записи'] = 2;
else
    $line['Статус записи'] = 0; // активное






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

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