Система учета задач




Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.

В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "/////    echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1. 
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

<?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='\

99 Comments

  1. Stepa86

    Каждый уважающий себя программист должен написать хотя бы раз таск-менеджер. Я себя уважаю очень сильно, поэтому написал таких 3 штуки, но пользуюсь блокнотиком в основном.

    Накину для обсуждения:

    1) Это канбан доска? Значит есть ограничение на количество элементов в состоянии?

    2) Состояния нужно делать настраиваемыми, даже у одной команды они постоянно меняются, что уж говорить про разные.

    3) Приоритет считаю лишним. На доске должны быть только те задачи, которые нужно делать. А раз нужно делать, то зачем приоритет? И не помню ни в скраме в спринт-беклоге ни в канбане ни в скрамбане приоритетов.

    4) Очень полезная инфа для задачи — сколько часов осталось ее делать. Ну и берндаун диаграмму считаю самой полезной в таск-менеджере, хотя она прилично так ресурсов отъедает.

    5) Должен быть отстойник для новых задач (он же беклог в скраме) и архив для выполненных. А то через пару недель уже будет не очень удобно работать

    6) Дорофеева смотрел с его историей доски? Очень интересно у него часть 1, часть 2, часть 3

    Reply
  2. Fragster

    Спасибо за отзыв.

    1) условное ограничение есть только в статусе «В работе» в виде автоприостановки

    2) Это сложновато для программной реализации (если делать на ДС), проблемы начинаются с описанием правил перетаскивания

    3) приоритет сделан для возможности «сортировки» в «новых»

    4) тут попрошу поподробнее. Я так понимаю, тут можно завязаться на срок, плановые даты, процент выполнения и трудозатраты? И отображать эту информацию на доске?

    5) сейчас это «новые» и «завершенные». Или нужно еще что-то добавить? типа кучи для отделения «отстоя» от «ожидают включения в план?» еще одну колонку включить вряд-ли получится, надо думать, как сделать, чтобы было удобно видеть, что там что-то есть, и работать с этим.

    6) посмотрю, спасибо за ссылки.

    Reply
  3. paulpit

    Большой брат на картинке — смахивает на алкаша.

    Reply
  4. paulpit

    Мне нравился механизм, описанный в книге Пасти котов,в которой главный интерфейс автоматически обновлялся с переходом текущей даты на следующий день.

    Reply
  5. Stepa86

    (2) 2) Можно захардкорить, сделать 10-20 ДС, а заголовки, видимости и отборы согласно настройкам

    4) Сколько осталось по задаче это одно число — сколько нужно еще потратить чистого времени, чтоб задача стала выполнена. Актуализируется на стендапах. Используется для построения берндаун-чарта, например.

    5) Гиперссылка под новыми «Претенденты (258 (+12)) при клике на которую открывается список задач с отбором по статусу. То же самое по завершенным. В этом списке добавить кнопку «Закинуть на доску»

    Reply
  6. Fragster

    (5) Stepa86,

    2) повторюсь — тут проблема в том, что у разных ДС разная логика работы + разная логика перетаскивания. Если её формализовать и сделать единообразной — то ДСы можно клонировать как угодно на форме (и вот тут пригодится подсистема «настройка порядка элементов», которую я сначала попробовал применить). Например настройка порядка списков, в «в очереди» она вообще внешнем на регистре сведений сделана, а в остальных — сортировкой.

    4) т.е. а) график актуализации и условное оформление на неактуализированные

    б) отчеты по изменению оценки задачи

    5) что-то типа того я и представлял. и «выкинуть с доски» 🙂 а «+12» — это что? типа новые? может тогда лучше всё новое в новое, а оттуда выкидывать?

    Reply
  7. Fragster

    (5) Stepa86,

    5) типа такого? https://imgur.com/a39VZ9b

    добавлен статус «Пожелание»

    добавлено поле отмеченное стрелкой

    по ссылке открывается форма списка задач с отбором по статусу «Пожелание»(и по проекту при необходимости)

    на поле возможно перетягивание

    Reply
  8. Fragster

    (5) Stepa86, в версии 1.0.0.2 добавлен «отстойник», задачи предполагается добавлять в новые, потом принимать решение о выносе в ожидание

    Reply
  9. Cyberhawk

    Мобильную конфигурацию было бы неплохо иметь под это дело (чтоб на мобильном устройстве быстренько посмотреть состояние, чем кто живет в данный момент).

    Веб-клиент не предлагать — там нет тач-скролла. Кстати, а в немобильном приложении в колонках скролл задач есть?

    Reply
  10. Stepa86

    (8) Я вчера 2 больших камента писал, но они не дошли. Я расстроен вопщем.

    Лично мне оформление отстойника не очень нравится. В идеале чтоб это была гиперссылка или форматированная строка без лишнего. Ты так сделал видимо изза возможности перетаскивания. Как минимум я бы отрубил отображение рамок.

    Про осталось сделать: Я вот так список задач вел http://screencast.com/t/OTmwLa53rHm1 и вот так диаграмму выводил http://screencast.com/t/qXESUcwph1

    В сторону планировщика смотрел? Возможно доску можно сделать на нем. Там и перетаскивания и настраивания и оформления элемента и создание прям в поле…

    А УНФ смотрел? Мне там безумно нравится как устроены отборы в формах списка http://screencast.com/t/5CsjiUco

    Reply
  11. Fragster

    (10) Stepa86,

    про оформление отстойника — без рамки выглядит лучше, но то, что туда можно перетягивать задачи — непонятно. Сделано именно для перетаскивания. Вариантов немного — либо поле картинки с текстом незаполненной картинки, либо табличное поле

    про «осталось сделать» — мне кажется, или подобное использование это не предполагает добавление задач в процессе реализации? У меня как правило нет фиксированных списков задач по проектам, они появляются в процессе, что-то типа CI (если я правильно его понимаю)

    с планировщиком интересно, но есть проблемы

    Видео с УНФ — круто, заморочились ребята. Но больше подходит для сводного списка задач,

    Reply
  12. Fragster

    выложил версию 1.0.0.4 с исправлениями некоторых обидных ошибок, привнесенными в версии 1.0.0.2

    Reply
  13. qwed557

    можно развить конфигурацию и добавить в нее блок оплат и отчеты по выполненным невыполненным задачам, раз есть постановщик и исполнитель. Отчет по оплаченным задачам.

    Reply
  14. Danil.Potapov

    По развитию подсистемы рекомендую посмотреть Джиру (https://www.atlassian.com/software/jira/features).

    А если панель сделать на объекте планировщик?

    Reply
  15. Fragster

    кстати, конфигурация обновляется стандартным образом через конфигурация -> поддержка -> обновить конфигурацию -> искать в каталогах (галочка на fragster.ru/…) -> далее -> готово, у кого версия < 1.0.0.5 можете проверить

    Reply
  16. Fragster

    (14) Danil.Potapov, спасибо, у jira картинки интересные, подумаю над реализацией чего-то подобного здесь

    объект «планировщик» — не динамический список, есть определенные проблемы: автоматическое изменение размеров, автоматическое обновление, «бесконечность» и т.п.

    конечно, у и у ДС есть проблемы, в основном с количеством серверных вызовов (когда их пять), но в принципе работает достаточно бодро.

    Ну и вроде бы текущий результат глаз не сильно режет.

    Reply
  17. mulla1979

    За исполнение плюс. Теперь вопрос: Почему заказчик не связан с Проектом? По сути проект это заказ, а у заказа как известно есть заказчик … т.е. логично было бы в справочнике Проект указать Заказчик, ну в форму задачи он бы подтягивался автоматом.

    Reply
  18. mulla1979

    Так, а вот с какой целью к Заказчику привязан Пользователь?

    Reply
  19. Fragster

    (17) mulla1979, в специфике моей работы (фикси) заказчики — это юзеры, а проекты — это подсистемы или разделы ИТ хозяйства, по этому об этом я не подумал. Наверное, эту возможность я добавлю, немного придется перекомпоновать форму задачи, чтобы проект был до заказчика.

    Я рад, что исполнение (юзабилити) понравилось.

    А пока небольшой тизер:

    Reply
  20. Fragster

    (18) чтобы пользователи могли сами смотреть исполнение задач.

    У пользователя задачи выделяются жирным, если «его» задачу изменил не он, буь он заказчиком или исполнителем. Долго думал, объединять или нет справочники исполнителей и заказчиков и пока решил, что не надо.

    Reply
  21. mulla1979

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

    Reply
  22. Fragster

    (21) mulla1979, создание пользователей под заказчиков — не обязательно. Равно как и под исполнителей 🙂

    Общение через ЭП планируется, но несколько позже, по «плану» тут некое отклонение в сторону функций сервис деска. Сейчас задачи и ошибки регистрируются по телефону и лично заказчиками.

    Про «системную учетную запись» — это про «внешних пользователей»? в БСП они, например, не умеют в стоке работать с прикрепленными файлами. А с точки зрения 1с — это те же самые обычные пользователи, только у справочника внешних пользователей прикладного решения есть еще ссылка на другой справочник-владелец (в типовых, например, физ лица и партнеры).

    Reply
  23. Fragster

    (1) Stepa86, большой шаг к спринтам и предварительная версия диаграммы сгорания задач сделана в версии 1.0.1.1

    для корректной работы требуется заполнить графики работы исполнителей.

    (17) mulla1979, реализовано в версии 1.0.1.1

    Reply
  24. Fragster

    Версия 1.0.1.2

    Мелкие улучшения

    Изменена блокировка задач при редактировании из итерации (блокируются только задачи, которые будут записаны)

    Исправлена ошибка необновления списка задач при изменении статуса из контекстного меню списка

    Не выбирать исполнителя, если он в системе один (в перспективе дополню функциональной опцией, чтобы убрать поле, если исполнители не используются)

    Выбор задач из «общего» списка с выбором исполнителя при необходимости (как при перетаскивании из списка новых задач на доске)

    Убраны кнопки «Приостановить» и «Возобновить» из списка «в работе» у доски

    В форме итерации добавлено выделение жирным задач, которые будут записаны при записи документа

    Убрано изменение статусов задач при записи итерации

    В форме итерации добавлена колонка, при нажатии на которую можно сбросить изменения конкретной задачи

    Reply
  25. Fragster

    Версия 1.0.1.3

    Исправление ошибок

    Исправлены неработающие кнопки повышения и понижения приоритета в списке новых задач на доске

    Reply
  26. Fragster

    Версия 1.0.1.4

    Исправление ошибок

    Правильное размещение задачи при ее создании со статусом «в очереди» — ошибки в начале, иначе в конце очереди

    Мелкие улучшения

    При перетаскивании задачи в очередь «с контролом» — задача встает в перетаскиваемое место очереди

    Версия 1.0.1.5

    Исправление ошибок

    Исправлено перетаскивание из списка задач в ожидании на доску

    Reply
  27. boevik

    Замечательная штука.

    С правами сложновато — ибо чтобы работать пользователю (не смотреть), все равно почти все нужны.

    Интересно было бы увидеть разграничение прав на задачи по исполнителю. Чтобы свои мог таскать, чужие нет.

    Либо чужих задач и не видеть.

    Либо ввести участников проекта и задачи по чужим проектам не мешались.

    Reply
  28. Fragster

    (27) сейчас часть возможностей есть:

    если включить доступ на уровне записей, то начинает действовать реквизит «Группа доступа» у проекта

    и в конфигурацию встроено два профиля доступа — исполнитель и «администратор проектов»

    «Исполнитель» может создавать задачи и заказчиков, на него распространяется RLS по группам доступа проектов. Таким образом можно убрать доступ к «нежелательным» проектам. Роль «Исполнитель» условно подходит и для «заказчиков», если планируете их пускать в систему.

    «администратор » как раз рулит проектами и группами доступов.

    Задача отображения только своих задач частично решается установкой галочки рядом с полем «Исполнитель» на доске — тогда сработает фильтр по исполнителю. Убирать же доступ к «чужим» задачам по «своим» проектам мне показалось не очень хорошей идеей.

    Пока на предмет более тонкой настройки прав не задумывался. Если есть идеи, какие профили с какими видами доступов нужны — предлагайте идеи, чем более подробные — тем лучше. Но хотелось бы, чтобы оставалось главное преимущество — простота.

    Также у элементов справочников «Исполнитель» и «Заказчик» можно указать пользователя, тогда изменившиеся задачи начнут выделяться в списках.

    Reply
  29. Fragster

    Версия 1.0.1.6

    Мелкие улучшения:

    Форма выбора для цвета http://i.imgur.com/gNPlKkv.gif

    Группа доступа проекта отображается только при включенном RLS

    Исправление ошибок:

    При изменении статуса через контекстное меню не обновляется число «В ожидании»

    Reply
  30. boevik

    Поигрался с группами доступа по проектам. В принципе интересно.

    Ошибку словил у исполнителя для случая, когда задача на одного исполнителя, но его нет в группе доступа по проекту.

    «{Обработка.Доска.Форма.Форма.Форма(154)}: Ошибка при получении значения атрибута контекста (Результат)

    Выборка = ПостроительЗапроса.Результат.Выбрать();

    по причине:

    Ошибка выполнения запроса

    по причине:

    У пользователя недостаточно прав на исполнение операции над базой данных.»

    Reply
  31. Fragster

    (30)

    ошибка воспроизвелась, спасибо.

    Параллельно еще парочку ошибок при работе без полных прав нашел, готовлю исправление.

    Reply
  32. Fragster

    (30)

    Версия 1.0.1.7

    Исправление ошибок

    Ошибка при открытии задачи пользователем с ограниченными правами

    Не сохраняются настройки у пользовалей с ограниченными правами с поставляемыми профилями

    При отсутствии сохраненных настроек при открытии доска не показывает количество задач по статусам

    как всегда, доступно обновление через конфигуратор (как в гифке в конце публикации)

    Reply
  33. user641648_dsuhanova77

    Как бы еще заставить людей работать с такой конфой.

    На различных крупных предприятиях пытались внедрить подобное, но сталкивались с серьезным противодействием людей. Начинали прикручивать мотивацию, систему штрафов, чем еще больше усложняли процесс.

    Хоть отдельную статью пиши)

    Reply
  34. Fragster

    (33) В текущем виде — регистрация задач происходит силами разработчиков.

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

    Reply
  35. unduty

    Выглядит как спринт из Jira, это реально удобно. Всегда был поражен почему гореписатели 1с итилов до этого не дошли.

    Reply
  36. vvv_vit

    Хорошая разработка!!! Запустил у себя на проекте. Чуть доработал.

    Вот это (в ближайших планах — интеграция с электронной почтой) очень нужная штука.

    Reply
  37. Fragster

    (36) можно поинтересоваться, в чем конкретно была доработка?

    Reply
  38. vvv_vit

    Добавили справочник Контактные лица Заказчика, с Адресом Электронной почты. По нему задачи загружаться будут. Сейчас все задачи в почту сваливаются. Использовали Битрих24 он автоматом задачу создавал. Но не удобно много действий нужно сделать при работе с задачей и тормозит он.

    А ваша разработка очень понравилась, пока задачи сами создаем действий не много. При переводе задач из статуса в статус вообще быстро. Соответственно актуальная информация по проекту и результат видим.

    На неделе почту хотим прикрутить (загрузку задач с почты и отправка уведомления контактному лицу при переводе в статус «на проверке»)так как для нас это очень актуально.

    Reply
  39. Fragster

    (38) предлагаю подождать неделю или две, пока не будет реализована поддержка почты у меня. Правда я хотел сделать без контактных лиц, прямо в заказчиков контактную информацию писать. Ну, и в задачу.

    Reply
  40. BlizD

    (39) ну рано или поздно это должно было случится. Упоминания о твоей конфе в моей теме в комментариях есть, для восстановления баланса размещу тут инфу про свою.


    Добрый день, рад представить еще одну вариацию по управлению задачами.

    Конфигурация сделана с использованием БСП версии 2.3.2.76 для платформы 8.3.7 и выше.

    Канбан доска. Открытый код. Загрузка изменений из хранилища конфигураций 1С и связь с задачами.

    Проект выложен на github (ссылка в публикации). Управляемые формы. Рассылка уведомлений.

    http://infostart.ru/public/552480/

    Адрес проекта на Github

    https://github.com/BlizD/Tasks

    Показать

    Reply
  41. Fragster

    Версия 1.0.1.8

    Исправление ошибок

    Исправлено пересечение пользовательских настроек из-за использования одной формы для списка и для выбора у задач

    Мелкие улучшения

    Обновлена БСП до версии 2.3.4.102

    Форма персональных настроек из демобазы БСП, теперь можно выключить подтверждение при вызоде из программы

    Не очищается наименование задачи при копировании

    Проверка обновлений при запуске + попытка воспользоваться автоматическим обновлением из БСП

    При установленном ограничении на количество задач в работе — при перетаскивании задачи в работу с контролом — другие задачи не уходят в очередь. Также в форме задачи при необходимости появляется галочка для такого же эффекта

    Reply
  42. fishca

    Очень хороший задел на будущее.

    Reply
  43. isn

    (Fragster) , За исполнение плюс. Одно из пожеланий: состыковать с Битриксом- экспорт / импорт. Также состыковать MS Project

    P.S. Возможно я тоже подключусь к разработке и свои наработки буду высылать на почту.

    Reply
  44. vvv_vit

    Пожелание: Видеть в форме задачи что есть прикрепленные файлы.

    Reply
  45. Fragster

    (44) записал пожелание

    Reply
  46. Fragster

    Версия 1.0.1.9

    Исправление ошибок

    Проверка наличия новой версии завернута в попытку, чтобы не выдавать исключения при остутствии интернета

    Мелкие улучшения

    Удалена неиспользуемая подсистема «Настройка порядка элементов»

    Добавлена подсистема дополнительных отчетов и обработок

    Включена подсистема полнотекстового поиска в данных

    Изменено представление итерации (наименование не всегда генерируется автоматически)

    Улучшение определения даты начала итерации (при использовании итераций с перерывами начальтная дата не подставляется в прошлом)

    Форма подбора заявок в итерацию

    В форме выбора заявки в итерации не показываются заявки, уже выбранные в итерацию

    Отбор по итерации на доске действует и на новые задачи

    Вывод последней итерации задачи в форме списка (пока через запрос ДС, если будет тормозить, переделаю)

    Отображение и выбор итерации из формы задачи

    Reply
  47. Fragster

    (43) состыковать с битриксом вряд-ли получится в ближайшее время: для этого как минимум, нужен живой битрикс

    Reply
  48. monkbest

    Красиво сделано.

    Нашел ошибку 🙂

    Reply
  49. monkbest

    Вопрос по использованию. Как задача должна пропасть из списка завершенных? Сегодня их 5, через неделю 200, зачем они все. Как её закрыть совсем?

    Reply
  50. Fragster

    (49) это динамический список, будет падать все ниже и ниже без общего замедления системы. возможно, стоит добавить отбор на глубину, но большого смысла, если честно, нет

    Reply
  51. Fragster

    (48) ошибка воспроизвелась, спасибо.

    в качестве обхода — можно пользоваться перетаскиванием из формы ожидающих задач на нужную колонку доски или контекстным меню «Установить статус».

    в качестве исправления (которое войдет в ближайшую версию) можно в ошибочной строки добавить последним параметром Ложь.

    Странно, что проверка конфигурации не показывает эту ошибку.

    Reply
  52. Fragster

    Версия 1.0.1.10

    Исправление ошибок

    Не работает ссылка «вернуть из ожидания» списка ожидающих задач

    Не обновляется таблица трудозатрат по исполнителям при подборе задач итерации

    дважды показывает окно ввода пользователя-пароля в форме обновления ИБ

    Мелкие улучшения

    Сортировка новых задач на доске теперь без учета исполнителя (+ «непрочитанные» задачи сверху)

    Основной проект заказчика — при выборе заказчика автоматом может подставляться проект

    Список итераций задачи — команда в форме задачи для отображения и именения списка итераций, куда входит задача

    Отображение в форме задачи наличия присоединенных файлов

    Горячие клавиши на изменение приоритета и порядка в очереди (ctrl+shift+up и ctrl+shift+down)

    При создании задачи из доски с отбором по итерации или копированием — заполняется итерация

    При выборе итерации у задачи, а также при заполненной итерации у новой задачи — есть ссылка для очистки итерации

    Создание задачи с доски открывается в режиме неблокироующего окна (раньше при копировании открывалось неблокирующее окно, а при создании новой — блокирующее)

    Диаграмма сгорания задач добавлена в форму итерации

    Reply
  53. AlexeyDmuhin

    При попытке создания итерации вывалилась ошибка. Справочник итераций был пуст. Ошибка в запросе с группировкой — он в случае пустой таблицы возвращает строку с реквизитом «ДатаНачала» = NULL

    {Справочник.Итерации.МодульОбъекта(39)}: Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата)

    Reply
  54. AlexeyDmuhin

    В процессе обновления выскочила ошибка:

    {ОбщийМодуль.ОбновлениеИнформационнойБазыСУЗ.Модуль(124)}: Ошибка при вызове метода контекста (Выполнить)

    Результат = Запрос.Выполнить();

    по причине:

    {(7, 42)}: Несовместимые типы «ССЫЛКА»

    ЗадачиПрисоединенныеФайлы.ВладелецФайла <<?>>ССЫЛКА Справочник.УдалитьЗадачи

    Reply
  55. Fragster

    (53)(54) принято, спасибо!

    Reply
  56. Fragster

    Версия 1.0.1.11

    Исправление ошибок

    Ошибка создания итерации при пустом справочнике итераций

    Ошибка обработчика обновления на версию 1.0.1.1, привнесенная переименованием справочника Задачи в УдалитьЗадачи (справочник будет удален в версии 1.0.2.1)

    Обновиться можно из конфигуратора http://infostart.ru/upload/iblock/858/85809958bc46e3ec634eecb246d717fa.gif

    Reply
  57. Fragster

    (53) (54) ошибки должны пропасть

    Reply
  58. Fragster

    Сообщения об ошибках и пожелания доработок принимаются на tas@fragster.ru (заодно тест интеграции с электронной почтой 😉 )

    Reply
  59. Созинов

    Автор продолжай, хорошая вещь.

    За ссылки на Дорофеева огромное спасибо!

    Reply
  60. AlexEuro

    Было бы не плохо сделать отчет о том, сколько в каком состоянии была каждая задача

    Reply
  61. Ceboo

    Очень бы пригодились шаблоны задач, допустим рядом с кнопкой «Создать Задачу», поместить кнопку «создать задачу из шаблона» а-ля «Создать из шаблона», когда часто приходиться вводить типовые задачи, было-бы очень удобно.

    Reply
  62. Ceboo

    (60)

    сколько в каком состоянии была каждая задача

    Его можно быстро и самому накидать, данные все которые нужны для него есть в РегистрНакопления.ОстаткиЗадач

    Reply
  63. Fragster

    (62) да и внешние отчеты поддерживаются

    Reply
  64. Ceboo

    (63)

    и внешние отчеты поддерживаются

    Да штатные «дополнительные отчеты» вполне хорошо вписались.

    На засыпку, для примера маленький отчетик…

    З.Ы.

    Антонио Антонио (Fragster), это я Вам вчера письмецо отослал на tas@fragster.ru с небольшими глюками…

    Reply
  65. Fragster

    (64) , вижу: споилер новой версии 😉

    пока нет функционала разделения задач, прошу каждую проблему слать одним письмом 🙂

    Reply
  66. hostguy

    Работаю с клиентами напрямую (фриланс) есть некоторые пожелания/идеи, если они найдут отклик у автора.

    1. Часто стоимость задачи выставляю по фактически затраченному времени. К тому же для точности оценки подобных задачи хочется видеть фактические трудозатраты по задаче в виде отчета.

    2. Исходя из п.1 большую задачу всегда разбиваю на более мелкие подзадачи и каждую решаю в виде отдельной задачи — здесь нет возможности делать зависимые подзадачи. Хотя в принципе этот вопрос решается использованием итерации=задача внутри которой задачи=подзадачи. И как раз хотелось бы видеть отчет с иерархией по Задачам/подзадачам (Итерациям/задачам).

    Reply
  67. Fragster

    Версия 1.0.2.1

    Исправление ошибок

    Ошибка записи присоединенного файла для ненового файла

    При копировании задачи с пустой итерацией «элемент не выбран»

    При использовании релиза 1.0.1.11 — невозможно создать нового и модифицировать существующего пользователя

    Ошибка выбора маркера проекта в веб клиенте

    Улучшения

    При создании задачи из списка «в очереди» — указывать статус «в очереди» по умолчанию

    Отображение наличия присоединенных файлов в списке задач (если ширина колонки неправильная — нужно сбросить форму в настройки по умолчанию)

    При создании задачи из списка «в очереди» — указывать статус «в очереди» по умолчанию

    При настройках по умолчанию в пользовательские настройки формы списка задач добавлена итерация

    Начальная поддержка интеграции с электронной почтой — получение писем с почтового ящика, создание задачи с текстом из письма, присоединенными файлами и отправка уведомления о создании задачи

    Reply
  68. Fragster

    (64) глюк с вебклиентом исправлен

    Reply
  69. laisa2

    Используем в отделе внедрения (7 сотрудников на 2 площадках в разных городах). Спасибо большое автору за эту разработку.

    Пожелания к новому функционалу интеграции с почтой:

    1) возможность игнорировать письма, адресованные не напрямую в этот почтовый ящик (например, массовые рассылки по организации)

    2) возможность задавать «белый список» — шаблоны адресов эл.почты, с которых принимать сообщения.

    Reply
  70. Fragster

    (69) Спасибо за отзыв!

    Мне кажется, обе проблемы лежат в плоскости настройки почтового сервера (списка рассылки), так как предполагается, что под СУЗ выделен отдельный ящик вида «support@company», а не личные адреса сотрудников.

    Сейчас есть задача, после решения которой приниматься будут только письма с учетных записей, привязанных к проектам.

    Также можно сделать фильтрацию на создание задач только по учетным записям, привязанным к заказчикам (сейчас есть задача на создание/привязку email заказчика из созданной задачи одной кнопкой).

    Reply
  71. DeniNikitin

    Здравствуйте!

    Хорошая разработка, но при настройках прав см. Рис1, выдаёт следующее см. Рис.2 при открытии задачи, хотя в конфигураторе вроде всё нормально!

    Reply
  72. DeniNikitin

    (71) Не то прикрепил!

    Reply
  73. Fragster

    (72) это конфигурация на БСП, права следует настраивать в пользовательском режиме через меню администрирование — настройки пользователей и прав. Пользователю достаточно добавить группу с поставляемым профилем «базовые права» и «исполнитель». Дополнительно к профилю «исполнитель» группу с ролью «редактирование итераций» и «Базовые права СУЗ» (сейчас поставляемый профиль её не содержит, это известная ошибка).

    Также можно включить RLS по группам доступа проектов, если не нужно, чтобы какие-от пользователи видели все проекты.

    Reply
  74. DeniNikitin

    Тогда следующий вопрос: через интерфейс создал, а толку нет? Всё в приложениях!

    Reply
  75. DeniNikitin

    Один не доложил!

    Reply
  76. DeniNikitin

    И ещё подскажите в каком релизе добавлены базовые права СУЗ, в моём нету и пытаюсь обновить говорит нет доступных обновлений!

    Reply
  77. DeniNikitin

    Поставил и проверил 16.09

    Reply
  78. DeniNikitin

    Не может ли как то быть связано с ограничениями доступа к данным?

    Reply
  79. Fragster

    (76)

    И ещё подскажите в каком релизе добавлены базовые права СУЗ, в моём нету и пытаюсь обновить говорит нет доступных обновлений!

    Нужно создать профиль доступа с указанными выше ролями, создать группу доступа с этим профилем и включить пользователя в эту группу.

    Ошибки в предопределенных профилях будут исправлены в следующем релизе. Поскольку сейчас идет большая работа по интеграции тегеграм бота и некоторая переработка структуры метаданных — точную дату релиза указать не могу. Собственно, примерную — тоже.

    Reply
  80. DeniNikitin

    Поставил как в приложении, всё так же нарушение прав!

    Reply
  81. Fragster

    Версия 1.0.2.2

    Исправление ошибок

    Ошибка работы отчета о правах доступа

    Ошибка открытия задачи при неполных правах

    Улучшения

    При создании задачи из элетронной почты производится поиск по контактной информации заказчиков

    При выборе заказчика в задаче, созданной из элетронной почты производится проверка, есть ли емэил у какого либа заказчика и, если нет, задается вопрос о заполнении контактной информации выбранного заказчика адресом отправителя

    Уведомление о завершении и отмене заачи (в дальнейшем будет добавлена возможность настройки и редактирования шаблонов ко всем уведомлениям)

    Добавлено автообновление динамических списков на доске (раз в минуту)

    Уменьшена минимальная высота доски (минимальный размер окна теперь 1120х450 при стандартном масштабе)

    Обновлена версия БСП до 2.4.2.64, минимальная версия платформы — 8.3.10.2168

    Reply
  82. Fragster

    (80) это потому что не создан новый ппрофиль с необходимыми правами. В сегодняшнем обновлении все вроде как исправлено

    Reply
  83. acsent

    Где то я видел модуль для аутлука для этой конфы. Нет ни у кого?

    Reply
  84. DeniNikitin

    При обновлении!

    На удаляемый объект ОбщаяФорма.ПрисоединенныеФайлы есть ссылки в объектах основной конфигурации:

    Справочник.ЗадачиПрисоединенныеФайлы.Справочная информация

    Справочник.ПроектыПрисоединенныеФайлы.Справочная информация

    Reply
  85. Fragster

    (84) игнорировать получается? Если нет, то надо справку очистить. Вообще странно, у меня на 8.3.10.2466 обновилась без проблем

    Reply
  86. Fragster

    (83) есть только картинка в http://www.forum.mista.ru/topic.php?id=783361&page=5 , автор так и не поделился. Сейчас задачи создаются из почты.

    Reply
  87. XOCTEP

    Первый раз скачал и забросил. На днях качнул обновление и начал пользоваться, в целом удобно, будут пожелания, напишу. Есть вопрос, хотелось бы, например, вводить задачи с планшета — подскажите, как можно выложить конфу на веб-сервер, но не своей машине (рабочий ноутбук), а например на VDS или каких-то альтернативных вариантах?

    Reply
  88. Fragster

    (87)

    будут пожелания, напишу

    Про пожелания и ошибки можно писать на tas@fragster.ru, желательно одно письмо — одно пожелание/ошибка

    как можно выложить конфу на веб-сервер

    работа в веб-клиенте проверена в последних firefox и chrome — работает. Выкладывать точно также, как и любую другую конфигурацию. В документации про публикацию написано здесь: https://its.1c.ru/db/v8310doc#bookmark:adm:TI000000194

    А вообще скоро появится телеграм бот для быстрого создания задач.

    Reply
  89. Fragster

    Версия 1.0.2.3

    Улучшения

    Добавлено поле «результат выполнения», содержимое которого добавляется в письмо о выполнении задачи. Внимание! Чтобы содержимое поля попало в письмо, поле должно быть заполнено до (ну, или одновременно) с выставлением завершающего статуса

    В форме задачи поле «результат выполнения» активизируется при выборе статуса «завешена» или «отменена»

    Reply
  90. Fragster

    Версия 1.0.2.4

    Исправление ошибок

    При изменении статуса с/на «В ожидании» из формы задачи не обновлялись заголовки списков

    При создании задачи кнопкой создания задачи автоматически не подставлялась итерация

    Возвращена сортировка по исполнителю в новых задачах, неназначенные сверху

    Улучшения

    Обновление БСП до версии 2.4.4.116

    В проектах добавлено поле «Учетная запись электронной почты», теперь при подключении нескольких учетных записей возможна автоматическая сортировка по проектам

    При изменении проекта задачи Заказчик меняется автоматом только если заказчиком был основной заказчик предыдущего проекта

    Добавлена колонка с номером задачи в список задач

    На доску добавлено поле для перехода в задачу по номеру/теме

    Убрана возможность изменения ширины колонок доски (в т.ч. случайного)

    Если в течении 5 дней написать письмо в завершенную или отмененную задачу, то она автоматом вернется в статус «Подтверждение». В дальнейшем поведение будет вынесено в настройки

    При получении письма задача становится «непрочитанной»

    При получении письма в завершенную задачу она переходит в статус «Подтверждение», в отмененную — в «Новая»

    Reply
  91. Fragster

    Версия 1.0.2.5

    Исправление ошибок

    Если не указать учетную запись ни в одном проекте, то проверка почты завершалась с ошибкой

    Улучшения

    В карточку задачи добавлена кнопка «Отменить без уведомления», для отмены «мусорных задач» (спрятана в подменю «Ещё»)

    Reply
  92. Fragster

    Версия 1.0.2.6

    Исправление ошибок

    При создани задач из писем учетной записи, не привязанной ни к какому проекту, основной проект не подставлялся

    При обновлении БСП пропали команды дополнительных отчетов и обработок подсистемы СУЗ

    Reply
  93. Fragster

    Версия 1.0.2.7

    Исправление ошибок

    Количество задач в заголовках списков на доске теперь обновляется лучше

    Списки на доске не растягивались по вертикали на всю доступную высоту

    Улучшения

    При пометке на удаление отмененной задачи она переходит в статус «новая», при пометке на удаление завершенной задачи — ничего не происходит.

    На доску теперь выводится не только проект, но и итерации и срок задачи

    В электронном письме после извлечения вложения сохраняется ссылка на справочник присоединенных файлов (ранее хранился дубликат исходного вложения)

    При перетаскивании задачи в выполненные запрашивается результат выполнения

    Reply
  94. Sergik_D

    При работе через вэб-интерфейс, при переходе по ссылке. Например «Итерации» или «Задачи» с «Главное». 1С вылетает с ошибкой. Где-то разрешения надо выставить. Подскажите.

    Reply
  95. Sergik_D

    (94) Вопрос снят. Донастроил IIS.

    Reply
  96. Fragster

    (27)

    Интересно было бы увидеть разграничение прав на задачи по исполнителю. Чтобы свои мог таскать, чужие нет.

    Либо чужих задач и не видеть.

    реализовано, если включить rls, создать группу прав с профилем «Исполнитель» и не давать права ни на одну группу проектов, то пользователь будет видеть только задачи, где он заказчик или исполнитель.

    Reply
  97. Fragster

    (33)

    На различных крупных предприятиях пытались внедрить подобное, но сталкивались с серьезным противодействием людей. Начинали прикручивать мотивацию, систему штрафов, чем еще больше усложняли процесс.

    сейчас регистрация возможна задач через email.

    у нас в качестве мотиватора для «заказчиков» используются слова о том, что:

    1. Если у вас что-то не работает — это будет задокументировано и вы можете использовать это в качестве оправдания

    2. У ИТ есть KPI на реакцию ошибки

    3. Если вы зарегистрируете задачу — то вы узнаете, когда она будет выполнена в ответном письме.

    Reply
  98. Fragster

    (36) забыл написать 🙂

    регистрация задач через ЭП, перепика через ЭП и уведомление заказчика о завершении задачи опять же через ЭП реализовано около июля 17 года :).

    Reply
  99. Fragster

    (44)

    Пожелание: Видеть в форме задачи что есть прикрепленные файлы.

    забыл написать: реализовано около июля 17 года 🙂

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *