Графит. Правщик 1С морд от kuzkov.info. 8. Видимые свойства отображалок

31.03.21

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

Восьмая часть очерков о разработке программы Графит, векторного правщика 1С морд от kuzkov.info. Проброс типовых свойств в шаблонщик и список элементов схемы на вкладке "Состав". Проброс типовых свойств в отображалку. Самодельные управляторы отображалок и сглаживание текста.

Приветствую, уважаемое сообщество !

В восьмой части записок о разработке Графита опишем новый элемент "Состав" формы со списком примитивов области рисования. Рассмотрим доработки правой панели для отображалки на примере проброса типовых свойств в шаблонщик. В общих чертах расскажу о самодельных управляторах вкладки "Видимые свойства". Какие бывают типы управляторов и как эти управляторы создаются на основании описания из шаблона.

Отступление

В сем очерке будет писание о следующем:
*) Список элементов "Состав";
*) Случаи и примеры применения списка "Состав";
*) Проброс типовых свойств в отображалку с ленты и правой панели;
*) Изменение ширины отображалки при вводе текста;
*) Вкладка "ВидимыеСвойства" для отображалки;
*) Сглаживание текста;

История разработки в публикациях

Подумалось мне, что с такой историей публикаций нет нужности в клиентском учебнике и можно будет писать только руководство для разработчиков. И это здорово !

Первая часть: //infostart.ru/public/1331373/
Вторая часть: //infostart.ru/public/1336820/
Третья часть: //infostart.ru/1c/articles/1341861/
Четвертая часть: //infostart.ru/public/1353926/
Пятая часть: //infostart.ru/1c/articles/1380741/
Шестая часть: //infostart.ru/1c/articles/1391443/
Седьмая часть: //infostart.ru/public/1411942/

Итак, поехали описывать сделанное !

Список элементов "Состав"

Когда на диаграмме появляется более нескольких десятков элементов, могут возникнуть сложности в ориентации на поле рисования. Например, если один элемент лежит в z-порядке под другим, то до первого элемента бывает сложно добраться. Или когда элемент имеет снятую галочку "Выбор", то этот элемент вообще перестает быть выбираем через щелчки мыши.
Именно для решения таких моментов и введен в программу список "Состав".

 


[Экроснимок списка "Состав". PNG1]

Все элементы диаграммы отображаются в z-порядке. Наверху списка наиболее верхние элементы поля рисования. Строки списка для текущих выбранных элементов поля рисования имеют синий фон. Строки списка для элементов поля рисования с отключенном флажком "Выбор" имеют спецкартинку подсказки.

Включение и выключение отображения списка выполняется командой "Правая панель" ленты команд

Случаи и примеры применения списка "Состав"

Выбор отключенного элемента

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

*) Такой элемент должен быть зрительно найден в списке, ориентируясь на спецкартинку;
*) Строка списка должна быть активована щелчком мыши;
*) На правой панели должны появится свойства отключенного элемента;
*) Работник должен установить флажок "Выбор";

 


[Экроснимок включения флажка "Выбор".GIF2]

Дальше элемент включается в очередь обработки щелчков как обычный элемент.

Доступ к элементу на заднем фоне

Если некий элемент №1 осознанно или случайно оказался на заднем фоне, то без списка элементов есть следующие варианты добраться до элемента №1. Это нажимать Tab клавишу (перебирая все элементы по очереди) или отодвинуть верхние элементы (потом их двигать обратно). Довольно неудобные способы, согласен.

Гораздо проще зрительно найти такой элемент в списке через его имя с ориентацией на z-порядок. Щелчком на строке списка выделяем элемент и автоматически на поле рисования на выбранный элемент должны установиться маркеры. После этого, нажатием Tab клавиши переключаемся на поле рисования и стрелочками клавиатуры можем двигать элемент, выводя его из-под верхних элементов.

 


[Экроснимок щелчка на списке и переключения Tab клавишей.GIF3]

Проброс типовых свойств в отображалку с ленты и панели

Настроен проброс типовых свойств в отображалку с ленты и правой панели.

Это можно использовать для проброса следующих свойств:
*) Свойства блока шрифта;
*) Цвета фона, линии, градиента;
*) Размеры;
*) Отступы и направление надписей;
*) Прозрачность;
*) Свойства блока рамка (толщина, скругления и прочие);
*) Текст комментария для разных целей;

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

Проброс предназначен для целей форматирования содержимого отображалки через привычные работнику управляторы. Например, вы сделали самодельный шаблон "Кнопка". Здорово !

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

 


[Экроснимок смены цвета фона на поле рисования.GIF4]

Установка типовых свойств работает при тяни-бросай шаблона на поле рисования Графита. Для этого достаточно в секции "ТиповыеСвойства" шаблона указать имя и значение типового свойства.

 


[Экроснимок типовых свойств в шаблоне.PNG5]

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

Изменение ширины отображалки при вводе текста

Добавлено изменение ширины шаблона в зависимости от размера вводимого текста.

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


[Экроснимок авторасширения отображалки при вводе текста.GIF6]

Данный эффект достигается следующим способом. Для отображалки установлена механика, которая автоматически считывает значения атрибутов "width" и "height" для корневого svg узла и запрещает делать размер отображалки меньше чем указанные размеры. Соответственно, при каждом изменении текста происходит перестроение содержимого отображалки, что вызывает механизм минимального размера и отображалка увеличивается. Удобство для разработчика шаблонов в том, что разработчик может сам в коде определить, какой текст будет автоматически расширять отображалку, а какой текст будет просто оттачиваться.

 


[Экроснимок параметров в атрибутах svg узла.PNG7]

Вкладка "ВидимыеСвойства" для отображалок на правой панели

