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


Запустить доп.действие из вычисления


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

#1 plotnikov

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

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

Отправлено 24 Февраль 2017 - 23:06

Можно ли запустить дополнительное действие из вычисления?

#2 Tony999

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

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

Отправлено 25 Февраль 2017 - 03:30

Можно.
echo "<script> document.getElementById('button_id').value='180'; if (js_but180()) sel_alert('additional'); return false;</script>";
Где 180 - это номер доп. действия (можно посмотреть в строке браузера при настройке доп. действия: button=180)
Или без echo, в конце вашего вычисления:
?>
<script> document.getElementById('button_id').value='180'; if (js_but180()) sel_alert('additional'); return false; </script>
Можно еще, конечно, достать код доп. действия из базы по sql-запросу и через HEREDOC вставить его в вычисление.
Кто еще что предложит?)

Сообщение отредактировал Tony999: 25 Февраль 2017 - 03:47

Умные сайты на заказ
https://info.crm-master.info

#3 plotnikov

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

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

Отправлено 25 Февраль 2017 - 15:32

Достаточно извращенные варианты, но интересные, спасибо. Но может есть нормальные функции в КБ для этого? Ждем

#4 CbCoder

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

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

Отправлено 27 Февраль 2017 - 09:21

"Нормальных" функций специально для этого нет, т.к. вызов доп.действия из вычисления сам по себе "достаточно извращенный вариант". Так что Tony все верно описал.

#5 Tony999

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

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

Отправлено 27 Февраль 2017 - 10:52

Plotnikov, а кто Вам мешает завернуть это "извращение" в функцию, типа:
dopd(number)
И вызвать ее, когда надо, меняя лишь номер доп.действия.
Так красивее?)
Умные сайты на заказ
https://info.crm-master.info

#6 wondertalik

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

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

Отправлено 01 Март 2017 - 13:53

Просмотр сообщенияplotnikov (25 Февраль 2017 - 15:32) писал:

Достаточно извращенные варианты, но интересные, спасибо. Но может есть нормальные функции в КБ для этого? Ждем
А может правильней сделать рефакторинг доп. действия? Вывести это в отдельный код и вызывать откуда угодно и когда угодно?

#7 plotnikov

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

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

Отправлено 04 Март 2017 - 14:30

2 варианта решения нашел для себя:
1. вынести код во внешний файл (например), и запрашивать функцию инклудом из вычисления из доп.действия.
2. (выбрал этот вариант). Создал в таблице поле "последнее обновление" типа Дата+время (например). Вычисление запускаю при изменении этого поля. Соответственно, если необходимо запустить вычисление из доп.действия, то просто обновляю дату из доп.действия и вычисление срабатывает.





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

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