- Форум CRM программы Клиентская база
- → Публикации All_ex74
Публикации All_ex74
136 публикаций создано All_ex74 (учитываются публикации только с 08-Май 23)
#24392 Версия 2.0.2
Отправлено от All_ex74 в 16 Июнь 2014 - 09:36 in Новые версии, новые возможности
#24394 Версия 2.0.2
Отправлено от All_ex74 в 16 Июнь 2014 - 10:28 in Новые версии, новые возможности
#24433 Детально описание функции send_template
Отправлено от All_ex74 в 16 Июнь 2014 - 17:58 in Разработчикам
CbCoder (16 Июнь 2014 - 17:52) писал:
Извиняюсь, опечатка - таб. Заявки конечно же - шаблон рассылки соответственно тоже в этой же таблице...
Но обнаружил интересное совпадение, конечно не должно по идее повлиять - ID таб. Исполнители (240) совпадает с ID шаблона...
#24428 Детально описание функции send_template
Отправлено от All_ex74 в 16 Июнь 2014 - 17:23 in Разработчикам
Таб. Исполнители: вычисление на поле Статус (список), срабатывающее на изменение значения поля в - Исполняемая.
Имеется поле Исполнитель, связанное с таб. Исполнители. Создан шаблон рассылки с ID 240. Проверена тестовая отправка: внутренний SMTP отправляет без ошибок, почта доходит. Само вычисление работает, но вот строка send_template(240, "`status`=0 AND `id` =".$line['Исполнитель']['ID']); не хочет отправлять почту...
Вроде и запрос стандартный, не отправляет и всё тут... Где искать?
if ($line['Статус']=="Исполняемая") { $line['Исполнитель']['Карточка'] = "Связана"; send_template(240, "`status`=0 AND `id` =".$line['Исполнитель']['ID']); // отсылаем письмо исполнителю } if ($line['Статус']=="Завершённая") { $line['Закрыта'] = date("d.m.Y H:i"); $line['Заказчик']['Связана по услуге'] = ""; $line['Исполнитель']['Карточка'] = "Свободна"; } if ($event['changed']['5620']['old']=="Завершённая") $line['Статус'] = "Завершённая";
#24434 Детально описание функции send_template
Отправлено от All_ex74 в 16 Июнь 2014 - 17:59 in Разработчикам
CbCoder (16 Июнь 2014 - 17:54) писал:
#24430 Детально описание функции send_template
Отправлено от All_ex74 в 16 Июнь 2014 - 17:40 in Разработчикам
#24439 Детально описание функции send_template
Отправлено от All_ex74 в 16 Июнь 2014 - 18:31 in Разработчикам
#24586 Детально описание функции send_template
Отправлено от All_ex74 в 20 Июнь 2014 - 06:54 in Разработчикам
CbCoder (18 Июнь 2014 - 10:04) писал:
А какой там может быть примерчик то? Банальная отправка письма с любым текстом и темой нужному адресату. Работает полностью аналогично sendsms, и если вы уже работали с ней, то не понимаю в чем сложность с sendmail.
sendmail("Оповещение", "Здравствуйте! Напоминаем вам об истечении срока оплаты.", "client@example.com");
Спасибо, так и думал. Сами говорили, что лучше переспросить лишний раз...)
#24496 Детально описание функции send_template
Отправлено от All_ex74 в 18 Июнь 2014 - 07:18 in Разработчикам
CbCoder (17 Июнь 2014 - 13:53) писал:
Нет не функции, а любой рабочий примерчик. Поля я сам подставлю нужные. Иногда требуется послать одно письмо без шаблона и подстановки в общую очередь отправки. В отправке SMS есть подобная функция - sendsms. С ней я уже разобрался полностью и хотел бы узнать подобие в отправке почты...
#24495 Детально описание функции send_template
Отправлено от All_ex74 в 18 Июнь 2014 - 07:14 in Разработчикам
#24440 Детально описание функции send_template
Отправлено от All_ex74 в 16 Июнь 2014 - 18:43 in Разработчикам
#24436 Детально описание функции send_template
Отправлено от All_ex74 в 16 Июнь 2014 - 18:18 in Разработчикам
#24350 Фильтр для поля по нескольким значениям
Отправлено от All_ex74 в 13 Июнь 2014 - 10:42 in Как это сделать
#24221 Фильтр для поля по нескольким значениям
Отправлено от All_ex74 в 07 Июнь 2014 - 16:38 in Как это сделать
Цитата
Цитата
а как правильно будет?
Цитата
Так нам же нужно еще и имеющийся уже флаг=1 (значит нужно его как то найти до этого) перезаписать на флаг=0, а так постепенно всем флаг=1 будет присвоен и выбирать некого будет)
#24222 Фильтр для поля по нескольким значениям
Отправлено от All_ex74 в 07 Июнь 2014 - 16:49 in Как это сделать
if ($line['Состояние'] == "Связана") { $row = data_select_array(240, "`status`=0 AND `f3450`=", $line['Город']['ID'], "AND `f4690`=", $line['Связана по услуге']['ID'], "AND `f3530`='Свободна' AND `f3460`=", $line['ID'], "AND `f6130`=0"); $isp = $row['f3460']; // тут присваиваем значение переменной $zvka = data_table("Заявки","`status`<>'2' AND `Заказчик`=".$line['ID']); // запрет на вторичное размещение - заявка будет размещаться, как вручную оператором, так и внешним запросом... if (!$zvka) { $zvka['Город'] = $line['Город']['ID']; $zvka['Заказчик'] = $line['ID']; $zvka['Тип услуги'] = $line['Связана по услуге']; $zvka['Исполнитель'] = $isp; // а как тут то быть? как отсортировать с массива нужного исполнителя? $zvka['ID'] = insert_query($zvka, "Заявки"); } }
#24218 Фильтр для поля по нескольким значениям
Отправлено от All_ex74 в 07 Июнь 2014 - 16:12 in Как это сделать
#24216 Фильтр для поля по нескольким значениям
Отправлено от All_ex74 в 07 Июнь 2014 - 15:45 in Как это сделать
Цитата
1. а если не указать таблицу, то как тогда присвоить нужные значения полям для фильтрации при выборке?
2. И как назначить первую запись из выбранного массива (по значениям состояния полей) и не повторить выбор уже использованной до этого? Может всё таки нужна сортировка?
if ($line['Состояние'] == "Связана") { $row = data_select_array(240, "`status`=0 AND `f3450`=", $line['Город']['ID'], "AND `f4690`=", $line['Связана по услуге']['ID'], "AND `f3530`='Свободна' AND `f3460`=", $line['ID'], "AND `f6130`=0"); $isp = $row['f3460']; // тут присваиваем значение переменной $zvka = data_table("Заявки","`status`<>'2' AND `Заказчик`=".$line['ID']); if (!$zvka) { $zvka['Город'] = $line['Город']['ID']; $zvka['Заказчик'] = $line['ID']; $zvka['Тип услуги'] = $line['Связана по услуге']; $zvka['Исполнитель'] = $isp; // а как тут то быть? как отсортировать с массива нужного исполнителя? $zvka['ID'] = insert_query($zvka, "Заявки"); } }
#24161 Фильтр для поля по нескольким значениям
Отправлено от All_ex74 в 05 Июнь 2014 - 15:10 in Как это сделать
CbCoder (05 Июнь 2014 - 14:35) писал:
Второй пункт не совсем понял честно говоря. Что значит "при следующем обращении"? При обращении где? В этой же карточке или следующей?
1. Пробовал, не получается сделать фильтрацию по четвертому полю (Карточка). На двух уровнях фильтруется, а при добавлении третьего начинаются косяки. По форуму несколько сообщений с типичной проблемой. Значения у полей Город, ФИО, Сфера услуг в таб. Исполнители статичны (присвоены единожды и навсегда), а у поля Карточка значения постоянно меняются. Вот после того и появляется неверная фильтрация, а то и вовсе ничего не фильтруется - вываливается полным списком, причем по всем указанным полям. Пробовал разные способы, но так и не добился успеха. Думаю это баг. Ну а по массиву подтянутых в поле Исполнитель значений, вычислением, что нельзя никак вытащить нужное и присвоить его данному полю?...
2. Следующий по списку (с значением поля Карточка - Свободна) должен выбираться "глобально" - при любом запросе. Этот же Исполнитель может быть выбран только когда пройдут все по списку... Вот и не знаю как это реализовать - ведь количество Исполнителей со значением поля Карточка - Свободна не нормированное и постоянно меняется.
#24225 Фильтр для поля по нескольким значениям
Отправлено от All_ex74 в 07 Июнь 2014 - 18:05 in Как это сделать
2. Как правильно назначить переменной $isp значение поля ФИО т. Исполнители, что бы потом скопировать его в поле Исполнитель т. Заявки??
3. И по синтаксису общего запроса на выборку проверьте пож. - я не накосячил? Да и ошибок вроде нет, но всё равно не копируется Исполнитель в Заявку:
if ($line['Состояние'] == "Связана") { $row = data_select_array(240, "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID'], " AND `f3530`='Свободна' AND `f6130`='0'"); $isp = $row['f3460']; // у меня не получается назначить переменной значение поля ФИО, где f3460 - поле ФИО т. Исполнители. $flag = $row['f6130']; data_update(240, array($flag=>1), "`status`=0 and `f6130`='0'"); // запрос на обновление флага добавил, но теперь выводит ошибку, что такого поля нет. $zvka = data_table("Заявки","`status`<>'2' AND `Заказчик`=".$line['ID']); if (!$zvka) { $zvka['Город'] = $line['Город']['ID']; $zvka['Заказчик'] = $line['ID']; $zvka['Тип услуги'] = $line['Связана по услуге']['ID']; $zvka['Исполнитель'] = $isp['ID']; // тут пытаюсь копировать... $zvka['ID'] = insert_query($zvka, "Заявки"); } }
Ошибка на работу вычисления:
#24248 Фильтр для поля по нескольким значениям
Отправлено от All_ex74 в 09 Июнь 2014 - 12:23 in Как это сделать
#24345 Фильтр для поля по нескольким значениям
Отправлено от All_ex74 в 12 Июнь 2014 - 13:12 in Как это сделать
CbCoder (11 Июнь 2014 - 15:11) писал:
Перенес "запрет" ниже выборки - ничего не поменялось, как копировалось по две записи даже при отсутствии результата в выборке, так и осталось. Залез в базу, посмотрел в таблицу cb_calc - все в порядке, код такой же:
if ($line['Состояние'] == "Связана") { $zvka = data_table("Заявки","`status`<>'2' AND `Статус`='Исполняемая' AND `Заказчик`=".$line['ID']); $row = data_select_array(240, "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID'], " AND `f3530`='Свободна' AND `f6130`='0'"); if (!$zvka) { if (!$row) { data_update(240, array('f6130'=>0), "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID']); $row = data_select_array(240, "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID'], " AND `f3530`='Свободна' AND `f6130`='0'"); } $zvka['Город'] = $line['Город']['ID']; $zvka['Заказчик'] = $line['ID']; $zvka['Тип услуги'] = $line['Связана по услуге']['ID']; $zvka['Исполнитель'] = $row['id']; $zvka['ID'] = insert_query($zvka, "Заявки"); data_update(240, array('f6130'=>1), "id=",$row['id']); } sendsms("Вами была сформирована заявка №".$zvka['ID']." на услугу ".$line['Связана по услуге']['ID'].". Ожидайте ответа.", $line['Телефон'], "ENU"); }
2. Мало того СМС, пришли скопом (проблема была не в коде, а со стороны агрегатора) и на каждую отправку тоже по две штуки...
#24321 Фильтр для поля по нескольким значениям
Отправлено от All_ex74 в 11 Июнь 2014 - 14:01 in Как это сделать
1. Нужно как то добавить запрет на копирование вовсе, если выборка по условиям пуста...
if ($line['Состояние'] == "Связана") { $zvka = data_table("Заявки","`status`<>'2' AND `Статус`='Исполняемая' AND `Заказчик`=".$line['ID']); if (!$zvka) { $row = data_select_array(240, "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID'], " AND `f3530`='Свободна' AND `f6130`='0'"); if (!$row) { data_update(240, array('f6130'=>0), "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID']); $row = data_select_array(240, "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID'], " AND `f3530`='Свободна' AND `f6130`='0'"); } $zvka['Город'] = $line['Город']['ID']; $zvka['Заказчик'] = $line['ID']; $zvka['Тип услуги'] = $line['Связана по услуге']['ID']; $zvka['Исполнитель'] = $row['id']; $zvka['ID'] = insert_query($zvka, "Заявки"); data_update(240, array('f6130'=>1), "id=",$row['id']); } sendsms("Вами была сформирована заявка №".$zvka['ID']." на услугу ".$line['Связана по услуге']['ID'].". Ожидайте ответа.", $line['Телефон'], "ENU"); }
2. Добавил отправку СМС, но что то не отправляет. Хотя в базе данных код отрабатывается... выложу код модуля шлюза - проверьте пожалуйста:
function send_sms() { global $sms; $user = "abc@yagool.ru"; $password = "5BQY5mvklwNX"; $phone = $sms["phone"]; $sender = "ENU"; $text = $sms["text"]; $translit = array( "А"=>"A","Б"=>"B","В"=>"V","Г"=>"G", "Д"=>"D","Е"=>"E","Ж"=>"J","З"=>"Z","И"=>"I", "Й"=>"Y","К"=>"K","Л"=>"L","М"=>"M","Н"=>"N", "О"=>"O","П"=>"P","Р"=>"R","С"=>"S","Т"=>"T", "У"=>"U","Ф"=>"F","Х"=>"H","Ц"=>"TS","Ч"=>"CH", "Ш"=>"SH","Щ"=>"SCH","Ъ"=>"","Ы"=>"YI","Ь"=>"", "Э"=>"E","Ю"=>"YU","Я"=>"YA","а"=>"a","б"=>"b", "в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"j", "з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l", "м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r", "с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h", "ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y", "ы"=>"yi","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya" ); $text_tran = strtr($text, $translit); $message = $text_tran; if (file_get_contents('http://gate.smsaero.ru/send/?user='.$user.'&password='.md5($password).'&to='.$phone.'&from='.$sender.'&text='.urlencode($message))) { return 'OK'; } else { return 'ERROR'; } }
Заполнено вроде верно - что за хрень такая!..
#24291 Фильтр для поля по нескольким значениям
Отправлено от All_ex74 в 10 Июнь 2014 - 19:04 in Как это сделать
if ($line['Состояние'] == "Связана") { $zvka = data_table("Заявки","`status`<>'2' AND `Статус`='Исполняемая' AND `Заказчик`=".$line['ID']); if (!$zvka) { $row = data_select_array(240, "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID'], " AND `f3530`='Свободна' AND `f6130`='0'"); // если по условиям выборки строки отсутствуют - то заявка скопируется два раза... if (!$row) { data_update(240, array('f6130'=>0), "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID']); $row = data_select_array(240, "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID'], " AND `f3530`='Свободна' AND `f6130`='0'"); } $zvka['Город'] = $line['Город']['ID']; $zvka['Заказчик'] = $line['ID']; $zvka['Тип услуги'] = $line['Связана по услуге']['ID']; $zvka['Исполнитель'] = $row['id']; $zvka['ID'] = insert_query($zvka, "Заявки"); data_update(240, array('f6130'=>1), "id=",$row['id']); } }
#24249 Фильтр для поля по нескольким значениям
Отправлено от All_ex74 в 09 Июнь 2014 - 13:31 in Как это сделать
if ($line['Состояние'] == "Связана") { $row = data_select_array(240, "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID'], " AND `f3530`='Свободна' AND `f6130`='0'"); data_update(240, array('f6130'=>1), "id=",$row['id']); $zvka = data_table("Заявки","`status`<>'2' AND `Заказчик`=".$line['ID']); if (!$zvka) { $zvka['Город'] = $line['Город']['ID']; $zvka['Заказчик'] = $line['ID']; $zvka['Тип услуги'] = $line['Связана по услуге']['ID']; $zvka['Исполнитель'] = $row['id']; $zvka['ID'] = insert_query($zvka, "Заявки"); } }
всё заработало, но почему то Флаг=1 проставляется всей выборке:
- Форум CRM программы Клиентская база
- → Публикации All_ex74