Вычисления в принципе не предназначены для вывода чего-либо (кроме всплывающих уведомлений через функцию calc_alerts), особенно при быстром редактировании которое в фоне данные сохраняет. Так что вы никак не реализуете свою задачу буквально. Через вычисление можно реализовать следующий вариант: 1) проверяем данные, 2) в случае несоответствия отменяем изменение через $event['changed'][111]['old'], где 111 - id поля, и 3) выводим уведомление пользователю о том что значение в указанном поле некорректное, исправьте на другое
Либо реализуете заполнение поля через доп.действие в всплывающем окне и там уже делаете какую угодно форму.
- Форум CRM программы Клиентская база
- → Просмотр профиля: CbCoder
Статистика
- Группа: Программист ООО "КБ"
- Сообщений: 8 643 (1,56 в день)
- Активен в: Как это сделать (7155 сообщений)
- Просмотров: 63 610
- Статус: Активный участник
- Возраст: Неизвестен
- День рождения: Неизвестен
-
Пол
Мужчина
-
Город
Казань
Старые поля
-
Версия
платная
Контактная информация
0
Обычный
Инструменты
Последние посетители
Мои сообщения
В теме: Окно ввода данных из вычисления
13 Февраль 2024 - 16:19
В теме: Передать в шаблон письма динамические данные
29 Сентябрь 2023 - 12:16
Anton1 (15 Сентябрь 2023 - 15:49) писал:
Код работает, но возможно есть более правильные и изящные решения передачи результатов запроса в шаблон письма, без использования json и html_entity_decode ?
Если вам надо передать подтаблицу, то в шаблоне письма есть штатные переменные для этого. Если же это сторонняя таблица не связанная никак с текущей, то вероятно более оптимальных вариантов чем у вас в примере вряд ли можно придумать. Разве что я бы на такой же задаче скорее всего записал бы в то же поле сразу HTML (в поле типа с текст включенной опцией html форматирование) и просто вывел бы переменную поля в шаблоне. Но у вашего варианта свои плюсы.
В теме: Передать в шаблон письма динамические данные
15 Сентябрь 2023 - 14:56
Переменная $line будет сохранена в БД только после завершения кода всех вычислений, а send_template берет сразу данные из БД. Поэтому и записывать в вашем случае лучше в БД напрямую:
data_update($table_id, ['f111' => $data], 'id = ', $ID); // 111 - замените на id поля "Данные", в $data - результат вашего запроса
В теме: Запустить внешний файл из крона
11 Август 2023 - 16:01
Цитата
Сработает?
Да, для доп.действий по идее тоже должно сработать.
Цитата
Далее определить id и запустить через run_calc()
Только не через run_calc скорее всего, а через calc_line, я там редактировал свое сообщение выше. Поторопился я с run_calc в том плане что run_calc запускает вычисление по всей таблице, а вариант выше с calc_line позволяет запустить вычисление по конкретным нужным вам записям. Но если вас устроит запуск по всей таблице сразу, то можно и run_calc запустить, он сделает тоже самое.
- Форум CRM программы Клиентская база
- → Просмотр профиля: CbCoder