<?php // Полная загрузка сервисных книжек, создан 2025-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='\
К конфигурации не привязано? На УТ 11.4.6 будет работать?
(1)
Да, конечно!
Более того, будет работать вообще на любой конфигурации, будь то типовая или самописная
Осталось добавить листу учета рабочего времени — и франчайзи будут счастливы )
Хотя… да каждый из них уже свою написал..
с постановок задач, ржали всем отделом.
(3) Да уж, точно. Что называется сравните. Писал для своих нужд
(4)
жиза, так сказать)
(5)
Да, похоже) но есть различия, по-моему, очень много лишних кнопок и действий и нет переписки по задаче (без трудозатрат — уточнения всякие, вопросы и т.п.) Но это, конечно, взгляд со стороны, если они у вас есть, значит, наверное, используются.
Но это и понятно — идея-то одна, в принципе все системы этого плана схожи, ничего странного.
(3) аналогично, мой собственный вариант похож на представленный как из одного инкубатора вылупились… 🙂
Постановка задач — супер. А почему еще один таск-трекер, а не гитлаб/джыра, например?
(9)
Не совсем понял вопрос. Почему название такое или почему разработка на эту тему?
Если про разработку, то просто надоело собирать коммуникации по проекту в мессенджерах-почтах-телефонах, поэтому решил заиметь систему управления задачами. При этом никаких особых заморочек нужно не было (и до сих пор не нужно), задачи, статусы, коммуникация, трудозатраты. Нужно было просто-удобно-быстро-бесплатно, плюс желательно на 1С. Поиск ничего не дал, всё или платное, или сложное, или какое-то… не по принципу «ешь еду своей собаки» 🙂 Поэтому решил сделать самостоятельно. А так как я не люблю коленное программирование, то сразу сделал по-человечески. Ну а сейчас решил поделиться, вдруг понадобится кому-то.
А оповещений по e-mail нет ?
(11)
Оповещений нет. Это уже то, что можно доработать под свои нужды)
Но если вдруг когда-то это появится, то выложу, конечно.
Вышло обновление 1.0.1
А подзадачи есть?
(14)
Подзадач как таковых нет, но если нужна именно группировка, то есть справочник Группы задач.
(15) Например, руководитель ставит задачу своим манагерам, а те уже разбивают эти задачи своим подчиненным.
(16)
такого нет
Вышла версия 1.0.3
Правильно я понимаю, что это отдельная конфигурация, а не обработка которую можно использовать на типовых КА или ERP?
(19)
Совершенно верно, это именно отдельная конфигурация.
(16)
Добрый день!
В версии 1.0.5 реализовали ввод задач на основании других задач. Т.е. подзадачи.
Вышла версия 1.0.5
Вышла версия 1.0.6
Если gitlab и jira — сложно… ну тут только посочувствовать. Когда коту нечего делать, он пишет систему управления задачами.
(24)
А вот и закомплексованные умники подтянулись! Вас обидело, что вас в одном из комментов поставили на место и вы пошли гадить по всем моим материалам?)) Завидую людям, у которых так много свободного времени:) Для убийства времени рекомендую Лурк (там про ваше «мневасжаль» есть хороший материал). Ну и срачи можно разводить вконтактике, например. Ну или политические форумы всякие есть, слышал там 24/7 такие же обиженные общаются. А тут я бы всё-таки попросил по делу. Т.е. алгоритм такой:
Показать
(26)
Большое спасибо за обратную связь! Ваше мнение очень важно для нас))
Очень интересно решение, где будет интеграция с трелло.
Цель прочитать задачи в трелло, а на основе их делать комментарии в задачах, а затем их выгружать в свою учетную систему или интегрировать с ней.
канбан доска есть/будет? мобильный клиент есть/будет?
(29)
и то, и другое, планируется, пока не реализовано
канбан бы еще и совсем хорошо было бы
(28) у другого автора похожей разработки получил модуль для чтения трелло. Если планируете реализовывать, могу поделиться.
да уж очень сырой продукт. И почему бы не использовать стандартную библиотеку подсистем ну хотя бы для создания пользователей и Органайзера. А так можно доработать. Что и придется сделать. Ну ладно хоть начло положено))
(34)
Именно поэтому данная система подана как начальная и не продаётся за деньги, а отдаётся за символическое поддержание дальнейшей доработки)
(34)
Про БСП в тексте же написано. Во-первых, потому что данная подсистема может использоваться и без БСП. Во-вторых, если нужна интеграция с БСП — никаких проблем нет, в конфигурации специально модули, которые можно безболезненно заменить, названы без префиксов. Заливайте любые нужные части БСП даже без проверок. В-третьих, БСП — это ещё тот продукт, вместо библиотеки больше похоже на тарелку хорошо перемешанных макарон.
Добрый день,
Подскажите по функционалу, можно ли перепоручать задачу и/или контролировать её?. Также, есть ли возможность согласовывать задачу несколькими лицами одновременно и по порядку? Есть ли возможность вложить файл в задачу? Заранее спасибо.
(37)
Добрый день!
Нет, такого функционала нет. Эта конфигурация задумывалась именно как база — все пишут свои системы управления задачами и постоянно создают одни и те же объекты. Эта конфигурация содержит набор таких базовых объектов, чтобы можно было сразу начинать строить свою систему дальше.