В третьей части записок (//infostart.ru/public/1341861/) был упомянут механизм управляторов для отображалок. Если вкратце, то это элементы управления, которые предназначены для управления конкретной отображалкой. Состав управляторов для каждой отображалки описывается в xml тексте шаблона в разделе "ВидимыеСвойства". При изменении значения управлятора вызывается перестроение содержимого отображалки. При этом в алгоритме шаблонщика уже доступно новое значение управлятора из коллекции ЁТиповыеСвойства.ИмяУправлятора по имени управлятора из раздела ВидимыеСвойства.

Всего в Графите существует следующий набор управляторов:

*) Строка_Длина;
*) Текст__Строк;
*) Цвет;
*) ВыборИзСписка;
*) Радиокнопка;
*) Флажок;
*) Число_От_До_Шаг;
*) Картинка;

 


[Экроснимок шаблона с полным набором управляторов. PNG8]

Управлятор "Строка_Длина"

Однострочное поле ввода с максимальной длиной строки Длина.

Если Длина отсутствует, то такое поле не должно создаваться.

Если заполнен атрибут "ВыбранноеЗначение", то это значение должно быть установлено в поле ввода.

Управлятор "Текст_Строк"

Многострочное поле ввода высотой  в Строк строк.

Должен поддерживаться перевод строки.

Если строк введено больше Строк, то должен появляться бегунок справа.

Если Строк отсутствует, то такое поле не должно создаваться

Если заполнен атрибут "ВыбранноеЗначение", то это значение должно быть установлено поле ввода.

Управлятор "Цвет"

Цвет должен передаваться в шаблонщик как hex строка, которая хранится в xml формате.

Если заполнен атрибут "ВыбранноеЗначение", то это значение должно устанавливаться в поле ввода.

Управлятор "ВыборИзСписка"

Для составления элементов списка, строка "СтрокаЗначенияСвойства" должна быть разделена "СимволРазделенияЗначений" на массив подстрок.

Каждый элемент массива должен быть элементом списка.

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

Если заполнен атрибут "ВыбранноеЗначение", то это значение должно быть установлено поле ввода

Управлятор "Радиокнопка"

Для составления элементов выбора, строка "СтрокаЗначенияСвойства" должна быть разделена "СимволРазделенияЗначений" на массив подстрок.

Каждый элемент массива должен быть элементом выбора.

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

Если заполнен атрибут "ВыбранноеЗначение", то это значение должно быть установлено выбранным вариантом.

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

Управлятор "Флажок"

Если флажок установлен, то значение свойства должно возвращать = 1, иначе 0.

Если заполнен атрибут "ВыбранноеЗначение", то это значение должно быть установлено в поле флажка.

Управлятор "Число"

Если работник ввел число меньше От = при сходе отображаем От.

Если работник ввел число больше До = при сходе отображаем До.

Если формат описания отличается от указанного формата, то это свойство игнорировать.

Если заполнен атрибут "ВыбранноеЗначение", то это значение должно быть установлено в поле ввода, иначе От.

Управлятор "Картинка"

Должно открываться окно для выбора картинки.

Если заполнен атрибут "ВыбранноеЗначение", то это значение должно быть установлено в поле ввода.

Атрибут "ВыбранноеЗначение" всегда должен быть формата ИмяКартинки_1.png @Base64Картинки.

Для управлятора "Картинка" рядом с exe-файлом Графита должна быть папка "Espampas" (картинки - исп.).

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

 


[Экроснимок изменений видимых свойств и выбора картинки. GIF9]

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

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

Сглаживание текста

В один момент, мы, в kuzkov.info, задумались о более полном зрительном совпадении картинки на поле рисования и в обозревателе. В частности нас интересовало сглаживание текста. Особенно это касалось работы с расширенным набором шрифтов, которые без сглаживания были очень похожи друг на друга. После включения сглаживания обнаружилось, что наш движок отрисовки текста скорее размывает, чем сглаживает. Плюс мы работаем с основными шрифтами "Arial" (без засечек), "Times New Roman" (с засечками) которые и так и так похоже выглядят, только без сглаживания нет ряби от размытия.

 


[Экроснимок со сглаживанием и без сглаживания. PNG10]

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

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

На этом пока все.
Остаемся на связи !

Прототип набросок приказчик аналитик visio заказчик kuzkov.info Кузьков Графит svg шаблонщик

См. также

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий возможности работы с картинками из встроенного языка (Три в одном) + Обработка «Стандартизация картинок»

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

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

6000 руб.

16.01.2015    61973    43    59    

81

[Расширения] Динамическое управление видимостью и доступностью элементов форм (УФ) (8.3.6+)

Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    54603    16    21    

42

Управление дашбордами

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

2400 руб.

29.06.2020    16849    21    4    

35

Новогоднее оформление для 1С

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

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

27.12.2023    11039    757    elcoan    45    

106

Конструктор HTML, CSS и javascript

Инструментарий разработчика Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

2 стартмани

10.04.2023    9809    153    acces969    31    

119

Модель состояния для MVC

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    3868    kalyaka    4    

29

Табло очереди заказов на экран телевизора

WEB-интеграция Работа с интерфейсом Платформа 1С v8.3 1С:Розница 2 Платные (руб)

Связка из веб-приложения и расширения для 1С: Розница 2.3.

3600 руб.

29.04.2022    12230    1    5    

10

Условное оформление элементов форм в пользовательском режиме 1С (управление видимостью и доступностью элементов форм)

Работа с интерфейсом Платформа 1С v8.3 Платные (руб)

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

6000 руб.

18.01.2022    8901    1    2    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. пользователь 31.03.21 09:25
Сообщение было скрыто модератором.
...
2. пользователь 31.03.21 11:00
Сообщение было скрыто модератором.
...
Оставьте свое сообщение