Рекомендации по адаптации интерфейсов «1С:Предприятия» версии 8.3.7
Вводная информация
В платформе «1С:Предприятие», начиная с версии 8.3.7, реализован новый механизм расстановки элементов управляемой формы. В результате реализации улучшено размещение элементов на форме, реализованы новые возможности размещения элементов на форме, изменение некоторых свойств элементов формы на клиенте больше не требует обращения к серверу (видимость, изменение состояния группы — свернута/не свернута, отображение или скрытие дополнения элемента формы состояние просмотра), изменены правила автоматического формирования разделителей на форме и т.д. Подробное описание работы механизма приведено в документации. В редакторе управляемой формы реализована возможность быстрого просмотра разрабатываемой формы в нужном разрешении и ориентации экрана.
Для системного перечисления «ГруппировкаПодчиненныхЭлементовФормы» реализовано значение «ГоризонтальнаяЕслиВозможно».
У расширений поля управляемой формы для поля надписи, поля ввода, поля картинки, поля табличного документа, поля текстового документа, поля форматированного документа, поля календаря, поля индикатора, поля полосы регулирования, поля диаграммы, поля диаграммы Ганта, поля дендрограммы, поля географической схемы, поля HTML-документа, поля графической схемы, поля периода и поля планировщика, элемента управляемой формы типа таблица, декорация и кнопка реализованы свойства:
– АвтоМаксимальнаяШирина;
– МаксимальнаяШирина;
– АвтоМаксимальнаяВысота;
– МаксимальнаяВысота.
Для элементов управляемой формы типа «Форма», «Группа» и «Страница» реализованы свойства:
– ГоризонтальныйИнтервал;
– ВертикальныйИнтервал;
– ВыравниваниеЭлементовИЗаголовков;
– ГоризонтальноеПоложениеПодчиненных;
– ВертикальноеПоложениеПодчиненных.
Для полей управляемой формы типа Поле, Таблица, Декорация, Группа, Кнопка и Дополнение реализованы свойства:
– ГоризонтальноеПоложениеВГруппе;
– ВертикальноеПоложениеВГруппе.
Для расширения управляемой формы для дополнения элемента формы «Отображение строки поиска», «Отображение управления поиском» и «Отображение состояния просмотра» реализованы свойства:
– АвтоМаксимальнаяШирина;
– МаксимальнаяШирина.
Для элемента управляемой формы типа группа реализовано свойство «СквозноеВыравнивание».
Для системного перечисления ВертикальнаяПрокруткаФормы реализовано значение «ИспользоватьБезРастягивания».
Для расширения управляемой формы для группы реализовано свойство «Объединенная».
Для расширения управляемой формы для страницы реализовано свойство «ВертикальнаяПрокруткаПриСжатии».
В режиме совместимости с «1С:Предприятие 8.3.6» поведение не изменилось.
Свойства «РастягиватьПоГоризонтали» и «РастягиватьПоВертикали» реализованы для следующих объектов: расширения управляемой формы для полей графической схемы и HTML-документа, элемент управляемой формы типа кнопка. Для расширения управляемой формы для дополнения элемента формы «Отображение управления поиском» реализовано свойство «РастягиватьПоГоризонтали».
Общие рекомендации по переводу на новый интерфейс
Формы администрирования
ПРОБЛЕМА.
Разъезжаются столбцы в группе. Результатом становится нарушение выравнивания и появление горизонтального прокручивания при разрешении экрана 1024×768:
РЕШЕНИЕ.
Для подсказок во всех группах необходимо установить значение «АвтоМаксимальнаяШирина». Рекомендуется также установить значение Высота = «0» в тех случаях, когда высота равна другому значению. (Иногда высота по количеству строк использовалась для корректного отображения подсказок в Такси и Управляемом приложении. Сейчас в этом нет необходимости):
ПРОБЛЕМА.
Даже после установки корректного значения «АвтоМаксимальнаяШирина», колонки в объединенных группах не выровнены между собой:
РЕШЕНИЕ.
Для подсказок во всех группах необходимо установить значение «РастягиватьПоГоризонтали» = «Да»:
Формы документов
Часть проблем и решений по корректному переходу на новую версию интерфейсов будет показана на примере документа «Реализация товаров и услуг». Формы этого документа содержат большинство несоответствий, выявленных при оптимизации интерфейсов.
ПРОБЛЕМА.
Разъезжаются реквизиты подвала — итоговая строка отступает от правого края:
РЕШЕНИЕ.
Для корректного расположения группы «Итого» необходимо отключить свойство «АвтоМаксимальнаяШирина»:
ПРОБЛЕМА.
1. Большинство реквизитов во вкладке «Дополнительно» после применения обработки выровнены по опорной линии. Необходимо выровнять два последних поля («Вариант оформления продажи» и «Экспедитор»).
2. Если нет строгой необходимости, предлагается устанавливать ширину полей без использования цифровых значений.
РЕШЕНИЕ.
– Ширина: «0»,
– «АвтоМаксимальнаяШирина»: Установлен,
– «РастягиватьПоГоризонтали»: «Авто».
При таких настройках в «Такси» ширина полей по умолчанию равна «40» единицам. В зависимости от разрешения экрана, взаимодействие полей в колонках горизонтальной группы будет происходить автоматически, но не превышать ширину поля равную «40».
Общие проблемы и решения
Комплексное решение
При переводе форм документов на «1С:Предприятие» версии 8.3.7 и выше, часто встречаются ситуации, не описывающие конкретного решения проблем. Данные проблемы могут возникать при взаимодействии реквизитов в зависимости от их расположения. Для гарантированного положительного результата при переводе форм рекомендуется воспользоваться комплексным решением на примере формы документа «Реализация товаров и услуг».
ПРОБЛЕМА.
1. Замечено, что в определенной степени выравнивание реквизитов в одной вкладке (например, «Основное») влияет на реквизиты в другой вкладке.
Рассматривая пример адаптации формы «Реализация товаров и услуг», выявлена проблема корректного отображения полей в разных вкладках, если свойства (например, ширины) полей в одной вкладке не соответствуют свойствам полей в другой вкладке.
Все поля вкладки «Дополнительно» имеют настройки, рекомендованные платформой версии 8.3.7 по умолчанию.
Во вкладке же «Основное» настройки полей имеют характеристики, которые не изменились после применения обработки:
– Ширина = «28»,
– «РастягиватьПоВертикали»: «Нет».
В конфигураторе при этом они отображаются некорректно.
В результате, при открытии формы в пользовательском режиме поля в обеих вкладках выровнены корректно. Но при переходе из вкладки «Основное» в «Дополнительно» и обратно поля в «Основном» съезжают относительно своих заголовков:
Назначение заголовкам свойства выравнивания «Слева» не дает корректного результата, поскольку при аналогичных действиях перехода между вкладками, поля вкладки «Основное» так же съезжают:
РЕШЕНИЕ 1.
Рекомендуется полям вкладки установить настройки, рекомендованные «1С:Предприятие 8.3.7» по умолчанию.
При этом, однако, в Конфигураторе (а в определенных случаях и в пользовательском режиме) между колонками реквизитов горизонтальной группы будут появляться вертикальные разделители.
Для их устранения необходимо всем подгруппам горизонтальной группы назначить свойство:
«Объединенная»: снято
РЕКОМЕНДАЦИЯ.
Вне зависимости от свойства полей «ПоложениеЗаголовка» (Авто, Лево), рекомендуется при разработке формы использовать разные разрешения экрана в Конфигураторе:
РЕШЕНИЕ 2.
Если по каким-то причинам нет возможности установки реквизитам свойств, рекомендованных по умолчанию, предлагается полям в обеих вкладках назначать свойства ширины в числовых значениях.
Однако, использование настройки стандартной ширины в интерфейсе «Такси» часто стало работать некорректно и плохо влиять на выравнивание полей.
Для устранения этого недостатка рекомендуется использовать новые параметры настройки ширины:
РЕКОМЕНДАЦИЯ.
При использовании параметров выравнивания полей, рекомендованных «1С:Предприятием» версии 8.3.7 по умолчанию, примененных к полю Комментарий, данное поле будет иметь недостаточную ширину:
Для отображения ширины поля Комментарий в привычном режиме рекомендуется воспользоваться вариантом настроек, описанном в предыдущей рекомендации:
ПРОБЛЕМА.
После снятия режима совместимости, на некоторых сложных формах может возникать свободное пространство между страницами и отсутствовать разделитель между ними:
РЕШЕНИЕ.
Необходимо сбросить фиксированную высоту. В соответствии с рекомендациями «1С:Предприятия» версии 8.3.7, высота по умолчанию должна быть равна «0»:
ПРОБЛЕМА.
После снятия режима совместимости, пиктограммы, относящиеся к полям, по умолчанию стали отображаться по верхнему краю, несмотря на настройку «Авто»:
РЕШЕНИЕ.
Рекомендуется группе, в которой находятся эти пиктограммы, устанавливать свойство «ВертикальноеПоложениеВГруппе» в значение «Центр»:
ПРОБЛЕМА.
(Рассмотрено на примере формы «План продаж по номенклатуре».) Особенно хорошо проблема видна при использовании реквизитов шапки, разделенных на левый и правый блоки. При детальном обзоре видно несоответствие полей левого и правого блоков:
РЕШЕНИЕ.
В этих и похожих случаях необходимо снять с групп флажок «Объединенная». Вложенные в таких группах подгруппы могут растягивать разъединенную группу по вертикали. Поэтому необходимо снять флажок «Объединенная» и с вложенных групп. (Это не касается вложенных групп горизонтальных реквизитов):
ПРОБЛЕМА.
В «1С:Предприятии» версии 8.3.6 для выравнивания часто использовались декорации-«пустышки». Например, для того чтобы флажок «Иностранный контрагент» находился под кнопкой, между полем «КПП» и флажком «Иностранный контрагент» вставлена декорация для выравнивания флажка под кнопку:
РЕШЕНИЕ.
В «1С:Предприятии» версии 8.3.7 эта же задача решается без декорации, при помощи снятия флажка «Объединенная» у групп «ГруппаИНН» и «ГруппаКПП» и добавления внешней группы «ГруппаИННКПП»:
РЕЗУЛЬТАТ
Прежний вид без использования декораций:
ПРОБЛЕМА.
Как и ранее, горизонтальный отступ для подчиненных флажков необходимо делать при помощи декорации. Однако теперь (в интерфейсе «Такси») данная декорация имеет малую ширину:
РЕШЕНИЕ.
Рекомендуется назначать декорации свойство «Ширина» = «2»:
РЕКОМЕНДАЦИЯ ПО ИСПОЛЬЗОВАНИЮ ДЕКОРАЦИЙ.
Для выравнивания реквизитов рекомендуется не использовать декорации, а использовать новые возможности «1С:Предприятие» версии 8.3.7: «АвтоМаксимальнаяШирина» (для реквизитов) и свойства «Объединенная» и «Сквозное выравнивание» (для групп реквизитов).
Ранее, для того чтобы часть реквизитов (например, в командной панели) прижимались влево, а часть вправо использовалась декорация со свойством «РастягиватьПоГоризонтали» = «Да».
«1С:Предприятие» версии 8.3.7 и выше корректно располагает такие реквизиты.
Одним из редких случаев, когда применение декораций необходимо — горизонтальный отступ подчиненных флажков. Других инструментов для оформления таких отступов нет:
ПРОБЛЕМА.
В «1С:Предприятие» версии 8.3.6 оформление заголовков в виде декораций применялось для корректного выравнивания полей в тех случаях, когда такого выравнивания нельзя было добиться стандартными средствами «1С:Предприятия» версии 8.3.7. После снятия режима совместимости, заголовки реквизитов, выполненные в виде декораций, перестали выравниваться относительно друг друга:
Необходимости в заголовках реквизитов, выполненные в виде декораций, больше нет. Новые средства «1С:Предприятия» версии 8.3.7 позволяют выравнивать реквизиты и группы реквизитов автоматически.
РЕШЕНИЕ.
Для устранения проблем выравнивания заголовков, необходимо удалить заголовки в виде декораций и назначить всем реквизитам стандартные заголовки.
ПРОБЛЕМА.
В «1С:Предприятии» версии 8.3.6 группа могла быть или горизонтальной или вертикальной.
В «1С:Предприятии» версии 8.3.7 добавлен новый вариант группировки элементов в группе «Горизонтальная, если возможно». Все новые группы по умолчанию создаются с такой группировкой.
Данная настройка влияет на разное отображение форм при различных разрешениях:
РЕШЕНИЕ.
Если нет необходимости разрабатывать формы под несколько разрешений и для сохранения однозначности во внешнем виде рекомендуется не использовать свойство «Горизонтальная, если возможно» для групп.
Переключатели (радиокнопки), чекбоксы и их взаимодействие с полями
ПРОБЛЕМА.
В «1С:Предприятии» версии 8.3.6 для изменения горизонтального положения полей ввода рядом с полями переключателя использовались декорации. Высота поля ввода совпадала с высотой элемента переключателя:
В «1С:Предприятие 8.3.7» высота полей ввода и полей переключателя стала различной, а использование декораций для изменения горизонтального положения стало неэффективным.
РЕШЕНИЕ.
Для корректного выравнивания необходимо разделить поле переключателя на отдельные элементы управления и объединить их в горизонтальные группы с полями ввода:
ПРОБЛЕМА.
Существует масса форм, в которых поля взаимодействуют рядом с флажками и/или переключателями. Однако, алгоритм выравнивания всех этих элементов (в версии 8.3.7) не позволяет ровно расположить их напротив друг друга. В примере ниже, опорной точкой для оптимального расположения заголовков выбрана высота расположения заголовка полей:
РЕШЕНИЕ.
В этих случаях необходимо снять с групп реквизитов флажок «Объединенная»:
Взаимодействие полей ввода и ссылок
ПРОБЛЕМА.
Аналогичная проблема выравнивания может наблюдаться со ссылками на единицы измерений, которые съезжают относительно полей ввода числовых значений:
РЕШЕНИЕ.
Предлагается создать отдельные группы с горизонтальной группировкой для каждой характеристики размера ячейки:
Пошаговые помощники
ПРОБЛЕМА.
После снятия режима совместимости могут возникать проблемы с нарушением компоновки форм пошаговых помощников.
Причина некорректного отображения формы — новые свойства «АвтомаксимальнаяШирина» и «АвтомаксимальнаяВысота». Из-за этих свойств, форма, которая была вытянута в ширину стала более узкой и нарушилась компоновка формы.
РЕШЕНИЕ.
Для восстановления прежнего вида необходимо отключить свойство «АвтоМаксимальнаяШирина» для надписей.
РЕКОМЕНДАЦИЯ.
Компоновка форм пошаговых помощников не регламентируется юзабилити-стандартами.
Рекомендуется менять внешний вид помощников, снимая для надписей свойство по умолчанию «АвтоМаксимальнаяШирина» только в тех случаях, когда форма явно отображается некорректно.
Вкладка «Комментарий»
ПРОБЛЕМА.
После снятия режима совместимости, ширина поля комментария в одноименной вкладке приобретает стандартную ширину «40». На это влияет установленное по умолчанию свойство «АвтоМаксимальнаяШирина»:
РЕШЕНИЕ.
Для восстановления прежнего вида необходимо отключить свойство «АвтоМаксимальнаяШирина» для поля комментария:
Внешние изменения «1С:Предприятие» версии 8.3.7
Ниже описаны визуальные отличия форм после снятия режима совместимости.
Формы контактной информации
Существенно изменился внешний вид форм контактной информации. Удалось избавиться от большинства лишних параметров выравнивания, уменьшилось количество генерируемых элементов, по-умолчанию заголовки полей ввода теперь размещаются слева (не связано с «1С:Предприятием» версии 8.3.7).
Однако, новой стандартной ширины поля адреса оказалось недостаточно. Используется бОльшая ширина (50–60).
Панели администрирования
Особенностью панелей администрирования является расположение элементов в две одинаковых колонки. В «1С:Предприятии» версии 8.3.6 для выравнивания использовалась фиксированная ширина.
Из-за отключения свойства «Объединенная» уменьшились отступы между группами. Форма стала выглядеть более компактно.
Флажки
Изменились стандартные расстояния (отступы) между флажком и его заголовком.
Динамическое дополнение/изменение форм в интерфейсе Такси и Управляемых формах v8.3 (8.2). Изменяем формы в режиме 1С:Предприятие.
Если сравнение модулей на данный момент можно считать довольно удобным, то сравнение форм остается весьма трудоемким, хотя с появлением управляемых форм и в этом направлении появилась бОльшая информативность. Но влиять на объединение реквизитов форм почему-то все равно нельзя (см. пример скрина).
Отличие данной реализации от других (например, //infostart.ru/public/171514/) в более удобной, на мой взгляд, подготовке самого «ТЗ» на изменения. В данном решении заполнение происходит в режиме 1С:Предприятие. Система предлагает в выпадающем списке возможные значения. Можно более-менее заполнить все интерактивно, по кнопке «Проверить редактируемую форму» посмотреть что получается.
Кроме создания новых элементов можно перегруппировывать существующие для лучшей компоновки формы с учетом новых элементов, т.е. можно перенести в другую группу, передвинуть, удалить, изменить свойства.
Организован простой перенос настроек между базами (из тестовой базы в рабочую, например). Возможно это банальность, но все равно удобно.
На сравнение с уже опубликованными решениями не претендую, т.к. в них, как правило, больше функциональности.
Так же должен отметить, что решение не является конечным решением, а больше является шаблоном/инструментом, который можно улучшить при необходимости. Свойств у элементов очень много, я вынес в настройки только основные (необходимые мне).
Для динамического формирования формы необходимо добавить вызов одного метода в процедуру при создании формы и необходимые обработчики событий, и обращайте внимание на тумблер Настройка/Работа. Для режима Настройка форма изменяться не будет.
В версии 006 описан механизм работы с кнопками. Т.е. можно динамически добавить кнопку, команда создастся, если ее не было. Метод определяющий действие команды должен быть в модуле.
Изменен один параметр в вызове метода. Теперь передается сама форма, а не ее имя, см. ниже
Вызов, который нужно добавить в процедуру ПриСозданииНаСервере:
// ВНИМАНИЕ, ЗДЕСЬ ОСУЩЕСТВЛЯЕТСЯ ИЗМЕНЕНИЕ ВНЕШНЕГО ВИДА ФОРМЫ
// для актуальной версии 006
крДинамическоеИзменениеФормСервер.крДобавитьЭлементыПоСправочнику(ЭтаФорма, Элементы, Параметры.ДополнительныеПараметры);
// для версии 005
// крДинамическоеИзменениеФормСервер.крДобавитьЭлементыПоСправочнику(ЭтаФорма.ИмяФормы, Элементы, Параметры.ДополнительныеПараметры);
Применимо к управляемым формам. Делалось на 8.3 для Бухгалтерии 3.0
Ограничения (что проверял, что нет).
По факту проверял только Поле ввода (на форме и в таблице), Обычную группу, Группу колонок. В большинстве случаев этого достаточно.
Механизм выложен в качестве конфигурации с одной подсистемой и без ненужных объектов, т.е. можно просто объединить ее со своей конфигурацией, дать права на подсистему и добавить вызов