function addvisit_2_exec($Frm, $Err) { if (!$Err) { if (!isset($_SESSION["make_visit_tmp"]["klient"])) { $Frm->_gui->ERR("Клиент не определен"); return; } $kln = kln_get($_SESSION["make_visit_tmp"]["klient"]); if (!$kln) { $Frm->_gui->ERR("Клиент не определен"); return; } $ord_id = 0; if (isset($_SESSION["make_visit_tmp"]["order"]) && intval($_SESSION["make_visit_tmp"]["order"])) { $ord_id = intval($_SESSION["make_visit_tmp"]["order"]); if (!Order::find($ord_id)) { $Frm->_gui->ERR("Заказ не найден"); return; } } // Проверить время $t1 = $Frm->GetNmValue("start"); $t2 = $Frm->GetNmValue("finish"); if ($t2 <= $t1) { $Frm->_gui->ERR("Некорректно задано время"); return; } $dt = explode("-", $_SESSION["make_visit_tmp"]["date"]); $dt = mktime(0, 0, 0, $dt[1], $dt[0], $dt[2]); $fil = intval($_SESSION["make_visit_tmp"]["filial_id"]); if ($fil <= 0) { $Frm->_gui->ERR("Некорректный филиал"); return false; } $courier_id = $Frm->GetNmValueI("user"); $visits = db::get_single_value("SELECT COUNT(*) FROM " . TABLE_VISITS . " WHERE user_id = " . db::input($courier_id) . " AND tm_start <= " . db::input($t1) . " AND tm_finish > " . db::input($t1) . " AND date = " . db::input($dt)); if ($visits) { $Frm->_gui->ERR("На это время уже назначена встреча"); return false; } $vis_id = Meeting::create(array("user_id" => $courier_id, "date" => $dt, "status" => 0, "tm_start" => $t1, "tm_finish" => $t2, "client_id" => $kln["id"], "order_id" => $ord_id, "filial_id" => $fil, "created" => time(), "creator_id" => $_SESSION["user"]["data"]["id"], "summa" => $_SESSION["make_visit_tmp"]["summa1"], "about" => $_SESSION["make_visit_tmp"]["about"], "opisanie_klienta" => $Frm->GetNmValueH("opisanie_klienta"), "opisanie_pyti" => $Frm->GetNmValueH("opisanie_pyti"), "station_id" => $Frm->GetNmValueI("station"))); $Frm->_gui->OK("Встреча создана"); // Создаем сообщение при необходимости if ($courier_id != $_SESSION["user"]["data"]["id"]) { $prior = 1; $msg_id = mls_Send("u" . $courier_id, "u" . $_SESSION["user"]["data"]["id"], "Новая встреча №" . $vis_id, "Вы проводите встречу " . date("d.m.Y", $dt) . " c " . utils_cvt_i2times($t1) . " по " . utils_cvt_i2times($t2) . "." . " <a href='?section=vis&subsection=2&visit=" . $vis_id . "'>Подробнее...</a><br>Внимание! Ответ на данное сообщение обязателен!", $prior, 0, 0, 0, 0, $vis_id, 0); if ($msg_id) { \Components\Classes\Author::enqueue_message_to_email($msg_id, array($courier_id), \Components\Entity\EmailNotificationType::TO_CLIENT_ON_ORDER_CHANGE); Meeting::update($vis_id, array('uved_umsg' => $msg_id)); } } page_reloadToSec("2"); } }