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


Публикации d654525

8 публикаций создано d654525 (учитываются публикации только с 29-Март 23)


#38988 Вывод в шаблоне печати только записей, содержащих нужный текст

Отправлено от d654525 в 25 Январь 2019 - 12:29 in Как это сделать

Есть шаблон печати. В него нужно вывести в нужное место только записи, в которых в поле f123 есть текст "искомый_1".

Эту операцию нужно повторить несколько раз в 1 шаблоне. Каждый раз в поле f123 будет искаться разный текст.

Возможно такое при генерации шаблона печати? Можете привести пример кода для выборки по 3 разным искомым фразам, например
искомое1, искомое2, искомое3

Будет в итоге вот так:

ШАБЛОН ПЕЧАТИ

Записи, в которых в поле f123 есть искомое1:
...
Записи, в которых в поле f123 есть искомое2:
...
Записи, в которых в поле f123 есть искомое3:
...



#38950 Ошибка в вычислении кроном: если слово не содержится в поле, то отправить письмо

Отправлено от d654525 в 08 Декабрь 2018 - 10:57 in Как это сделать

А вообще в 1 кроне возможно это делать, чтобы искалось в логе, отправлялось и писалось в лог? Ты говорил, что вычисление сразу отрабатывает, а потом пишет. Значит, это невозможно? Проще сделать рассылку через фильтр. Правильно думаю?



#38949 Ошибка в вычислении кроном: если слово не содержится в поле, то отправить письмо

Отправлено от d654525 в 07 Декабрь 2018 - 20:08 in Как это сделать

либо не в той последовательности все происходит. с текущим вычислением сначала отправляются шаблоны, а потом ищется или проставляется текст в логи. нужно наоборот:
сначала ищем текст (упоминание слова в поле), если не находим - отправляем шаблон и пишем в в лог



#38948 Ошибка в вычислении кроном: если слово не содержится в поле, то отправить письмо

Отправлено от d654525 в 07 Декабрь 2018 - 20:02 in Как это сделать

не ошибка. он неправильно работает

должно быть так:
2 действие. ищем в поле f21750 слово "Оплатить" или "оплатить" в любом регистре. ищем не полное совпадение, а упоминание.
3 действие. если во 2 действии упоминание не находится, нужно отправить шаблон письма и шаблон смс

происходит:
слово "оплатить" есть в тексте этого поля, но шаблон все равно отправляется



#38946 Ошибка в вычислении кроном: если слово не содержится в поле, то отправить письмо

Отправлено от d654525 в 07 Декабрь 2018 - 13:15 in Как это сделать

Просмотр сообщенияCbCoder (07 Декабрь 2018 - 12:19) писал:

А что за $line у вас в кроне? Что в этой переменной у вас находится?

там данные для вычисления.
в начале крона идет код. все вместе вот так выглядит

$result = data_select(541, 'status = 0 and id = 4209');
while($line = sql_fetch_assoc($result)) {
pr($line);
    $pupil = data_select_array(341, "id = {$line['f8341']}");
    $data = [];

   if($line['f10791'] == 0 && $line['f11201'] == 0) {
        echo "3<br>";
        $data['f8281'] = "Оплатить";
        $data['f21750'] = "Авто-email-смс: оплатить";        
        //письмо и смс отправлять, если в поле $line['Рассылки'] нет слова "оплатить"
            if(mb_strpos($line['f21750'], 'оплатить') != false) {
                send_template(3050, "`status`=0 AND `id` =" . $line['id']);
//              sendsms("Выставлен счет на оплату", $pupil['f3731']);
            echo "4<br>";
            }
    } 



#38944 Ошибка в вычислении кроном: если слово не содержится в поле, то отправить письмо

Отправлено от d654525 в 06 Декабрь 2018 - 22:24 in Как это сделать

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

Описание текстом последовательности действий:
1 действие: изменение значение в поле f8281 при выполнении условия. оно отрабатывает корректно. после его выполнения нужно выполнять 2 действие.
2 действие. ищем в поле f21750 слово "Оплатить" или "оплатить" в любом регистре. ищем не полное совпадение, а упоминание.
3 действие. если во 2 действии упоминание не находится, нужно отправить шаблон письма и шаблон смс
4 действие. после отправки шаблона нужно проставить текст "Авто-email-смс: оплатить" в поле f21750, т.к. при следующем срабатывании крона он опять будет искать в поле f21750 текст "оплатить", а когда найдет, то уже не будет отправлять шаблоны

текущий код:
//1 действие: изменение значение в поле f8281 при выполнении условия. оно отрабатывает корректно. после его выполнения нужно выполнять 2 действие
if($line['f10791'] == 0 && $line['f11201'] == 0) {
$data['f8281'] = "Оплатить";
  //2 действие. ищем в поле f21750 слово "Оплатить" или "оплатить" в любом регистре. ищем не полное совпадение, а упоминание.
  if(mb_strpos($line['f21750'], 'оплатить') != false) {
   //3 действие. если во 2 действии упоминание не находится, нужно отправить шаблон письма и шаблон смс
   send_template(3050, "`status`=0 AND `id` =" . $line['id']);
   sendsms("Выставлен счет на оплату", $pupil['f3731']);
  }
//4 действие. после отправки шаблона нужно проставить текст "Авто-email-смс: оплатить" в поле f21750, т.к. при следующем срабатывании крона он опять будет искать в поле f21750 текст "оплатить", а когда найдет, то уже не будет отправлять шаблоны
$data['f21750'] = "Авто-email-смс: оплатить";
}



#38563 Прошу помощи с простым вычислением - синтаксис

Отправлено от d654525 в 14 Апрель 2018 - 08:24 in Как это сделать

Просмотр сообщенияwondertalik (14 Апрель 2018 - 00:10) писал:

$line['Комментарий админа'] = ($line['Ученик']['Комментарий админа'] .' '. $line['Группа']['Комментарий админа']);

if(strpos($line['f16801'], "Долг") !== false ) {
	$line['Комментарий админа'] .= ". ДОЛГ! Обратите внимание ученика. ";
}
if(strpos($line['f16801'], "Закончились") !== false) {
	$line['Комментарий админа'] .= ". Закончилась оплата! Напомните ученику. ";
}


редактировал с телефона, проверьте

Работает вариант, большое спасибо!



#38561 Прошу помощи с простым вычислением - синтаксис

Отправлено от d654525 в 13 Апрель 2018 - 23:54 in Как это сделать

привет, подскажите по вычислению - не могу понять, что не срабатывает. что-то не так у меня там с синтаксисом

нужно в одной и той же таблице в поле "Комментарий админа":
- вывести слово Долг, если в поле f16801 содержится слово Долг,
- а если в поле f16801 содержится слово Закончились, то вывести слово Закончились

такой код не срабатывает https://hello-site.ru/share/vvy/

$line['Комментарий админа'] = ($line['Ученик']['Комментарий админа'] .' '. $line['Группа']['Комментарий админа']);

if("`f16801` LIKE '%".Долг."%'") {
    $line['Комментарий админа'] = "ДОЛГ! Обратите внимание ученика. ";
}
if("`f16801` LIKE '%".Закончились."%'") {
    $line['Комментарий админа'] = "Закончилась оплата! Напомните ученику. ";
}


в начале нужно в любом случае вывести данные из поля Ученик-Комментарий админа и Ученик-Комментарий админа, а потом уже слово Долг или Закончились

$line['Комментарий админа'] = ($line['Ученик']['Комментарий админа'] .' '. $line['Группа']['Комментарий админа']);