UI/UX: Вредные советы

25.08.25

Разработка - Работа с интерфейсом

После доработки очередной формы неожиданно появилось непреодолимое желание нанести кому-то пользу. Для достижения этой цели я хотел обобщить имеющиеся на эту тему материалы в контексте 1С, составить чек-лист и поделиться им, если получится хорошо. В процессе изучения опыта других очень быстро пришло осознание, что всё написано до нас и так хорошо, что мне нечего добавить. Несмотря на это осознание, желание делиться меня не отпускало, так появилась идея: как делать хорошо, я только догадываюсь, зато точно знаю, как сделать плохо, про это и напишу.

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

 

Оглавление:

Вредные советы

  1. Вступление
  2. Первое  разочарование
    1. Имена: не путаем, а заставляем думать
    2. Компоновка шедевра: прячем обязательные поля и удаляем неугодные элементы
  3. Война с мышечной памятью
  4. Поле ввода - твое поле для творчества
  5. Работа с списками
  6. Командные панели и меню: как разбросать кнопки и спрятать самое главное
  7. Искусство коммуникации
    1. Эстетика минимализма
    2. Пойми меня, если сможешь
  8. Цветовой террор или реализация своего творческого потенциала
  9. Перекладывай ответственность
  10. Неуправляемый управляемый интерфейс
  11. Послесловие

Полезные материалы

 

Вредные советы

1. Вступление

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

2. Первое  разочарование

  • Имена: не путаем, а заставляем думать
    • Всегда начинай заголовок формы со слов «Форма элемента», «Форма выбора» или «Рабочее место», пускай читают, чем длиннее и бюрократичнее — тем солиднее.
    • Для одинаковых полей в разных формах придумывай новые творческие названия. Пусть «Контрагент» в одной форме станет «Партнером» в другой, а «Организация» — «Юрлицом». Развивай словарный запас пользователя.
    • Подписи к переключателям начни с частицы «Не». Например: «Не отправлять уведомление», «Не проводить документ». Это развивает логическое мышление.
    • Называй кнопки существительными: «Расчет», «Создание», «Выбор». Пусть гадают, что команда сделает: рассчитает что-то или откроет форму расчета.
    • В именах закладок должна быть загадка...что делает закладка прочее, что не делает закладка дополнительно?
  • Компоновка шедевра: прячем обязательные поля и удаляем неугодные элементы
    • Обязательные поля прячь в самом низу формы, под всеми необязательными. Пусть пользователь проскроллит всё, заполнит и только потом узнает, что нужно было ввести еще что-то.
    • Если элемент недоступен — просто сотри его с формы. Внезапное появление новых полей после выбора значения в другом поле — это сюрприз, который все любят.
    • Горизонтальная и вертикальная прокрутки — обязательные элементы любой уважающей себя формы. Размещай важнейшие кнопки в правом нижнем углу.
    • Размещай переключатели горизонтально и без группы. Пусть пользователь гадает, какой из них к чему относится.
    • Не выравнивай поля, это трата времени.
    • Выводи все доступные реквизиты, табличные части и команды на форму. Пользователь будет чувствовать себя настоящим пилотом космического шаттла, а не бухгалтером, который хочет просто провести накладную. Обязательными для вывода становятся:
      • Реквизиты, которые пользователь не может менять.
      • Технические реквизиты и табличные части, которые нужны только тебе.
      • Неиспользуемым реквизиты в том числе с префиксом «Удалить».

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

3. Война с мышечной памятью

  • Испытание пользователей на внимательность: расположение кнопок не должно быть предсказуемым.
  • Меняем расположение каждую неделю и не используем стандартные меню и иконки!
  • Кнопка «Рассчитать» сегодня — это кнопка «Удалить всё» завтра. Держим пользователя в тонусе!
  • Пользователь привык, что Enter в табличной части добавляет новую строку? Сломайте этот шаблон, закройте ему форму!
  • Уберите стандартные обработки печати и сделайте свои, но с другими названиями и в другом меню. «Печать» → «Сформировать печатную форму документа на принтер».

4. Поле ввода - твое поле для творчества

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

  • Расположи кнопки нестандартно для своей конфигурации, организация тут справа, тут слева, а тут на вкладке прочее.
  • Изменение значения в любом поле должно немедленно вызывать запись объекта, открытие новой формы или полную перекомпоновку элементов. Пользователь не должен скучать.
  • Для поля с двумя вариантами выбора («Да»/«Нет») обязательно создавай раскрывающийся список. Кнопка выбора — это лишний клик, который скрасит рабочий день.
  • Поля, обязательные для заполнения, никак не выделяй, при записи ткнешь пользователю в лицо, что он не может запомнить их.
  • При открытии формы устанавливай фокус ввода на поле «Комментарий». Начинать работу с лирического отступления — хороший тон.
  • Флажки:
    • Размещай подпись к флажку то слева, то справа от него.
    • Располагай флажки в группе в случайном порядке, желательно по горизонтали. Поиск нужного — это увлекательный квест.
    • В группе флажков самый часто используемый вариант ставь внизу.
  • Сделай так, чтобы при заполнении реквизитов по порядку какие-то предыдущие могли измениться или очиститься и не говори об этом.
  • Не накладывай отборы на выбор значения полей, сообщи, что выбор ошибочный при записи.

