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


органайзер, on-line пользователи и прочее


Сообщений в теме: 207

#81 Илья

    Активный участник

  • Пользователи
  • PipPipPip
  • 173 сообщений

Отправлено 03 Май 2012 - 08:01

Не выходит. Уважаемый andibrag, пожалуйста, помогите.

Я не совсем понимаю логику работы скриптов.
Моя задача - получить календарь командировок. Заполнение происходит в таблице "План командировок", содержащей следующие данные:
Заказчик
Тематика работы
Город направления
Кто направляется
Объем работы
Начало командировки
Окончание командировки

В качестве json-events я взял пример, приведенный Вами в посте номер 37.

На самом деле, для достижения моей цели необходимо чтобы срипт мог дергать данные из полей "Заказчик", "Тематика работы". Соответственно, длительность берем из пунктов с началом и окончанием.

Можете подсказать, где изменить код?
Спасибо!

#82 Илья

    Активный участник

  • Пользователи
  • PipPipPip
  • 173 сообщений

Отправлено 03 Май 2012 - 08:20

Так... Попробовал на живой таблице "Задания"... Что-то начало получаться. Утро вечера мудренее, что называется.

#83 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 03 Май 2012 - 09:44

[Wed May 02 14:51:47 2012] [error] [client 192.168.1.22] PHP Notice:  Array to string conversion in /var/www/cb/include/functions1.php on line 2233, referer: http://192.168.1.21/cb/report.php?id=14
.....

Просмотр сообщенияandibrag (02 Май 2012 - 14:26) писал:

Господа разработчики, не подскажите чем может быть вызвано такое поведение?

Нужно отключить вывод предупреждений уровня Notice в настройках php-сервера (php.ini), они по сути не нужны для пользователя.

#84 Илья

    Активный участник

  • Пользователи
  • PipPipPip
  • 173 сообщений

Отправлено 03 Май 2012 - 10:20

CbCoder, спасибо, попробую сделать так.

andibrag, я не могу понять вот что: после того как в строке
$a_data = data_table("Задания", "`status`='0' AND `f498`!='0000-00-00 00:00:00' AND (`user_id`= $userID OR `f492`=$userID)", "all");

Заменил "Задания" на "План командировок" - всё перестало работать. Остальные переменные навроде $titleTxt тоже заменил, но данные в календаре не отображаются...

#85 Илья

    Активный участник

  • Пользователи
  • PipPipPip
  • 173 сообщений

Отправлено 03 Май 2012 - 11:08

В общем, мне не удается заставить работать календарь ни с какой таблицей кроме таблицы "Задания". При этом, даже если ее переименовать - то всё работает.
Подскажите пожалуйста, куда копать?

#86 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 03 Май 2012 - 16:52

Просмотр сообщенияИлья (03 Май 2012 - 10:20) писал:

Заменил "Задания" на "План командировок" - всё перестало работать. Остальные переменные навроде $titleTxt тоже заменил, но данные в календаре не отображаются...
Вы переименовали таблицу, но оставили названия полей по которым отбираете записи. Измените их.
$a_data = data_table("План командировок", "`status`='0' AND `Начало командировки`!='0000-00-00 00:00:00' AND (`user_id`= $userID OR `Кто направляется`=$userID)", "all");

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#87 Илья

    Активный участник

  • Пользователи
  • PipPipPip
  • 173 сообщений

Отправлено 04 Май 2012 - 05:56

Неправда Ваша. :)
Вот так выглядит строчка с которой я пытаюсь работать:
$a_data = data_table("План командировок", "`Начало командировки`!='0000-00-00 00:00:00'", "all");

