<?php // Полная загрузка сервисных книжек, создан 2024-01-05 12:44:55
global $wpdb2;
global $failure;
global $file_hist;
///// echo '<H2><b>Старт загрузки</b></H2><br>';
$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
///// echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}
$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
///// echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}
/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
///// echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
///// echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist); ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7]; ////получаем размер файла
$m_mtime_file=$masiv_data_file[9]; ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file
///// echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
///// echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
///// echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);
if ($results)
{ foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));
////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
///// echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
///// echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}
////загружаем данные
$table='vin_history'; // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация // (путь от корня web-сервера)
$delim=';'; // Разделитель полей в CSV файле
$enclosed='"'; // Кавычки для содержимого полей
$escaped='\
кхм… приват даже админ не должен видеть) Я бы не стал пользоваться таким чатом)
(1) у меня были сомнения на этот счет… посмотрим, что скажет сообщество)
+(2) Хотя для роли Администратор чата можно тоже прописать RLS, но от настоящего админа ничего ведь не скроешь)
Поставил нашим. Сказали, что смайликов не хватает))
Плюсанул «авансом», дома скачаю, посмотрю.
Что касается прав на просмотр, то даже начинающий «Администратор» может зайти под «любым» пользователем и посмотреть все что нужно )
Не совсем понял. Это отдельная конфигурация?
Или встраивается в более менее стандартную конфигурацию?
(5) Тут уж никуда не денешься
(6) И то и другое
что-то у меня скачивается пустой архив 30 кб, что не так?
(8) Проверил — все ок. Попробуй в другом браузере.
Сообщения большие чем 3 строки высотой обрезаются. Понимаю, что ограничение платформы и поэмы в чат обычно не пишут. Но мне пользователи весь мозг выели по поводу этого ограничения, когда я чат на основании ТаблицыЗначений делал.
А у нас вопрос к автору… Если у пользователя будет открыто какое-либо модальное окно, сообщение все равно дойдет?
(11) Сообщение в любом случае дойдет
Интересная вещь.Интегрировал в с свой документооборот.Автору респект!
Комментарии:
1.а По-поводу приватных сообщений хотелось бы иметь кнопочку ответить в форме списка сообщений,форме сообщения и контекстном меню.
При этом текст входящего сообщения выделяется специальным образом(как в почтовом клиенте к примеру).
1.б Удобно было бы по приватному сообщению видеть всю историю переписки,если таковая велась.Например,открыть модальную форму истории приватных
сообщений с необходимым отбором и оформлением,возможно цветовым.
2.Необходимо иметь возможность включать отбор только приватным/только по общим сообщениям/сообщениям от определенного пользователя/группы пользователей через отбор.
3.Необходимо иметь возможность удалять/архивировать старые сообщения
Готов к сотрудничеству 🙂
Кстати,было бы неплохо иметь возможность отсылать приватные сообщения пользователям офлайн.
(13) К сожалению в моей нетленке чат не взлетел 😥 . По сему все работы по разработке прекратил.
Разрешаю доработать по своему усмотрению и выложить со ссылкой на эту разработку.
(14) Жаль,что разработка дальше проводиться не будет. Автору Респект
Хочу попробовать, скиньте внешнюю ссылку ибо рейтинга не хватает.
Интересная вещь надо попробовать, еще бы передачу файлов добавить
Ща опробуем) Заранее спасибо)
Тоже самое но обработкой бы, и вообще красота ))
Лучше бы делать для обычного приложения, так совместимости больше
Попробовал, посмотрел, стоит доработать, как будет вариант хорошей работы тоже выложу и поделюсь ссылкой =)
ошибку нашёл: «Администраирование чата» — команда у РС
(23) m2d3, у меня такое часто бывает. Луплю по клаве не глядя)
Очень неплохой Чат! Хотя прикольнее было бы сделать отдельной обработкой! Но тем не менее всё гуд. Думаю дописать к нему возможность реагирования событий проведения тех или иных документов!!!
Хорошо. Но таки хочется чтобы приват не видел никто. И нельзя-ли позаимствовать функционал по заданию юнитам из аналогичной работы для неуправляемых форм?
(24)
Есть возможность купить данную конфигурацию у вас?
(27) barcoder, Вы же скачали файл. Конфигурация готова к использованию и распространяется бесплатно. Пользуйтесь.
(28) К сожалению файл не скачал т.к. закончился абонимент на инфостате. Если можно переложите куда нибудь где можно скачать без регистрации. Заранее благодарен.
Не было идеи сделать для отдельных пользователей чатится посредством электронной почты?
О чем я. База работает на предприятии, в открытый доступ база не выложена. Зачастую даже Интернета нет, но электронная почта работает.
Есть пользователь, например, «Тех.поддержка» есть электронка, пользователь в чате пишет сообщение этому пользователю. Пользователь получает по электронке и отвечает по электронке и пользователь в базе в чате видит ответ тех.поддержки.
Интересная работа. Однозначно плюс. Помогла разобраться, как именно лучше организовать хранение сообщений.
Можно ли ссылки на документы пересылать?
(32) nata_8, можно, но в виде текста. Т.е. на нельзя на нее нажать, чтоб открылась форма.
(32) nata_8, я допиливал.. ссылки пересылали друг другу
кажется в регистр чата добавил поле ссылочного типа
скажите а для 8.3 такого чуда нет?
Неужели и для 1с чат придумали?! Кстати это хорошая альтернатива службы поддержки по телефону. Теперь можно писать вопросы в чат в отдел внедрения на предприятии и получать ответы. Хотя так можно и почту использовать внутри…
(35) david1915, под 8.3 этот тоже можно запустить. Только придется доработать напильником)
(36) Михайловна, ага придумали, и уже давно)) И это не единственная разработка, есть и другие.
Я как понимаю, что основной задачей чата в 1С прикрепление ссылок на документы или справочники в самой системе. А без этого смысла нет использование в 1С. Для этого полно сторонних программ, к тому же работающих без задержек.
Разве я не прав?
Есть какие-то обновления по данной обработке?
(39) уже все в платформе можно сделать (система взаимодействия)