5. Работа с списками

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

6. Командные панели и меню: как разбросать кнопки и спрятать самое главное

  • Размести самую опасную кнопку (например, «Удалить»), рядом с «Записать и закрыть», а кнопку по умолчанию — в самом конце панели. 
  • Создай меню, в котором 15 пунктов идут без разделителей и подменю. Пусть оно уходит далеко за пределы экрана. Листать — это полезное упражнение для пальца.
  • Создай подменю всего с одним пунктом. Это создает ощущение таинственности и важности скрытой там команды.
  • Обязательно спрячь некоторые команды только в контекстное меню. Пусть пользователь чувствует себя избранным, когда случайно находит их правым кликом.
  • Размещай кнопку «Рассчитать» в самом низу формы, а поля, которые она рассчитывает — в самом верху.
  • Обходные пути: оставь доступ к обработке только в меню «ещё» динамического списка объекта, не связанного с обработкой.

7. Искусство коммуникации

  • Эстетика минимализма
    • Категорически избегай подсказок. Пусть пользователь чувствует себя первооткрывателем, а не скучным операционистом.
    • Выдавай максимально точное и максимальное бесполезное для пользователя сообщение: Ошибка № 0x8000000F: «Произошла ошибка при выполнении операции. Всё сломалось. Ждите».
    • После записи объекта или завершения длительной операции не сообщай об этом!
    • Для закладок с табличными частями не показывайте сколько там элементов - пускай открывают сами.
    • Не предупреждай о том, что табличная часть будет очищена. Особенно эффективно работает, если очищаемая табличная часть на другой закладке.
    • Не делай инструкций и справок, а если прижмут - пиши на техническом языке с использованием терминов платформы: “Для инициализации процедуры интерактивного ввода данных активируйте элемент управления «Поле ввода»”.
    • В сообщениях об ошибке не говори, как можно решить проблему, не подвергай свою востребованность риску.
    • Выдавай сообщения об ошибках порционно, никогда все сразу.
    • Дублируй заголовок поля в подсказке. Что нужно указать в поле «Индекс»? Конечно же «Индекс».
  • Пойми меня, если сможешь
    • Пиши сообщения об ошибках одним длинным-предлинным предложением без знаков препинания и логических пауз чтобы пользователь запутался и не понял в чем именно проблема и что ему теперь делать в сложившейся ситуации
    • Обязательно используй в сообщениях технический жаргон и коды ошибок платформы. Фраза «Ошибка вызова метода 'Провести'. Объект не найден» гораздо понятнее, чем «Нельзя провести документ, потому что в нем не указан контрагент».

8. Цветовой террор или реализация своего творческого потенциала

Ты можешь отличить до 20 оттенков зелёного и знаешь как выглядит амарантовый цвет? Это пригодится. 

  • Меняй цвет гиперссылок на черный или любой другой, кроме синего. Подчеркивание тоже убери. Кликабельным может быть что угодно, пусть пользователь кликает на всё подряд.
  • Сделай надпись цвета гиперссылки и не назначь ей действие!
  • Используй шрифт с стилем Lobster для подчерквиния важных сообщений.
  • Сделай побольше разных условных оформлений списка, пускай форма будет ярче!

9. Перекладывай ответственность

  • Один неверный клик — и все данные погибли:
    • Перед закрытием формы не спрашивай, нужно ли сохранять данные - хотели бы, уже сохранили.
    • Перед совершением необратимых или очень длительных операций не предупреждай - если полез, значит сам всё знает.
  • При проверке не говори в какой строке не хватает товара, скажи, что не хватает, на этом твоя работа тут закончена, они сами довели систему до такого состояния.
  • Упрекай пользователя в своих ошибках. Начинай сообщения с местоимений «Вы»: «Вы не заполнили обязательное поле», «Вы пытаетесь удалить элемент, который используется», используй восклицательные знаки! Дави на него!

10. Неуправляемый управляемый интерфейс

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

11. Послесловие

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

  • Одинаковые имена: не нужно думать, отличается ли назначения поля от аналогичного в другой форме.
  • Количество элементов в заголовке закладки: не нужно думать, а есть ли там элементы.
  • Вывод прогресс бара: не нужно думать, а зависла ли программа.
  • Одинаковый стиль кликабельных полей: не нужно догадываться, а можно ли нажимать.
  • Указание на незаполненное поле: не нужно вспоминать, где оно находится.