Приведу на всякий пожарный весь код:
<?php
// Включаем модули и подключаемся к клиентской базе
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/config.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/mysql_connect.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/functions1.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/functions2.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/constants.php";
// определение входа с мобильного устройства
//require_once $_SERVER['DOCUMENT_ROOT'] . "/cb_modules/mobile.php";
if($_GET['id']) { // если содержит id - обновляем данные в таблице Задания
$id  = $_GET['id'];
$date  = $_GET['date'];
$table = $_GET['table'];
// Извлекаем название таблицы
$sqlQuery  = "SELECT * FROM ". TABLES_TABLE . " WHERE `id`='" . $table . "';";
$result = mysql_query($sqlQuery) or die(mysql_error());
$row   = mysql_fetch_assoc($result);
//$new_data['Статус записи'] = '0';
//$new_data['Дата добавления'] = date('Y-m-d H:i:s',$date);
//$new_data['Перезвонить'] = date('Y-m-d H:i:s',$date);
update_query($new_data,$row['name_table'],"id=$id");
}else{ // если переданные данные отсутсвуют - формируем календарь
$userID = $_GET['userID'];
$eventCSS = array('class_done'=>'grey','class_toMe'=>'green','class_fromMe'=>'blue'); // цвета событий
$arr_event = array();
// =================================================================================================
//							   Извлекаем данные из таблицы ЗАДАНИЯ
// =================================================================================================
//$a_data = data_table("Задания", "`Дата добавления`!='0000-00-00 00:00:00'", "all");
$a_data = data_table("План командировок", "`Начало командировки`!='0000-00-00 00:00:00'", "all");
//$a_data = data_table("План командировок", "`status`='0' AND `Начало командировки`!='0000-00-00 00:00:00' AND (`user_id`= $userID OR `Кто направляется`=$userID)", "all");
foreach ($a_data as $data) {
  // Извлекаем ФИО пользователя
$sqlQuery	  = "SELECT * FROM ". USERS_TABLE . " WHERE `id`='" . $data['Кто'] . "';";
  $result    = mysql_query($sqlQuery) or die(mysql_error());
  $user_row  = mysql_fetch_assoc($result);
  $user_fio  = $user_row['fio'];
//  $titleTxt  = mb_substr($data['Город'], 0, 40,'utf-8');
//  $titleTxt .= (strlen($titleTxt)>40)?' ...':'';
  // Формируем опции в зависимости от задания (выполнено, назначено мне, назначено мной)
   $classCSS = 'class_fromMe';
   $editable = false;
//  $qTipText = "Для " . $user_fio . ":<br/><em style='color:mediumslateblue;'>" .  $data['Город направления'] . "</em>";
  $title  = "Компания: " . $user_fio . ": " .  $titleTxt;
//   $title  = "Компания: " . $user_fio . ": " .  $titleTxt;
//   $qTipText = "Город: " . $user_fio . ".<br/> Цель поездки: " . $data['Результат'] .":<br/><em style='color:mediumslateblue;'>" .  $data['Дополнительно'] . "</em>";
//  if ($data['Задание выполнено']=='Да'){
//   $classCSS = 'class_done';
//   $editable = false;
//   $qTipText = "Для " . $user_fio . ".<br/>" . $data['Тип задачи'] .":<br/><em style='color:mediumslateblue;'>" .  $data['Описание задания'] . "</em>";
//   $qTipText .= ($data['Результат'])?"<hr/><em style='color:DeepPink;'>" .  $data['Результат'] . "</em>":"";
//   $title  = $titleTxt;
//  }elseif ($data['Назначил']==$userID && $data['Исполнитель']!=$userID) {
//   $classCSS = 'class_fromMe';
//   $editable = ($data['Назначил']==$userID);
//   $qTipText = "Для " . $user_fio . ":<br/><em style='color:mediumslateblue;'>" .  $data['Описание задания'] . "</em>";
//   $title  = "Для " . $user_fio . ": " .  $titleTxt;
//  }else{
//   $classCSS = ($data['Назначил']==$userID)?'class_toMe_editable':'class_toMe';
//   $editable = ($data['Назначил']==$userID);
//   $qTipText = "<em style='color:mediumslateblue;'>" .  $data['Описание задания'] . "</em>";
//   $title  = $titleTxt;
//  };
  // заставляем задание мигать, если оно новое
//  $taskTime = getdate(strtotime($data['Время добавления']));
//  $wArr  = array('5','6');
//  $taskDay = strtotime($taskTime['year']."-".$taskTime['mon']."-".$taskTime['mday']);
  // если запись была добавлена в пятницу, субботу или воскресенье - она считается Новой (мигает) до вторника
//  $timeDelta = in_array($taskTime['wday'],$wArr)?(9-$taskTime['wday'])*86400:172800;
//  $classCSS  .= ((time() - $taskDay) < $timeDelta)?' newTask':'';
  $arr_tmp=array(
   'id'   => $data['ID'],
   'title'  => $title,
   'start'  => $data['Срок сдачи'],
   'url'   => "view_line2.php?table=103&line=".$data['ID'],
   'className' => $classCSS,
   'editable' => $editable,
   'table'  => '103',
   'qTip'  => $qTipText);
  array_push($arr_event,$arr_tmp);
}
   echo json_encode($arr_event);
}
?>

Очень много закомментировал потому что мне не нужен весь функционал.

#88 Илья

    Активный участник

  • Пользователи
  • PipPipPip
  • 173 сообщений

Отправлено 04 Май 2012 - 06:43

Так... Нашел где ошибка...
В конце кода надо было указать не Срок сдачи а Окончание командировки. Теперь событие вывелось... Дело за малым...

#89 Илья

    Активный участник

  • Пользователи
  • PipPipPip
  • 173 сообщений

Отправлено 04 Май 2012 - 07:45

В общем всё удалось запустить. Вконце скрипта при передаче данных календарю добавил строку с началом работ, теперь календарик рисует события длительностью несколько дней:
'start'  => $data['Начало командировки'],
'end'  => $data['Окончание командировки'],

andibrag, огромное спасибо за скрипт - это просто невероятно полезная для меня вещь!

#90 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 04 Май 2012 - 12:55

пользуйтесь

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#91 mak

    Активный участник

  • Активный пользователь
  • PipPipPip
  • 207 сообщений

Отправлено 12 Май 2012 - 13:52

Просмотр сообщенияГарифуллин Марат (27 Январь 2012 - 11:02) писал:

