• +7 (347) 289-91-60
  • company@progtb.ru
  • Блог

Блог

Мало кто знает, что в версии 8.3.6 появится новый интерфейсный объект «Планировщик». Подробнее можно почитать прямо на сайте 1С а разделе «Заметки из зазеркалья» (тынц).

Однако, еще до появления новости от 1С, в далеком 2012 году мы реализовали данный модуль для нашей системы управления проектами. Если сравнивать функционал, который 1С анонсировала, то наше решение было на порядок шире и интереснее:

  • собственная система хранения данных, ориентированная на быстрый отклик системы, с возможностью задания настроек повторений и напоминаний;
  • улучшенное юзабилити, за счет более продуманного алгоритма работы пользователей с планировщиком;
  • возможность плотной интеграции с Google Calendar (используя последнюю версию API и систему авторизации OAuth 2.0).

Однако разработка не была отправлена в массы, причина по-большому счету только одна: мы можем позволить себе обойтись без документации и описаний (в том числе и технического характера), а вот потенциальные пользователи не могут.

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

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

После относительно недолгой беседы и демонстрации интерес в разработке вырос в разы и было согласовано ее доведение «до ума» с последующей реализацией в виде решения.

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

В итоге было решено полностью перебрать подсистему. Вся работа была разбита на три блока:

  1. Перенос всей разработки с 8.2, на 8.3 с использованием всех последних возможностей интерфейса «Такси», выполнением требований 1С к асинхронной обработке событий и реализаций прочих доработок (коих тоже накопилось);
  2. Разделение модуля на интерфейс, подсистему данных, служебную шину, подсистемы интеграции с различными внешними сервисами;

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

Интерфейс

Возможно, наш совет вам покажется странным, но тем не менее.

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

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

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


Выводы:

  1. «Такси» съедобно, удобоваримо и вполне себе применимо к использованию;
  2. Реализация HTML-контейнера в 1С – тихий ужас. Старый, престарый IE, версии эпохи наших прабабушек. CSS3, HTML5 – нееее, не слышали;
  3. Drag&drop на HTML-контейнер нужен, очень, сильно (ждем планировщик от 1С? Ага!!!).
  4. Ой, всё…

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

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

  • Создание события путем выделения необходимой части календаря:

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

  • Изменение положения всех видимых элементов (событий) без необходимости перехода в специализированную форму события:

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

Наигравшись, и отладив внешний вид, мы решили сосредоточиться на содержимом.

В первую очередь мы подумали над формой ввода события. Изучив два наиболее популярных сервиса от Google и Яндекс, мы пришли в выводу: в 1С можно сделать лучше, удобнее и красивее (!!!). Сейчас мы попробуем вам последовательно доказать это.

Форма быстрого создания события

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

Варианты ответов:

  1. Никогда
  2. Не хотим вообще
  3. Я пользователь, я не хочу ничего заполнять
  4. Где моя кнопка «сделать всё»???

Мы провели данный опрос с привлечением центра социальных опросов, выборка составляла полтора человека и одна собака, выводы были очевидны. Никто не хочет много писать. В идеале чтобы система сама угадала событие которые вы хотите запланировать. И… мы ее этому научим, но пока она может вам предложить форму быстрого ввода.


Мы не долго ломали голову над внешним видом формы быстрого ввода, ответ нам подсказал Google. Правда уже есть планы по доработке, но о них мы расскажем когда выйдет хотя бы первая официальная версия. Уж простите нас.

Так вот, все что вам надо ввести – это краткое описание мероприятия. Подсказка говорит сама за себя. Но мы согласны если вы просто напишите «завтрак», никто не обидеться. Главное чтобы вам было понятно.

Но что если вы хотите больше? Все как в известном меме: кто мы, что мы хотим, когда мы хотим.


Форма описания события

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


Особенность формы в том что она не содержит закладки, так любимые в 1С. Да... Совсем... Вообще ни одной. Все данные располагаются на одной форме, как на ладони.

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

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

  • Многие поля не содержат наименования, только описание планируемого содержания внутри самого поля. Данное решение позволяет экономить место, подсказывать об ожиданиях системы, «моделирует» поведение пользователей;
  • Ввод периода события начинается с даты и времени, а заканчивается наоборот время и дата. Мы сделали предположение что большинство событий ограничиваются одним днем. Попробуем собрать статистику со временем, и возможно перенастроим форму «по умолчанию»;
  • Настройка напоминаний выполнена в виде гиперссылки. Пожалуй, самое популярное решение во многих известных планировщиках. Мы не стали использовать форму настройки регламентных заданий от 1С, причины две:
    • Расчет времени выполнения на основании регламентных заданий никак не возможно выполнить методами языка запросов 1С;
    • Форма настройки расписания регламентных заданий не удобна и не очень понятна.

В итоге мы реализовали собственную форму. Она почти полностью копирует поведение формы Google Calendar. Если не знаете как она выглядит, можно заглянуть сразу в исходники.

  • Ввод местоположения события может быть выполнен с использованием адресного классификатора (если соответствующая подсистема была включена в разработку). Так же возможен просмотр местоположения на карте, при помощи сервиса Google Карты;
  • Выбор цвета выполняется при помощи динамически заполняемых кнопок. Состав цветов может быть полностью перенастроен администратором или другим уполномоченным лицом, для всех пользователей системы одновременно. На текущий момент использование собственного цвета недопустимо. Чистый эксперимент, надеемся что пользователи привыкнут к типовой палитре цветов. Более того, для формы календаря цветовые настройки отличаются, таким образом палитра цветов в общем числе насчитывает 23 цвета, настроенных на удобное и приятное восприятие пользователями;
  • По умолчанию полей ввода напоминаний нет, их необходимо добавлять. Система анализирует наличие в контактной информации текущего пользователя телефонов и электронной почты и может предложить на выбор 3 варианта напоминаний: по e-mail, по sms, всплывающим окном в 1С;
  • Участники могут быть привлечены из разных источников: по данным справочников 1С, по данным электронной почты. Планируется возможность подключения участников на основании данных по номерам мобильных телефонов. При этом участника можно сделать обязательным и с уведомлением. Все как у «взрослых» систем.

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

В следующих статьях, мы попробуем рассказать:

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

 

Спасибо за внимание и до новых встреч.