Полезные материалы

 
 Чеклист из стандартов для 8.2, которые, на мой взгляд, все ещё актуальны.

Гайд для создания форм на 1С

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Работа с интерфейсом Анализ учета Мониторинг 1С v8.3 8.3.14 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:Библиотека стандартных подсистем 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Платные (руб)

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

28800 руб.

27.03.2025    11972    24    17    

34

Работа с интерфейсом Рабочее место 1С v8.3 Управляемые формы 1C:Бухгалтерия Платные (руб)

Универсальный редактор картинок 1С предназначен для обработки изображений в режиме «Предприятие», с возможностью рисовать на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    65749    45    60    

84

Работа с интерфейсом Программист 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

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

2400 руб.

29.06.2020    21414    31    6    

48

Работа с интерфейсом Программист Стажер 1С v8.3 Бесплатно (free)

Это инструкция по дизайну форм в среде 1С. Гайд охватывает рекомендации и стандарты для оптимизации пользовательского интерфейса. В гайде содержатся указания по использованию элементов интерфейса, включая как основные, так и продвинутые аспекты. Предоставляются также примеры и антипримеры для наглядного понимания принципов дизайна

20.08.2024    35551    mrXoxot    44    

135

Работа с интерфейсом Программист 1С v8.3 Бесплатно (free)

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

27.05.2024    20731    smielka    37    

106

Работа с интерфейсом 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    20862    1281    elcoan    53    

128

Инструментарий разработчика Работа с интерфейсом Программист 1С v8.3 1C:Бухгалтерия Абонемент ($m)

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

3 стартмани

10.04.2023    14718    175    acces969    31    

132

Работа с интерфейсом Программист 1С v8.3 1C:Бухгалтерия Бесплатно (free)

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

12.08.2022    9372    rpgshnik    39    

95
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. lostcay 10 26.08.25 08:52 Сейчас в теме
Меня воспитали в парадигме "Оптимизация нужна тогда и только тогда, когда этого требует бизнес", однако иногда в очень интересных проектах действительно хочется себя проявить. Для себя, с точки зрения интерфейса, я понял такую вещь - нужно четко понимать для кого это пишется.
Был у меня проект, который я до сих пол поддерживаю, по автоматизации расчета зп, так я там такого наворотил, что спустя 2 года, до сих пор новым расчетчиками объясняю что все эти смешные кнопки означают. И не могу сказать что много чего лишнего напихал в одну форму, все нужно и с такими проектами с большой текучкой кадров стоит подписывать любые неочевидные штуки (оставлять подсказки, доп. подтверждения выполнения операций и т д).
С другой стороны если заказчик/пользователь один единственный человек, тогда все просто, украшаем, улучшаем, делаем интерфейс не очевидным, но удобным. С одним человеком всегда в сто раз проще договориться, чем с группой умников/менеджеров/управляющих.
С опытом приходит понимание как расшифровываются хотелки заказчика. Иногда после часового обсуждения правок оказывается что из десятков задач самая важная - это перекрасить кнопку, а все останое можно отложить на задний план. И самое интересное, что никто никогда вам этого не скажет, это нужно выцепить из интонации и взгляда. Я по этому не люблю работать с ит компаниями, у них никогда нет этого подхода, менеджер (вчерашний школьник) накидает сотню задач, которые реально никому не нужны, и сиди разгребай как тупая машина, а кому там что из этого нужно, не волнует, нам нужно человеко-часов добить до плана.

И вот вещь которую я не понимаю совсем, каким должен быть интерфейс программы для программистов? Сейчас занимаюсь некоммерческим проектом (для души) с очень сложным интерфейсом. Пытаюсь сделать похожим на некоторые уже существующие решения, но не уверен как этот объем презентовать. Вроде не для дураков делаю и как известно "Программисты мануалов не читают". Или кому надо сами разберутся? Не понимаю...
2. user1334089 21 26.08.25 09:41 Сейчас в теме
(1)
И вот вещь которую я не понимаю совсем, каким должен быть интерфейс программы для программистов?

Я бы подсматривал за IDE, сделав множество меню/закладок и самое главное - возможность пользователям самим настраивать его.
3. user1832003 59 26.08.25 09:57 Сейчас в теме
завершения длительной операции не сообщай об этом!


тут вообще не согласен. Какие длительные операции? Пусть в одном потоке ждут пока сервер отдаст управление на клиента
4. user1334089 21 26.08.25 10:02 Сейчас в теме
(3) Какое внимание к деталям, моё почтение)
Для отправки сообщения требуется регистрация/авторизация