1) В ближайшее время выйдет новая версия КБ с возможностью мнгновенной синхронизации данных между двумя и более баз данных. Таким образом компании смогут работать одновременно в версиях WEB, LOCAL и Saas

2) На этом же протоколе синхронизации данных будет построена синхронизация с 1С (ожидайте в ближайшее время). Появиться возможность мгновенного двустороннего обемена данными по любым поля, в том числе и вновь созданным, как в КБ, так и в 1С. Для 1С разработан специальный модуль, который автоматизирует процесс синхронизации.

есть движение в этом направлении?
особенно интересен пункт 2

#92 dozzzer81

    Участник

  • Пользователи
  • PipPip
  • 16 сообщений

Отправлено 13 Май 2012 - 15:31

Тоже жду. Уважаемые разработчики, просим озвучить как обстоят дела с модулем синхронизации. Ждать то стоит вообще?

#93 Гость_Roman_*

  • Гости

Отправлено 14 Май 2012 - 09:14

Работа по созданию модуля ведётся, точных сроков завершения разработки сказать не могу. В версии 1.9.6 точно появится синхронизация КБ с КБ.

#94 Kumigy

    Активный участник

  • Пользователи
  • PipPipPip
  • 36 сообщений
  • Пол:Мужчина
  • Город:Екатеринбург

Отправлено 08 Август 2012 - 15:40

Просмотр сообщенияBob_chemist (06 Апрель 2012 - 22:12) писал:

надо редактируемый файл сохранить с кодировкой UTF-8. Ромбики превратятся в слово Пользователи.
Очевидно, у вас нет поля 1573, потому и ошибку выдает

А на какое поле заменить нужно 1573?
Копал копал базу так и не понял. Нигде никакие флаги не меняются у меня при отправке сообщения и при его чтении.
Может я чего-то где-то упустил?

#95 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 08 Август 2012 - 17:54

f1573 - это поле с именем send, которое Вы должны были создать

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#96 Kumigy

    Активный участник

  • Пользователи
  • PipPipPip
  • 36 сообщений
  • Пол:Мужчина
  • Город:Екатеринбург

Отправлено 09 Август 2012 - 09:38

Просмотр сообщенияandibrag (08 Август 2012 - 17:54) писал:

f1573 - это поле с именем send, которое Вы должны были создать

Жесть))) а я понять не мог почему у меня этих полей нет...

Поля добавил. Первые два скрыл. 3-е скрыть не получается скриптом (видать не там делаю).
в файле юзер_онлайн.пхп изменил f1573 на свой номер.
Пробую сообщения отправлять, ничего не происходит.
Таблица в базе cb_msg как была пустой так и осталась...

Сообщение отредактировал Kumigy: 09 Август 2012 - 09:57


#97 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 09 Август 2012 - 10:13

а on-line пользователи работают?

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#98 Kumigy

    Активный участник

  • Пользователи
  • PipPipPip
  • 36 сообщений
  • Пол:Мужчина
  • Город:Екатеринбург

Отправлено 09 Август 2012 - 10:19

Просмотр сообщенияandibrag (09 Август 2012 - 10:13) писал:

а on-line пользователи работают?

да работают, я тут покопался малость....
// выборка сообщений из таблицы DATA_TABLE_12, которые не были доставлены всем адресатам флаг `send` (f1573) = 0
$sqlQuery = "SELECT * FROM ". DATA_TABLE . "12 WHERE  `status`='0' AND `f127` LIKE '%-" . $user_id . "-%' AND `f1082`='0'";

непонятна запись LIKE '%-" . $user_id . "-%'
записал так:
// выборка сообщений из таблицы DATA_TABLE_12, которые не были доставлены всем адресатам флаг `send` (f1573) = 0
$sqlQuery = "SELECT * FROM ". DATA_TABLE . "12 WHERE  `status`='0' AND `f127` LIKE '" . $user_id . "' AND `f1082`='0'";
вроде зашевелились данные в таблицах, гугл кнопку вывел о разрешении уведомлений

#99 Kumigy

    Активный участник

  • Пользователи
  • PipPipPip
  • 36 сообщений
  • Пол:Мужчина
  • Город:Екатеринбург

Отправлено 09 Август 2012 - 10:26

Ништяяяк всё заработало)

#100 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 09 Август 2012 - 10:31

Просмотр сообщенияKumigy (09 Август 2012 - 10:19) писал:

непонятна запись LIKE '%-" . $user_id . "-%'
записал так:
// выборка сообщений из таблицы DATA_TABLE_12, которые не были доставлены всем адресатам флаг `send` (f1573) = 0
$sqlQuery = "SELECT * FROM ". DATA_TABLE . "12 WHERE  `status`='0' AND `f127` LIKE '" . $user_id . "' AND `f1082`='0'";
проблемы не будет, пока не появится пользователь с id = 10
в этом случае like сравнит 1 и 10 и решит, что они похожи, поскольку и там и там есть 1

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения






Количество пользователей, читающих эту тему: 13

0 пользователей, 13 гостей, 0 анонимных