Графит. Правщик 1С морд от kuzkov.info. 7. Работа с PNG форматом

28.03.21

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

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

Скачать исходный код

Наименование Файл Версия Размер
1.svg из развлекушки
.svg 36,75Kb
2
.svg 36,75Kb 2 Скачать бесплатно
2.svg из развлекушки
.svg 36,72Kb
1
.svg 36,72Kb 1 Скачать бесплатно

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

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

Отступление

В сем очерке будет писание о следующем:
*) Проблематика поиска шаблона svg формата;
*) Добавка в проводник для просмотра шаблона svg формата;
*) Сопряжение png и zip файлов;
*) Тяни-бросай png файлов;
*) Отказ от панели шаблонов;
*) Подкоманда быстрой png записи;
*) Флажок "Сохранять в картинку";
*) Развлекушка рисованием 1С морды с переходами;


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

Первая часть: //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/

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

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

Поиск решения для предсмотра svg файла начали в сторону добавок для виндового проводника. В результате хождения по интернету была найдена добавка https://github.com/tibold/svg-explorer-extension, на которую ссылалось несколько людей, тоже решающих сей вопрос. Перекрестившись, сия добавка была скачана и установлена. Содержимое svg файлов стало показываться, но только частично. Обрывки текстов, части фигур и прочее. В общем стало понятно, что сей путь в никуда и добавка была безотлагательно удалена.

После короткого мозгоштурма по структуре файлов растровых картинок и zip файлов было обнаружено, что чтение файлов сих форматов происходит разными алгоритмами (картинка обрабатывается с заголовка, а архив читается с метки).

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

Однако обнаружился нюанс, что в 1С такие картинки в поле "Картинка" не показываются. С учетом сего момента мы в Графите сделали два способа сохранения в png формат: с сохранением схемы внутри png и без схемы (чистая png картинка).

 


[Экроснимок сохранения в png файл со схемой и без схемы. GIF1]

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

Тяни-бросай png на поле рисования из виндового проводника

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

Отказ от панели шаблонов

Следующим шагом было переосмысление левой панели шаблонов (описана в четвертом очерке //infostart.ru/public/1353926/).

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

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

Для быстрого доступа к избранным папкам с шаблонами, работник может создать простую добавку с путем к нужной папке. Для сего делаем файл с именем Номер.Имя.bat и содержимым для запуска проводника с открытием папки. Данный файл добавки кладем в папку "Добавки" рядом с exe-файлом Графита.

 


[Экроснимок кода запуска проводника к папке. PNG2]

Теперь, при запуске Графита, данная команда будет доступна через подменю "Добавки" и при щелчке на сей подкоманде будет открываться указанная папка. Из открывшейся папки можно перетаскивать шаблоны на поле рисования.

 


[Экроснимок запуска проводника к папке.GIF3]

Подкоманда "Куда-то быстро записать png и путь в буфер"

В подкоманды быстрого сохранения добавлена подкоманда "Куда-то быстро записать png и путь в буфер".
Сия подкоманда создает рядом с exe-файлом Графита папку "Temp" и кладет в нее png файл с именем текущей даты и встроенной схемой. Пример применения описан в шестом очерке (//infostart.ru/1c/articles/1391443/) ближе к концу.
Там файл svg аналогично сохраняется и прикладывается к задаче в задачнице Мантис с повторной правкой и загрузкой.

Флажок "Сохранять в картинку"

По ходу работы над png форматом была написана обвязка для галочки "Сохранять в картинку".

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

Аналогично элемент отсутствует при копировании схемы в буфер как картинки. Например, для вставки в беседу в общалке "Скайп" или в сторонний правщик картинок.

 


[Экроснимок записи и копирования в картинку. GIF4]

Развлекушка рисованием 1С морды с кнопками перехода

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

Нарисовано в Графите, работает в любом обозревателе.

 


[Экроснимок переключения экранов в обозревателе. GIF5]

Для просмотра на весь экран без сужения можно щелкнуть правой кнопкой в обозревателе на картинке и выбрать команду "Открыть картинку в новой вкладке".

Если немного включить фантазию, то можно сделать шаблоны html элементов и аналогично зрительно верстать веб-странички. Например, взять набор https://semantic-ui.com/. Но это уже совсем другая история :)

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

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

См. также

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

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

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

6000 руб.

16.01.2015    62073    43    59    

81

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

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

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

5000 руб.

14.01.2016    54675    16    21    

42

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

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

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

2400 руб.

29.06.2020    16898    22    4    

36

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

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

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

27.12.2023    11145    760    elcoan    45    

106

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

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

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

2 стартмани

10.04.2023    9879    153    acces969    31    

119

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

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

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

1 стартмани

05.07.2022    3934    kalyaka    4    

29

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

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

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

3600 руб.

29.04.2022    12283    1    5    

10

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

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

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

6000 руб.

18.01.2022    8944    1    2    

6
Оставьте свое сообщение