- Форум CRM программы Клиентская база
- → Публикации z0ddak
Публикации z0ddak
9 публикаций создано z0ddak (учитываются публикации только с 17-Май 23)
#32261 При попытке отправить шаблон -
Отправлено от z0ddak в 29 Ноябрь 2016 - 17:18 in Как это сделать
#32260 При попытке отправить шаблон -
Отправлено от z0ddak в 29 Ноябрь 2016 - 13:36 in Как это сделать
#32265 При попытке отправить шаблон -
Отправлено от z0ddak в 30 Ноябрь 2016 - 16:22 in Как это сделать
Выяснилось ещё следующее - отправка работает только под учетной записью из КБ,
отправка же с внешнего обработчика так же вызывает No access to template
раньше слал почту с внешнего обработчика таким вычислением
/******** Найдем нужную запись по email ************/ $record_id = 0; // Инициализируем переменную //Выборка из базы $sqlQuery = "SELECT `id`,`f3721`,`f3850`,`f3860`,`f1470`,`f3870` FROM `" . DATA_TABLE . "42` WHERE `f442`='" . $vote_email . "' AND `status`=0 LIMIT 1"; $result = sql_query($sqlQuery) or user_error(mysql_error() . "<br>" . $sqlQuery . "<br>", E_USER_ERROR); while ($row = sql_fetch_assoc($result)) { // Присваиваем значения переменным из массива части значений строки $record_id = $row['id']; $smarty_name = $row['f3721']; $smarty_patronymic = $row['f3850']; $smarty_sponsname = $row['f3860']; $smarty_login = $row['f1470']; $smarty_password = $row['f3870']; // Передаём значения Smarty в шаблон письма $smarty->assign("smarty_name", $smarty_name); $smarty->assign("smarty_patronymic", $smarty_patronymic); $smarty->assign("smarty_sponsname", $smarty_sponsname); $smarty->assign("smarty_login", $smarty_login); $smarty->assign("smarty_password", $smarty_password); // Отправляем шаблон письма send_template(190, "`id`=" . $record_id); // Создаём массив части значений строки $data = Array(); $data['f4080'] = $record_id; $data['f4090'] = 'Напоминание пароля'; $data['f4100'] = 'На Ваш e-mail отправлены учётные данные'; // Добавляем в таблицу новую запись значениями из массива data_insert(280, EVENTS_ENABLE, $data); } echo 'DONE'; // Возвращаем сайту сообщение, что все в порядке if ($record_id == 0) { echo 'Нет такого E-mail в базе'; exit; }
#32258 При попытке отправить шаблон -
Отправлено от z0ddak в 29 Ноябрь 2016 - 10:44 in Как это сделать
Помогите разобраться, что за ошибка и что её вызывает.
Имеется такое элементарное вычисление,
if ($line['Статус платежа'] == "В процессе") { // заполняем поле $line['Время оплаты'] = date("Y-m-d H:i:s"); // шлём оповещение - На оплату send_template(270, "id=$ID"); } elseif ($line['Статус платежа'] == "Оплачено") { // заполняем поле $line['Время оплаты'] = date("Y-m-d H:i:s"); // шлём оповещение - Оплачено send_template(240, "id=$ID"); // меняем Статус заявки в таблице Платежи $data = Array(); $data['f4660'] = 'В работе'; data_update(280, EVENTS_ENABLE, $data, "`id`= ",$line['ID Заказа']); } elseif ($line['Статус платежа'] == "Не проведён") { // заполняем поле $line['Время оплаты'] = date("Y-m-d H:i:s"); // шлём оповещение - платёж не проведён send_template(250, "id=$ID"); }
...запускаемое по событию: изменение поля Статус платежа. Поле Статус платежа, в свою очередь переключается внешним вычислением - добавлением записи с EVENTS_ENABLE
Всё работает, только не отправляются шаблоны. Вернее отправляются, но от пользователя Система (см. ниже) с вываливанием в ошибку: No access to template
#32272 При попытке отправить шаблон -
Отправлено от z0ddak в 02 Декабрь 2016 - 15:50 in Как это сделать
AntonKravchenko (02 Декабрь 2016 - 11:47) писал:
Антон, вы как нибудь по другому решили этот вопрос или надеетесь всё таки получить ответ в "скором времени" от горе-разработчиков КБ? Одно лечат, другое калечат..
Просто проект горит, а рассылка почтовых оповещений в нём ключевой элемент. В какой уже раз "наступил на грабли", связавшись с разработкой на базе кб.
"Втюхивают" сырой продукт под эгидой борьбы с кровососущими насекомыми...
#32532 При попытке отправить шаблон -
Отправлено от z0ddak в 07 Февраль 2017 - 09:55 in Как это сделать
AntonKravchenko (05 Декабрь 2016 - 17:42) писал:
Антон, вы пишете что баг был исправлен, но обновившись до последней ревизии я обнаружил что всё те же ошибки остались...
У меня версия WEB: php 5.6 и максимум на что можно обновить ревизию - это на 17174 от 2017-01-31...
#32657 При попытке отправить шаблон -
Отправлено от z0ddak в 21 Февраль 2017 - 17:42 in Как это сделать
CbCoder (15 Февраль 2017 - 10:19) писал:
$form = sql_select_array(FORMS_TABLE, "id=270"); $subject = form_template($form, $line, 'subj_mail'); $body = form_template($form, $line, 'body_form'); $to = $line[form_int_name($form['to_mail'])]; sendmail($subject, $body, $to);
Примечание: тут не учитывается вариант адресата из поля связи и не прикрепляются файлы.
Спасибо, принял к сведению...
#33076 Очищаем от старых записей таблицу - вычисление для Cron
Отправлено от z0ddak в 07 Май 2017 - 06:00 in Разработчикам
В кроне другие вычисления прекрасно отрабатывают, а это ни в какую.. Может кто подскажет способ спрятать условие в сам запрос и "укоротить код". Спасибо.
// Выбираем из таблицы активные платежи со статусом -В ожидании- и сверяем время - когда добавлены $result = data_select(330, "`status`=0 and `f5690`=0"); // Поле f5690 - Флаг статуса: 0, 1 или 2 (В ожидании, Оплачен, Не проведён) while ($row = sql_fetch_assoc($result)) { // вычисляем время... $dt = date("d-m-y h:i:s", strtotime($row['add_time'])); $dtt = date("d-m-y h:i:s"); $dt_strok = explode(' ',$dt); $dt_data = explode('.',$dt_strok[0]); $dt_time = explode(':',$dt_strok[1]); $dtt_strok = explode(' ',$dtt); $dtt_data = explode('.',$dtt_strok[0]); $dtt_time = explode(':',$dtt_strok[1]); $timestamp_dt = mktime($dt_time[0],$dt_time[1],$dt_time[2],$dt_data[0],$dt_data[1],$dt_data[2]); $timestamp_dtt = mktime($dtt_time[0],$dtt_time[1],$dtt_time[2],$dtt_data[0],$dtt_data[1],$dtt_data[2]); $diff = $timestamp_dtt - $timestamp_dt; // тут считаем минуты, часы $secund = $diff / 60; $minut = $secund / 60; $chasov = $minut / 60; // Если прошло уже более 1 часа - перемещаем в архив и ставим статус -Не проведено- if ($chasov > 1) { $data = Array(); $data['f5660'] = "Не проведено"; $data['status'] = 1; data_update(330, EVENTS_ENABLE, $data, "`id`=",$row['id']); } }
P.S.: В верхнем примере кода проблема была в запросе data_select - не хватало кавычек у значения поля: `f5690`='0' , а так всё работало.
Но немного повозившись, переписал свой "говнокод" в более приличную конструкцию:
// Выбираем из таблицы активные платежи со статусом -В ожидании- и сверяем время - когда добавлены $time_later = form_eng_time(date("d.m.Y H:i", time()-3600)); $sqlQuery = "SELECT * FROM ".DATA_TABLE."330 WHERE `status`=0 and `add_time`<'".$time_later."' and `f5690`='0'"; $result = mysql_query($sqlQuery); while ($row = mysql_fetch_assoc($result)) { $data = Array(); $data['f5660'] = "Не проведено"; $data['status'] = 1; data_update(330, EVENTS_ENABLE, $data, "`id`=",$row['id']); }
Может кому пригодится - спасибо за оперативную помощь))
#32263 Отправка рассылки пользователем "Система"
Отправлено от z0ddak в 29 Ноябрь 2016 - 18:54 in Как это сделать
- Форум CRM программы Клиентская база
- → Публикации z0ddak