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


Вычисление. Изменение поля таблицы 1 при изменении поля таблицы 2


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

#21 CbCoder

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

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

Отправлено 14 Январь 2016 - 18:01

http://fi2.php.net/m...tors.string.php

Т.е. используете точку чтобы "сшить" значения. Перевод строки вводится как "\n": http://fi2.php.net/m...g.syntax.double. Пробел думаю очевиден.

#22 valeralezhnev

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

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

Отправлено 14 Январь 2016 - 19:18

я не силен в программировании. почитал ) но там везде незнакомые <php? и т.п. ...
в общем
$line['1'] = $line['1'] . $line['2'] . $line['3'];

работает так, что все склеивается без пробелов. получается 123, а хотелось бы 1 2 3. или даже
1
2
3

с переносом строки на новую разобраться не сумел. подставновка \n в разные места строки не помогла )

Сообщение отредактировал valeralezhnev: 14 Январь 2016 - 19:21


#23 CbCoder

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

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

Отправлено 15 Январь 2016 - 09:15

Так добавьте пробелы:

$line['1'] = $line['1'] . " " . $line['2'] . " " .$line['3'];

С переводом соответственно будет:

$line['1'] = $line['1'] . "\n" . $line['2'] . "\n" .$line['3'];

Цитата

я не силен в программировании

Вообще, предполагается, что человек, пишущий вычисления, разбирается в программировании, пусть и не конкретно на PHP (но может прочесть документацию и понять). У нас даже в документации об этом есть предупреждение. Понятно, что реально на практике их пишут все кому не лень, но тем не менее, это я к тому, что ссылаться на неумение тут не стоит) Это как попасть пьяным в аварию и оправдываться что был пьян)

#24 valeralezhnev

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

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

Отправлено 15 Январь 2016 - 11:22

спасибо большое! я возглавляю отдел продаж ) в компании нет программистов, приходится крутиться, как получается :)
хорошо, что есть такой форум, где можно задать вопрос, подождать, и надеяться, что помогут )

#25 valeralezhnev

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

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

Отправлено 19 Январь 2016 - 16:28

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

if (line'1'!=='') line2=line2 . line'ответственный' и т.д. на месте line 'ответственный' получаю цифру , а не иванов иван

Сообщение отредактировал valeralezhnev: 19 Январь 2016 - 16:32


#26 CbCoder

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

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

Отправлено 19 Январь 2016 - 16:36

Номер (а точнее, id пользователя) подставляется по причине того, что именно он хранится в поле "пользователь" на уровне БД. Для подстановки имени его вначале необходимо получить, из служебной таблицы пользователей, обратясь к ней запросом:

$user_data = sql_select_array(USERS_TABLE, "id=".$line['Ответственный']); // ищем запись в таблице USERS_TABLE с id равным значению поля "Ответственный", результат помещаем в массив $user_data
$user_fio = $user_data['fio']; // помещаем в переменную $user_fio значение поля "fio" из полученных данных пользователя

Затем используете $user_fio где вам надо.

#27 valeralezhnev

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

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

Отправлено 19 Январь 2016 - 16:42

круто, все сработало! спасибо.

#28 valeralezhnev

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

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

Отправлено 20 Январь 2016 - 14:07

некоторое время назад возник вопрос о последовательности срабатывания вычислений и напоминаний. (не у меня одного на этом форуме)
//clientbase.ru/forum/index.php?showtopic=7090&view=findpost&p=29882

вроде бы, проблема была решена и последовательность правильно сработала (как выяснилось, только в одном случае)
сейчас проблема снова возникла. я попробовал несколько вариантов, и вот, что интересное выяснилось:
вариант1 (работает некорректно)
вычисление на изменение "поля1":
если "поле1" = да, то "поле2" = да
если "поле1" = да, то "поле дата" = текущая дата

+ есть напоминание, которое срабатывает, если "поле1" было изменено и "поле1" = да
текст напоминания: "внимание! новая сделка - {"поле дата"}" - вот я думал, что в напоминание должна подставляться текущая дата, которая заполнилась вычислением, но этого не происходит.

Вариант2 (работает корректно):
вычисление на изменение "поля1" (то же, что и в варианте1):
если "поле1" = да, то "поле2" = да
если "поле1" = да, то "поле дата" = текущая дата

а вот напоминание надо переделать!
надо сделать: "если "поле2" изменено и "поле2" = да"
текст напоминания: "внимание! новая сделка - {"поле дата"}" - при таком варианте дата в "поле дата" проставляется правильно.

#29 CbCoder

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

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

Отправлено 20 Январь 2016 - 15:47

Ок, посмотрим.

О результате отпишусь здесь.

#30 CbCoder

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

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

Отправлено 21 Январь 2016 - 09:55

Цитата

вариант1 (работает некорректно)
вычисление на изменение "поля1":
если "поле1" = да, то "поле2" = да
если "поле1" = да, то "поле дата" = текущая дата

+ есть напоминание, которое срабатывает, если "поле1" было изменено и "поле1" = да
текст напоминания: "внимание! новая сделка - {"поле дата"}" - вот я думал, что в напоминание должна подставляться текущая дата, которая заполнилась вычислением, но этого не происходит.

Повторил, дата подставляется. Может опять что-то не так делаю? Предлагаю вам создать тестовый аккаунт на saas, повторить конфигурацию там, и в случае подтверждения, выложить доступ к нему здесь.

#31 valeralezhnev

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

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

Отправлено 21 Январь 2016 - 11:15

Просмотр сообщенияCbCoder (21 Январь 2016 - 09:55) писал:

Предлагаю вам создать тестовый аккаунт на saas
пришлите ссылку, пожалуйста

#32 CbCoder

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

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

Отправлено 21 Январь 2016 - 11:19

https://clientbase.ru/create/

#33 valeralezhnev

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

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

Отправлено 21 Январь 2016 - 11:44

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

в описанных выше двух ситуациях "в шапке" и в "уведомлении" дата высвечивается в обоих случаях корректно.
НО!
в случае "отправить на емэйл" в письме приходит неправильная дата (в случае варианта 1, о котором я говорил выше), и правильная дата (в случае варианта настроек №2).
при настройке напоминания я выбираю шаблон "напоминание" из вкладки "настройки">дополнительно>Шаблоны системных писем
в этом шаблоне есть {текст напоминания}. в теме письма если поставить поле {дата} и настроить напоминание по типу вариант1, дата также будет отображаться некорректно. в случае варианта2 все работает корректно. попробуйте.

#34 CbCoder

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

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

Отправлено 21 Январь 2016 - 11:59

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

#35 valeralezhnev

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

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

Отправлено 21 Январь 2016 - 12:27

пока у вас нет решения этой сложности, напоминание придется настраивать так, чтобы оно срабатывало после изменения "поля2". т.е. последовательность такая:
поле1 вычислением меняет поле2, а при изменении поля2 срабатывает напоминание на почту. но это не всегда удобно и даже возможно.
поэтому жду рекомендаций

#36 CbCoder

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

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

Отправлено 21 Январь 2016 - 12:30

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

Как исправлю, отпишусь здесь. Сегодня или завтра скорее всего.

#37 CbCoder

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

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

Отправлено 21 Январь 2016 - 17:24

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





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

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